API를 통한 헤이홈 OpenAPI 토큰 발급 가이드 문서입니다.

목차

토큰 발급에 필요한 암호화 작업


인증 토큰을 획득하기 위해서는 사용자 정보를 암호화한 후, 암호화된 문자열을인증 토큰 획득 API의 data 필드에 기입해야 합니다.

⚠️ 주의사항

AES-256으로 암호화 한 후, Base64UrlSafe 형태로 암호화된 값이 필요합니다. Java가 아닌 다른 언어인 경우 참고해서 개발을 진행해주세요.

샘플 코드에서 수정되어야 하는 항목은 다음과 같습니다. 샘플코드를 알맞게 편집하여 사용해주세요.

Name Description
appKey 헤이홈으로부터 발급받은 개별 key
client_id 헤이홈으로부터 발급받은 client_id
client_secret 헤이홈으로부터 발급받은 client_secret
username 헤이홈 회원 ID, 이메일 혹은 전화번호 형태
password 헤이홈 회원 PW

Sample code (Java, 권장)

Sample code (Python)

Encrypted data

uv9vaVjvDBX0VLwDGoij-7HE9jaC0Y1yajQ59QitZZCddFAMdeZaWR2A3mmB4soFtRPxWSwTXrkwztWm2b0kpbxGvZ-ekVFXms0zdZx_GiWAYZ8_Qm1S-U3QCJVfbHsvK1hSTqfQriFN5O-TtlN8GiaCm3ghHgWZYjY5MLzF6gw804kYzyFoqyNtNFKeDhV-e0vmZaRGbZ_eeFUIG_3F8zlxHH5AkTdoqKrfoZta6qQ=

인증 토큰 획득


암호화된 문자열을 통해 Access/Refresh 토큰을 획득합니다.

Request

URL

POST /openapi/token
Host: goqual.io

RequestBody

Name Value 설명 Required
data 암호화 데이터 인증 정보 AES256 암호화 yes

Response

Name Type 설명
access_token String access token
token_type String 타입
refresh_token String refresh token
expires_in Int access token 토큰 만료 시간 (s)
scope String 고정값

Sample

Request

POST /openapi/token

{
    "data": "uv9vaVjvDBX0VLwDGoij-7HE9jaC0Y1yajQ59QitZZCddFAMdeZaWR2A3mmB4soFtRPxWSwTXrkwztWm2b0kpbxGvZ-ekVFXms0zdZx_GiWAYZ8_Qm1S-U3QCJVfbHsvK1hSTqfQriFN5O-TtlN8GiaCm3ghHgWZYjY5MLzF6gw804kYzyFoqyNtNFKeDhV-e0vmZaRGbZ_eeFUIG_3F8zlxHH5AkTdoqKrfoZta6qQ="
}

Response

200 OK

{
    "access_token": "a7a200ea-0b84-4750-9024-ba17e3acb4f4",
    "token_type": "bearer",
    "refresh_token": "41c9cfe8-3b29-48bf-910f-451f2e43dbdc",
    "expires_in": 15551999,
    "scope": "openapi"
}

인증 토큰 갱신


인증받은 토큰을 갱신합니다. refresh_token이 담긴 문자열을 암호화하는 사전 작업이 필요합니다.

⚠️ 주의사항

토큰 발급에 필요한 암호화 작업 에서 암호화한 양식과 다르게 refresh_token을 작성해야 합니다. Sample code를 확인해주세요.

Sample code (Java)

Sample code (Python)

Encrypted data

uv9vaVjvDBX0VLwDGoij-7HE9jaC0Y1yajQ59QitZZCddFAMdeZaWR2A3mmB4soFtRPxWSwTXrkwztWm2b0kpbxGvZ-ekVFXms0zdZx_GiWAYZ8_Qm1S-U3QCJVfbHsvK1hSTqfQriFN5O-TtlN8GtTq0jtNwUI586eHTpe6UTwWL9RwXTXTgxcI0dfQYa30MrkvV11pr5r1rT_35lImm1INd8OC1-gLuyPQF8eMYHi82pM2trwzXiHwEio-9BNC

Request

URL

POST /openapi/token/refresh
Host: goqual.io

RequestBody

Name Value 설명 Required
data 암호화 데이터 인증 정보 AES256 암호화 yes

Response

“/openapi/token/refresh”을 요청할 때 마다 refresh_token 값과 만료기한(360일)이 갱신됩니다.

Name Type 설명
access_token String access token
token_type String 타입
refresh_token String refresh token
expires_in Int access token 토큰 만료 시간 (s)
scope String 고정값

Sample

Request

POST /openapi/token/refresh

{
    "data": "uv9vaVjvDBX0VLwDGoij-7HE9jaC0Y1yajQ59QitZZCddFAMdeZaWR2A3mmB4soFtRPxWSwTXrkwztWm2b0kpbxGvZ-ekVFXms0zdZx_GiWAYZ8_Qm1S-U3QCJVfbHsvK1hSTqfQriFN5O-TtlN8GtTq0jtNwUI586eHTpe6UTwWL9RwXTXTgxcI0dfQYa30MrkvV11pr5r1rT_35lImm1INd8OC1-gLuyPQF8eMYHi82pM2trwzXiHwEio-9BNC"
}

Response

200 OK

{
    "access_token": "a7a200ea-0b84-4750-9024-ba17e3acb4f4",
    "token_type": "bearer",
    "refresh_token": "1198b6a6-9fd9-4d47-aebe-b98ab16c5eb6",
    "expires_in": 15551999,
    "scope": "openapi"
}