_2021년 4월 21일 (Ver 0.3) update for Wooribank API_Hackathon
해외송금 API서비스 관련 설명서
본 문서는 우리은행의 해외송금 API 연동을 통하여 해외송금 서비스를 활용하는데 필요한 연동 규격을 설명한다.
POST /oai/wb/v1/finance/getIndivAllAccInfo
{
"dataHeader": {},
"dataBody": {
"BAS_XRT": "001120.90",
"CUS_APL_XRT": "001141.60",
"XRT_PRME_RT": "050.000",
"CUCD": "USD",
"RMT_FC_AM": "8287.000",
"RMT_KRW_AM": "423935",
"TLGFE": "0.000",
"RMT_FEE": "0.000",
"FEE_TRFE": "0.000",
"FEE_CSH_AM": "0.000",
"RMTPE_KORL_NM": "홍길동",
"RMTPE_NM_ENG": "GILDONG HONG",
"RMTPE_TEL_NO": "08112345678",
"RMTPE_ADR_1_MSTX": "8502 ooo SUNG APT25 DONG000HOSeocho",
"RMTPE_ADR_2_MSTX": "dong Seocho-g",
"RNPE_NM_MSTX": "NAEMEEE",
"RNPE_ENCY_ACNM_NO": "",
"RNPE_ACT_MSTX": "",
"RNPE_TEL_NO": "001111111111",
"RNPE_ADR_1_MSTX": "155",
"RNPE_ADR_2_MSTX": "Ulti City Sanhose",
"RNPE_ADR_3_MSTX": "CA 00000 USA",
"RMT_PTN_NACD": "USA",
"STLBK_DEPO_CD": "020112",
"RCVG_BK_BIC_CD": "",
"RCVG_BK_NM_MSTX": "",
"RCVG_BK_ADR_1_MSTX": "Sanhose Bank of America",
"RCVG_BK_ADR_2_MSTX": "",
"RCVG_BK_ADR_3_MSTX": ""
}
}
우리은행 오픈API 연동 방식은 REST(Representational State Transfer) 방식에 따라 구현한다. HTTP Method 및 리소스에 대한 URL에 따라 Request와 Response 데이터 타입은 JSON을 사용한다. 또한 HTTP 1.1 Spec 규격을 따른다.
우리은행 오픈API 서비스의 Request URL은 다음과 같다.
{HTTP_METHOD} http(s)://{host}:{port}/{directory}/{anyResource}?{Query}
항목 | 설명 | 비교 |
---|---|---|
http://{host}:{port} | Host Address와 port | |
/{directory} | Resource | /api/v1 |
/{anyResource}?{Query} | {anyResource}: Logical resource {Query}: Parameter |
※ 모든 데이터는 URL Encoding하여 전송해야 한다.
우리은행의 오픈API 서비스는 기본적으로 자원 요청에 의해 리턴 되는 JSON(Content-Type: application/json) 및 HTML(Content-Type: text/html) Type만 사용한다.
목록 및 상세정보 제공은 GET HTTP Method를 사용하며 수정은 PUT, PATCH를 사용하고 생성은 POST를 사용하고 삭제는 DELETE HTTP Method를 이용한다.
HTTP Method | Action | 설명 | 비고 |
---|---|---|---|
GET | Read | 리소스 획득 | |
PUT | Update/Modify | 리소스 변경 | |
POST | Create/New | 리소스 생성 | |
DELETE | Delete | 리소스 삭제 |
※ 필요에 따라 HTTP Method는 변경될 수 있음.
우리은행 오픈API는 등록된 사용자 여부를 확인 하기 위하여 “appKey”와 “secretKey”를 HTTP Header에 적용하여야 하며, 인증은 OAuth 2.0을 지원하고 있다.
GET /oap/wb/v2/oauth/tokencheck HTTP/1.1
…
Content-Type: Applicatin/x-www-form-urlencoded
appKey: <APP Key>
Authorization: Bearer <Access Token>
hashVAL: <JSON Data Hash Value>
…
JSON Format인 경우 다음과 같다 JSON tag의 순서는 연동규격에 작성된 순서와 다를 수 있다.
{
“dataHeader”: {
…
},
“dataBody”: {
…
},
}