์ฃผ์๊ธฐ๋ฐ์ฐ์
์ง์์๋น์ค API
์ฃผ์๊ธฐ๋ฐ์ฐ์
์ง์์๋น์ค๋ฅผ ํตํด API ์น์ธํค๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํฌ๊ฒ ์น์ธํค ๋ฐ๊ธ ๊ณผ์ ๊ณผ API ํ์ฉ ๋ฐฉ์(ํ์
API vs ๊ฒ์ API)์ผ๋ก ๋๋ฉ๋๋ค.
1. ์น์ธํค(API Key) ๋ฐ๊ธ ๋ฐฉ๋ฒ
์ฌ์ดํธ ์ ์ ๋ฐ ๋ก๊ทธ์ธ
- ์ฃผ์๊ธฐ๋ฐ์ฐ์
์ง์์๋น์ค(business.juso.go.kr) ๋๋ ๋๋ก๋ช
์ฃผ์ ์๋ด์์คํ
(juso.go.kr) ๋ด ๊ฐ๋ฐ์์ผํฐ์ ์ ์ํฉ๋๋ค.
- ์ํํ ์๋น์ค ์ด์ฉ์ ์ํด ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ์ ์งํํฉ๋๋ค.
API ์ ์ฒญ ๋ฉ๋ด ์ด๋
- ์๋จ ๋ฉ๋ด์์ [์ฃผ์์ ๋ณด API ์ฐ๊ณ]๋ฅผ ์ ํํ ํ [API ๋ชฉ๋ก]์ผ๋ก ์ด๋ํ๊ฑฐ๋ ๋ฉ์ธ ํ๋ฉด์ [API ์๋น์ค ์ ์ฒญํ๊ธฐ]๋ฅผ ํด๋ฆญํฉ๋๋ค.
API ์ข
๋ฅ ์ ํ
- ์๋น์ค์ ์ ์ฉํ API ๋ฐฉ์์ ์ ํํฉ๋๋ค. (๋๋ก๋ช
์ฃผ์ ํ์
API, ๊ฒ์ API, ์๋ฌธ์ฃผ์ API ๋ฑ)
์์คํ
์ ๋ณด ์
๋ ฅ ๋ฐ ๋ฐ๊ธ
- ์์คํ
๋ช
, ์ฌ์ฉ ๋ชฉ์ , ์๋น์ค URL(๋๋ IP) ๋ฑ ํ์ ์ ๋ณด๋ฅผ ์
๋ ฅํฉ๋๋ค.
- ์ ๋ณด ์
๋ ฅ ์๋ฃ ํ ์ ์ฒญํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ์ฆ์ ์น์ธํค(confmKey)๊ฐ ๋ฐ๊ธ๋ฉ๋๋ค.
์ฐธ๊ณ : ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ๋ผ๋ฉด ๋ณธ์ธ ์ธ์ฆ์ด๋ URL ์
๋ ฅ ์์ด ์ฌ์ฉ ๊ธฐ๊ฐ์ด ์ ํ๋ ๊ฐ๋ฐ์์ฉ ํ
์คํธ ์น์ธํค(7์ผ/30์ผ/90์ผ)๋ฅผ ๋ฐ๊ธ๋ฐ์ ๋ฐ๋ก ํ
์คํธํด ๋ณผ ์ ์์ต๋๋ค.
2. ์น์ธํค ํ์ฉ ๋ฐฉ๋ฒ
๋ฐ๊ธ๋ฐ์ ์น์ธํค๋ ์ ํํ API ์ ํ์ ๋ฐ๋ผ ํ์ฉ ๋ฐฉ์์ด ๋ค๋ฆ
๋๋ค. ๊ฐ์ฅ ๋ํ์ ์ผ๋ก ๋ง์ด ์ฐ์ด๋ ๋ ๊ฐ์ง ๋ฐฉ์์ ํ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
A. ํ์
API (UI ์ ๊ณตํ)
ํ์ ์์ ๋ถ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋ ์ฃผ์ ๊ฒ์ ์ฐฝ(ํ์
)์ ๋์์ ์ฌ์ฉ์๊ฐ ์ฃผ์๋ฅผ ๊ฒ์ ๋ฐ ์ ํํ๋ฉด, ๊ทธ ๊ฒฐ๊ด๊ฐ์ ๋ด ์์คํ
์ผ๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ์์
๋๋ค. UI ๊ฐ๋ฐ ๋ถ๋ด์ด ์์ด ๊ตฌ์ถ์ด ๋น ๋ฆ
๋๋ค.
์ ์ฉ ๋ฐฉ๋ฒ:
- ๊ฐ๋ฐ์์ผํฐ์์ ์ ๊ณตํ๋ ๊ฐ๋ฐ ์ธ์ด๋ณ(JSP, PHP, ASP) ๊ฐ์ด๋ ๋ฐ ์ํ ์์ค๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
- ๋ค์ด๋ก๋ํ ์์ค ์ฝ๋ ์ค ํ์
์ฐฝ์ ํธ์ถํ๋ ๊ธฐ๋ณธ ์ค์ ํ์ผ(์: jusoPopup.jsp, jusoPopup.php ๋ฑ)์ ์ฝ๋๋ค.
- ์ฝ๋ ๋ด์ ์๋ confmKey ๋ณ์ ๊ฐ์ ๋ฐ๊ธ๋ฐ์ ์น์ธํค๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํฉ๋๋ค.
- ์ฃผ์ ๊ฒ์ ์๋ฃ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ๋ฐ์ ๋ด ์๋ฒ์ ํ์ด์ง ๊ฒฝ๋ก๋ฅผ returnUrl ๋ณ์์ ์ค์ ํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ํ์
์์ ์ฃผ์๋ฅผ ๊ฒ์ํ์ฌ ์ ํํ๋ฉด, ์ค์ ํ returnUrl๋ก ์ ์ฒด ๋๋ก๋ช
์ฃผ์, ์ง๋ฒ, ์ฐํธ๋ฒํธ, ์์ธ์ฃผ์ ๋ฑ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋ฉ๋๋ค.
B. ๊ฒ์ API (๋ฐ์ดํฐ ์ฐ๋ํ)
๊ฐ๋ฐ์๊ฐ ์ง์ ์ฃผ์ ๊ฒ์ ํ๋ฉด์ ๋์์ธํ๊ณ , ํ์๋ถ ์๋ฒ์๋ ๊ฒ์ ์์ฒญ๋ง ๋ณด๋ด ๊ฒฐ๊ด๊ฐ(XML ๋๋ JSON)์ ๋ฐ์ดํฐ๋ก๋ง ๋ฐ์ ํ๋ฉด์ ๊ทธ๋ ค์ฃผ๋ ๋ฐฉ์์
๋๋ค.
์ ์ฉ ๋ฐฉ๋ฒ:
- ํด๋ผ์ด์ธํธ(์น/์ฑ) ๋๋ ์๋ฒ๋จ์์ ํ์๋ถ API ์๋ฒ URL๋ก HTTP ์์ฒญ(GET/POST)์ ๋ณด๋
๋๋ค.
- ์์ฒญ URL: https://business.juso.go.kr/addrlink/addrLinkApi.do
- API ํธ์ถ ์ ์๋์ ํ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํจ๊ป ์ ๋ฌํด์ผ ํฉ๋๋ค.
- confmKey: ๋ฐ๊ธ๋ฐ์ ๊ฒ์ API ์น์ธํค
- keyword: ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ฃผ์ ๊ฒ์์ด (์: "์ธ์ข
๋๋ก 209")
- currentPage: ํ์ฌ ํ์ด์ง ๋ฒํธ
- countPerPage: ํ์ด์ง๋น ์ถ๋ ฅํ ๊ฒฐ๊ณผ ์
- resultType: ๋ฐํ ํ์ (json ๋๋ xml)
ํ์๋ถ ์๋ฒ๋ก๋ถํฐ JSON์ด๋ XML ํ์์ผ๋ก ๊ฒ์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ์๋ต๋๋ฉด, ์ด๋ฅผ ํ์ฑ(Parsing)ํ์ฌ ์์ฒด์ ์ผ๋ก ๋ง๋ UI ๋ฆฌ์คํธ์ ์ถ๋ ฅํ์ฌ ์ฌ์ฉํฉ๋๋ค.
๐ก ์ ์์ฌํญ
API ํค ๊ต์ฐจ ์ฌ์ฉ ๋ถ๊ฐ: ํ์
API์ฉ์ผ๋ก ๋ฐ๊ธ๋ฐ์ ์น์ธํค๋ฅผ ๊ฒ์ API์ ์ฌ์ฉํ๊ฑฐ๋, ๊ทธ ๋ฐ๋๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ "์น์ธํค๊ฐ ์ผ์นํ์ง ์์ต๋๋ค"๋ผ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋์ ์ ์ฒญํ ์ ํ์ ๋ง๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ฐฉํ๋ฒฝ ์ค์ : ์ฌ๋ด๋ง ๋ฑ ํ์์ ์ธ ๋คํธ์ํฌ ํ๊ฒฝ์์ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ ํ์๋ถ API ์๋ฒ IP ๋ฐ ํฌํธ(80, 443)์ ๋ํด ์์๋ฐ์ด๋ ๋ฐฉํ๋ฒฝ ์คํ์ด ํ์ํ ์ ์์ต๋๋ค.