전국 약국 정보 조회 서비스: https://www.data.go.kr/dataset/15000576/openapi.do
공적마스크 웹을 쓰다보니 불편한게 생겼다
바로.. 평일에 구입을 못하면 토요일에 가하는데
재고가 많다고 해서 갔더니 약국이 문을 닫는 경우...
그래서 검색하다보니
휴일지킴이 약국: https://pharm114.or.kr
참고로 대한약사회에서 제공하는 휴일지킴이약국 이란 사이트도 있다
당번약국 조회하기에는 여기가 편할 듯
당번약국조회하려는게 아니니 API를 통해 약국 운영시간을 마스크웹에서 확인할 수 있게 해보기로 했다
참고문서: NIA-IFT-OpenAPI활용가이드-01.국립중앙의료원-약국정보조회서비스.hwp
NO | 상세기능 | 설명 | 일일 트래픽 |
1 | 약국 FullData 내려받기 | 전체 약국의 진료요일 등의 정보를 조회하는 약국 FullData 내려받기 기능제공 | 1000000 |
2 | 약국별 기본정보 조회 | 약국별 상세정보를 조회할 수 있다. | 1000000 |
3 | 약국 위치정보 조회 | 약국 위치정보를 경도/위도별 반경내 정보를 조회할 수 있다. | 1000000 |
4 | 약국 목록정보 조회 | 약국 정보를 시도/시군구/진료일자별 조회할 수 있다 | 1000000 |
위치정보를 이용해서 마스크 재고API 호출할때 같이 쓰면 될까 했는데
CORS(Cross-Origin Resource Sharing) 정책 위반이라고 안된다
JSONP를 쓰면 XML로 응답이 오니까 에러가 발생한다
편법의 편법을 쓰면 사용하는데는 문제없겠지만...
일단 데이터를 수집해보기로
No | 능서비스명(국문) | 서비스명(영문) |
1 | 약국 FullData 내려받기 | getParmacyFullDown |
2 | 약국별 기본정보 조회 | getParmacyBassInfoInqire |
3 | 약국 위치정보 조회 | getParmacyLcinfoInqire |
4 | 약국 목록정보 조회 | getParmacyListInfoInqire |
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
서비스키 | ServiceKey | 4 | 옵션 | - | 공공데이터포털에서 받은 인증키 |
페이지 번호 | pageNo | 4 | 옵션 | 1 | 페이지번호 |
한 페이지 결과 수 | numOfRows | 4 | 옵션 | 10 | 한 페이지 결과 수 |
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
결과코드 | resultCode | 2 | 필수 | 00 | 결과코드 |
결과메시지 | resultMsg | 50 | 필수 | OK | 결과메시지 |
한 페이지 결과 수 | numOfRows | 4 | 필수 | 10 | 한 페이지 결과 수 |
페이지 번호 | pageNo | 4 | 필수 | 1 | 3 |
전체 결과 수 | totalCount | 4 | 필수 | 3 | 전체 결과 수 |
일련번호 | rnum | 10 | 필수 | 1 | item 번호 |
주소 | dutyAddr | 200 | 필수 | 서울특별시 강남구 일원동50 (일원로81) | 주소 |
비고 | dutyEtc | 200 | 옵션 | 외래진료시간은 진료과목별 운영 | 비고 |
기관설명상세 | dutyInf | 300 | 옵션 | - | 기관설명상세 |
간이약도 | dutyMapimg | 100 | 옵션 | - | 간이약도 |
기관명 | dutyName | 100 | 필수 | (사)삼성생명공익재단 삼성서울병원 | 기관명 |
대표전화1 | dutyTel1 | 14 | 필수 | 02-3410-2114 | 대표전화1 |
진료시간(월요일)C | dutyTime1c | 4 | 옵션 | 1530 | 진료시간(월요일)C |
진료시간(화요일)C | dutyTime2c | 4 | 옵션 | 1530 | 진료시간(화요일)C |
진료시간(수요일)C | dutyTime3c | 4 | 옵션 | 1530 | 진료시간(수요일)C |
진료시간(목요일)C | dutyTime4c | 4 | 옵션 | 1530 | 진료시간(목요일)C |
진료시간(금요일)C | dutyTime5c | 4 | 옵션 | 1530 | 진료시간(금요일)C |
진료시간(토요일)C | dutyTime6c | 4 | 옵션 | 1530 | 진료시간(토요일)C |
진료시간(일요일)C | dutyTime7c | 4 | 옵션 | 1530 | 진료시간(일요일)C |
진료시간(공휴일)C | dutyTime8c | 4 | 옵션 | 1530 | 진료시간(공휴일)C |
진료시간(월요일)S | dutyTime1s | 4 | 옵션 | 0830 | 진료시간(월요일)S |
진료시간(화요일)S | dutyTime2s | 4 | 옵션 | 0830 | 진료시간(화요일)S |
진료시간(수요일)S | dutyTime3s | 4 | 옵션 | 0830 | 진료시간(수요일)S |
진료시간(목요일)S | dutyTime4s | 4 | 옵션 | 0830 | 진료시간(목요일)S |
진료시간(금요일)S | dutyTime5s | 4 | 옵션 | 0830 | 진료시간(금요일)S |
진료시간(토요일)S | dutyTime6s | 4 | 옵션 | 0830 | 진료시간(토요일)S |
진료시간(일요일)S | dutyTime7s | 4 | 옵션 | 0830 | 진료시간(일요일)S |
진료시간(공휴일)S | dutyTime8s | 4 | 옵션 | 0830 | 진료시간(공휴일)S |
기관ID | hpid | 10 | 필수 | A0000028 | 기관ID : 동일테이블에 기관명을 포함하고 있음 |
우편번호1 | postCdn1 | 3 | 필수 | 135 | 우편번호1 |
우편번호2 | postCdn2 | 3 | 필수 | 750 | 우편번호2 |
병원경도 | wgs84Lon | 30 | 필수 | 127.0851566 | 병원경도 |
병원위도 | wgs84Lat | 30 | 필수 | 37.48813256 | 병원위도 |
결과값 항목이 매우 많다
근데 이상하게도 현재페이지는 반환하면서 전체 페이지 수는 안준다
페이지결과수 / 전체건수로 잔여페이지수를 계산 해야한다
게다가 옵션값들은 응답 XML에 포함되지 않는 경우가 존재하니
XML 파서를 이용하면 에러가 날수 있으니 그부분도 신경써줘야 한다...
약국정보를 이용한건 좋은데 아무래도 관리주체가 다르니 코드가 다른건 어쩔수 없는듯 하다...
대충 20만건정도? 약국 운영시간을 확인 할 수 있도록 해봤는데
현재위치를 가지고 시도에 해당하는 json 파일로 불러오도록 했는데 이것도 일이다...
공공데이터API - 보건복지부_코로나19 감염_현황 (2) | 2020.07.14 |
---|---|
공공데이터API - 한국천문연구원 특일 정보(공휴일, 국경일) (0) | 2020.04.26 |
[API폐지]공공데이터포털: 건강보험심사평가원 공적 마스크 판매 정보 / 공적 마스크 판매 현황 조회 API (0) | 2020.03.12 |
기상청 OPEN API 35종 폐기 및 대체 서비스안내 (0) | 2020.02.01 |
공공데이터API - 전국문화축제표준데이터 (0) | 2018.09.11 |
댓글 영역