공공 데이터 포털에서 제공하는 open api를 사용하는 방법 (django 사용)
GET 방식으로 요청을 해서 데이터를 얻어오는 경우가 많지만,
POST 방식으로 데이터를 보내고 우리가 원하는 데이터가 있는지 조회하는 등의 서비스도 가능하다
국세청에서 제공하는 사업자등록정보 api를 사용하여 사업자등록정보 진위 확인을 수행해보자.
https://www.data.go.kr/data/15081808/openapi.do
국세청_사업자등록정보 진위확인 및 상태조회 서비스
국세청에서 제공하는 사업자등록정보 진위확인 및 사업자등록 상태조회 API 서비스입니다.
www.data.go.kr
*코드 구현을 하기 전에 원하는 api를 제공하는 사이트에서 활용 신청을 하여 인증키를 발급받아야 합니다.*
requests 모듈을 사용할 예정인데, requests 모듈은 기본 내장 모듈이 아니기 때문에 따로 설치를 해주어야 한다.
우선 requests 모듈을 사용하기 위해 install을 해준다.
pip install requests
설치한 requests 모듈을 import 해주고, json 형식을 사용할 예정이기 때문에 import json도 해준다.
import requests
import json
key="발급받은 인증키"
url = "http://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey={}&returnType=JSON".format(key)
headers = {'Content-type':'application/json; charset=utf-8'}
data = {
"businesses": [
{
"b_no": "사업자등록번호",
"start_dt": "개업일자",
"p_nm": "대표자성명",
"p_nm2": "",
"b_nm": "",
"corp_no": "",
"b_sector": "",
"b_type": ""
}
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
res = response.json()
views.py에 해당 코드가 들어있는 함수를 정의해주고
html 파일에서 form을 통해 받아온 데이터를 post 방식으로 전달 후 그에 대한 결과를 res 변수에 받아 사업자 등록 번호 진위 확인 기능을 구현하였다.
'Django' 카테고리의 다른 글
초기에 필요한 데이터가 있을 때 (seeding) (0) | 2022.01.13 |
---|---|
Django Pagination 구현하기 (0) | 2021.09.03 |
데이터 유효성 검사 (0) | 2021.08.30 |
model form (0) | 2021.08.30 |
폼(Form)이란? (0) | 2021.08.29 |
댓글