개발가이드
OAuth 2.0
HYPHEN은 공개 API의 인증을 위해서 OAuth 2.0 프로토콜 사용을 권장하고 있습니다.
- User_ID(회원계정)와 발급받은 HKey를 사용하여 HYPHEN 서버로 요청하시면, Access_Token을 발급받으실 수 있습니다.
- 발급받은 Access_Token은 HYPHEN API 호출 시, HTTP 헤더에 포함되어야 합니다.
- 만약 제 3자가 HYPHEN 기업고객의 User_ID와 보안키를 획득하면 보안문제가 발생할 수 있습니다. 따라서 Access_Token은 반드시 서버에서 이뤄져야합니다.
유효기간
- Access_Token은 일주일(7일)간 유효하므로 글로벌변수에 저장하여 재사용하는 것을 권장합니다.
- Access_Token이 만료되면, User ID, Hkey, 정보를 요청하여 재발급이 필요합니다.
- API 호출시마다, Access_Token을 새로발급받는 것은 너무 많은 리소스가 사용될 우려가 있습니다.
OAuth 2.0의 표준 권한 승인 방법
- (a) 서버(Server)와 클라이언트(Client)사이에 인증을 완료하면 권한 부여의 기능을 수행하는 엑세스 토큰*(Access_Token)을 증표로 전달
- (b) 클라이언트(Clinet)는 이 엑세스 토큰으로 보호된 자원(Protected Resource)에 접근하거나 서비스를 요청할 수 있음
- (c) 자원 서버(Resource Server)는 엑세스 토큰(Access_Token)을 기반으로 권한을 확인 후, 결과를 클라이언트에게 다시 보냄
- * 엑세스 토큰(Access Token)
-
보호된 자원에 접근하거나 서비스를 요청할 때, 클라이언트의 권한을 대표하여 확인용으로 사용함.
엑세스 토큰 하나로 계정 인증에 필요한 모든 것들을 확인할 수 있음
Endpoint
https://api.hyphen.im/oauth/token (post)
Request Header 예시
{
"Content-Type": "application/json"
}
Request Body 예시
{
"user_id": "hyphentest"
"hkey": "발급받은 Hkey"
}
Response Body 예시 (application/json)
{
"access_token": "075a2d84-dab4-983e-a103-efb5d782b874",
"token_type": "bearer",
"expires_in": 603638,
"scope": "read"
}
Oauth 토큰을 발급받았다면 헤더에 user-id와 Hkey 세팅을 할 필요없이 토큰만으로 API 통신이 가능합니다.
Ex) Bearer + 발급받은 토큰
기존(User ID + Hkey 인증)
Header
{
"user-id": "hyphentest",
"hkey": "발급받은 Hkey"
}
Body
{
"data1": "data",
"data2": "data"……
}
토큰 발급 후 (Oauth 인증)
Header
{
"Authorization": "Bearer 84bde070-f5d8-4cda-b2c5-a0c……"
}
Body
{
"data1": "data",
"data2": "data"……
}
개요
API를 사용하면 상품에 따라 엔드 유저의 데이터를 사용할 수 있습니다.
API는 2가지 형태로 제공됩니다. 개인 사용자 API와 기업 사용자(개인 사업자, 법인 사업자) API입니다.
같은 API임에도 각 기관에서 요구하는 데이터와 제공하는 데이터가 다릅니다. 이 내용을 API문서에 정리했습니다.
하이픈 코드집
은행, 시군구, 세목 등 요청에 필요한 기관코드를 모두 확인할 수 있으며, 상품별로 사용가능한 코드도 확인할 수 있습니다.
기관코드 및 호출 예시
Body 입력 값에 기관코드를 입력하여 호출합니다.
코드 | 기관명 |
---|---|
01 | 한국은행 |
03 | 산업은행 |
04 | 기업은행 |
11 | 국민은행 |
12 | 수협은행 |
13 | 수출입은행 |
18 | NH농협은행 |
19 | 지역 농.축협 |
21 | 우리은행 |
01 | 제일은행 |
코드예시
{
"bank_cd": "011",
"acct_no": "110000000000",
"acct_nm": “홍길동",
"id_no": "900101",
"amount": ""
}