Search

제휴사 OPEN API 명세

외부 유출에 주의 부탁드립니다.
Last Updated Date 2026-01-09

제휴사 → 토스 API

토스가 제휴사에 제공하는 API 입니다.
개발가이드가 수시로 업데이트 됩니다. 사전 예고없이 업데이트 될 수 있으니 지속적으로 확인해 주시길 부탁드립니다.
상위호환성을 고려하여 개발 부탁드립니다.

Host

https://facepass.toss.im
live, dev 모두 위 호스트로 접근하시면 됩니다.
client_id와 client_secret는 환경별로 각각 발급해드립니다.

Authorization

1.
Access Token 발급
b.
위 문서 참고해주시면 됩니다
c.
client_id와 client_secret은 따로 공유드리도록 하겠습니다
2.
api-public*.toss.im 서버에 HTTP 요청시 Authorization header에 Bearer {{발급된 access token}} 형식으로 요청해주시면 됩니다

Response 형식

모든 응답은 아래 형식을 가지며, 아래 API 명세에 기술되어있는 응답은 success 객체의 타입을 나타냅니다.
정상 처리시 (실패 포함) Response Code는 200으로 고정되며 400/500 일 경우에는 연동/개발상 오류를 의미합니다.
name
type
description
required
resultType
“SUCCESS” | “FAIL”
성공 여부
true
success
Object
성공 시 성공 응답
false
error
ErrorObject
실패 시 실패 사유 객체
false
error.errorCode
String
실패 코드
true
error.reason
String
실패 사유 메시지
true
error.*
-
deprecated 된 fields
-

성공 시 예시

{ "resultType": "SUCCESS", "success": { "test": true } }
JSON
복사

실패 시 예시

{ "resultType": "FAIL", "success": null "error": { "errorCode": "DUPLICATED_USERKEY", "reason": "userKey 중복" } }
JSON
복사

RSA Public Key 조회 API

Request

Method: POST
URL: /api/v1/rsa-public-key
Consume: application/json

Response

Produce: application/json
Response Fields:
name
type
description
required
rsaKey
String
Base 64로 인코딩된 RSA Public Key
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "rsaKey": "" } }
JSON
복사

얼굴입장 등록 준비 API

(선택) 등록SDK를 통해 얼굴을 등록하는 경우 필요합니다 토스앱만 이용하는 제휴사의 경우 구현하지 않아도 됩니다

Request

Method: POST
URL: /api/v1/merchant/face-register-prepare
Consume: application/json
Request Fields:
2가지 케이스 중 한가지를 선택 가능합니다
CI로 회원 DB를 관리하는 경우: 이름, 휴대폰번호 or 이메일, CI
CI로 회원 DB를 관리하지 않는 경우: 이름, 휴대폰번호 or 이메일, 생년월일
모든 파라미터가 넘어갈 경우 CI값의 우선순위가 높습니다
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
true
encryptedCI
String
암호화된 CI 값 (AES256 암호화 후 Base64 인코딩)
true
encryptedName
String
암호화된 회원 이름 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
true
encryptedPhoneNumber
String
암호화된 휴대폰번호 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 10~11자리 숫자
encryptedPhoneNumber / encryptedEmail 둘 중 하나는 필수입니다
encryptedEmail
String
암호화된 이메일 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
encryptedPhoneNumber / encryptedEmail 둘 중 하나는 필수입니다
encryptedKey
String
암호화된 AES Key
true
iv
String
암호화에 사용된 IV값
true
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
true
encryptedName
String
암호화된 회원 이름 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
true
encryptedPhoneNumber
String
암호화된 휴대폰번호 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 10~11자리 숫자
encryptedPhoneNumber / encryptedEmail 둘 중 하나는 필수입니다
encryptedEmail
String
암호화된 이메일 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
encryptedPhoneNumber / encryptedEmail 둘 중 하나는 필수입니다
encryptedBirthDate
String
암호화된 생년월일 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 8자리 숫자
true
encryptedKey
String
암호화된 AES Key
true
iv
String
암호화에 사용된 IV값
true

Request Body Example

{ "merchantUserKey": "000001", "encryptedCI": "dGVzdCBjaQ==", "encryptedName": "yntOiPixdnrGhknQJ0Q/N4JcQiRdLjUFgxItJrenrddr1L8xlBCZxmnpH8T+5vuAfA==", // 홍길동 "encryptedPhoneNumber": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8524WJim+QkMvOk0Pg7fw/URAvxf0sVMzw5cY94N", // 01012341234 "encryptedKey": "", "iv": "" }
JSON
복사
{ "merchantUserKey": "000001", "encryptedName": "yntOiPixdnrGhknQJ0Q/N4JcQiRdLjUFgxItJrenrddr1L8xlBCZxmnpH8T+5vuAfA==", // 홍길동 "encryptedPhoneNumber": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8524WJim+QkMvOk0Pg7fw/URAvxf0sVMzw5cY94N", // 01012341234 "encryptedBirthDate": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8Zy6XJqk/QkchaAMDskygSdVAPzLUzppkOkV", // 20250101 "encryptedKey": "", "iv": "" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true
txId
String
얼굴등록시 유저정보 맵핑시켜주기 위한 transactionId
true
token
String
등록SDK에서 API 사용을 위한 accessToken (유효기간 1시간)
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true, "txId": "88a72dae-c1dc-43ee-b470-8c280416ce12", "token": "eyJraWQiOiJjZXJ0IiwiYWxnIj ... " } }
JSON
복사

입장SDK 토큰 발급 API

(선택) 입장SDK를 통해 얼굴입장 하는 경우 필요합니다 통합앱으로 얼굴입장 이용하는 제휴사의 경우 구현하지 않아도 됩니다

Request

Method: POST
URL: /api/v1/merchant/verify-token
Consume: application/json

Response

Produce: application/json
Response Fields:
name
type
description
required
token
String
입장SDK에서 API 사용을 위한 accessToken (유효기간 1시간)
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "token": "eyJraWQiOiJjZXJ0IiwiYWxnIj ... " } }
JSON
복사

암호화 테스트 API

얼굴입장 등록 준비 API, 입장 권한 질의 API 호출에 사용되는 암호화 방식의 테스트를 위해 제공합니다.

Request

Method: POST
URL: /api/v1/merchant/encryption-test
Consume: application/json
Request Fields:
name
type
description
required
encryptedData
String
암호화된 데이터 (AES256 암호화 후 Base64 인코딩)
true
encryptedKey
String
암호화된 AES Key (Base64 인코딩)
true
iv
String
암호화에 사용된 IV값 (Base64 인코딩)
true

Request Body Example

{ "encryptedData": "yntOiPixdnrGhknQJ0Q/N4JcQiRdLjUFgxItJrenrddr1L8xlBCZxmnpH8T+5vuAfA==", // 홍길동 "encryptedKey": "", "iv": "" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
success
Boolean
성공 여부
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "success": true } }
JSON
복사

얼굴 등록 상태 확인 API

Request

Method: POST
URL: /api/v1/merchant/face-register-exist
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
true

Request Body Example

{ "merchantUserKey": "000001", }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
registered
Boolean
등록 여부
true
registeredTs
String
등록일시
false
auditStatus
"WAITING" | "SUCCESS" | "FAILURE" | "CANCELED" | "HOLDING"
검수상태 (대기중/검증성공/검증실패/검증취소/검증보류)
false

Response Body Example

{ "resultType": "SUCCESS", "success": { "registered": true, "registeredTs": "2024-01-01 00:00:00", "auditStatus": "SUCCESS" } }
JSON
복사

약관 철회처리 API (얼굴입장 회원 탈퇴)

Request

Method: POST
URL: /api/v1/merchant/face-unregister
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
true

Request Body Example

{ "merchantUserKey": "000001" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true } }
JSON
복사

등록 이력 조회 API

Request

Method: POST
URL: /api/v1/merchant/face-register-history
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
false
name
String
유저 이름 (50Byte)
false
phoneNumber
String
유저 휴대폰번호(10~11자리 숫자)
false
email
String
유저 이메일 (50Byte)
false
startTs
String
조회범위 시작일시
true
endTs
String
조회범위 종료일시
true
size
Number
조회할 레코드 갯수 (기존값 10)
false
nextCursor
String
해당 값이 있다면, 해당 id 바로 뒤 레코드 부터 조회
false

Request Body Example

{ "merchantUserKey": "000001", "name": "홍길동", "phoneNumber": "01012341234", "email": "test@toss.im", "startTs": "2024-01-01T00:00:00", "endTs": "2024-01-02T00:00:00", "size": 10, "nextCursor": "100" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
items
Array
레코드 리스트
true
items.id
String
레코드 아이디
true
items.merchantUserKey
String
제휴사 유저 unique id
true
items.auditStatus
“WAITING” | “SUCCESS” | “FAILURE” | “CANCELED” | “HOLDING”
검수상태(대기중/성공/실패/취소/보류)
true
items.eventTs
String
처리일시
true
hasMore
Boolean
마지막 페이지 여부
true
size
Number
레코드 리스트 size
true
nextCursor
String
마지막 레코드 아이디. nextCursor로 사용
false

Response Body Example

{ "resultType": "SUCCESS", "success": { "items": [ { "id": "1", "merchantUserKey": "000001", "auditStatus": "SUCCESS", "eventTs": "2024-01-02T00:00:00" } ], "hasMore": false, "size": 10, "nextCursor": "100" } }
JSON
복사

인증 이력 조회 API

Request

Method: POST
URL: /api/v1/merchant/face-verify-history
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
제휴사 유저 unique id
false
status
String
인증상태
false
deviceId
String
인증 시도한 기기 id
false
transactionId
String
인증과정에 대한 transactionId
false
startTs
String
조회범위 시작일시
true
endTs
String
조회범위 종료일시
true
size
Number
조회할 레코드 갯수 (기존값 10)
false
nextCursor
String
해당 값이 있다면, 해당 id 바로 뒤 레코드 부터 조회
false

Request Body Example

{ "merchantUserKey": "000001", "status": "SUCCESS", "deviceId": "IPAD001", "transactionId": "b5238b22-570d-4f80-8f1e-b0f311ab782d", "startTs": "2024-01-01T00:00:00", "endTs": "2024-01-02T00:00:00", "size": 10, "nextCursor": "100" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
items
Array
레코드 리스트
true
items.id
String
레코드 아이디
true
items.merchantUserKey
String
제휴사 유저 unique id
true
items.status
“SUCCESS” | “FAIL”
인증상태(성공/실패)
true
items.resultCode
“FACE_NOT_FOUND” | “FACE_DETECT_FAILED” | “DUPLICATE_FACE” | “MERCHANT_VALIDATION_FAILED” | “UNKNOWN_ERROR”
실패 사유(얼굴을 못찾음/얼굴 확인 불가/중복된 얼굴 발견/가맹점 검증 실패/알수없는 에러)
false
items.customCode
String
가맹점 응답 코드
false
items.deviceId
String
인증 시도한 기기 id
true
items.params
JSON
입장시 사용된 파라미터
false
items.verifyTs
String
인증일시
true
items.transactionId
String
인증과정에 대한 transactionId (QR인증시엔 내려오지 않습니다)
false
hasMore
Boolean
마지막 페이지 여부
true
size
Number
레코드 리스트 size
true
nextCursor
String
마지막 레코드 아이디. nextCursor로 사용
false

Response Body Example

{ "resultType": "SUCCESS", "success": { "items": [ { "id": "1", "merchantUserKey": "000001", "status": "SUCCESS", "resultCode": null, "customCode": null, "deviceId": "IPAD001", "transactionId": "b5238b22-570d-4f80-8f1e-b0f311ab782d", "params": { "floor": "5" }, "verifiedTs": "2024-01-01T00:00:00" }, { "id": "2", "merchantUserKey": "000002", "status": "FAIL", "resultCode": "FACE_NOT_FOUND", "customCode": null, "deviceId": "IPAD001", "transactionId": "8850629f-df8d-4125-8d94-86f1bf39e470", "params": { "floor": "5" }, "verifiedTs": "2024-01-01T00:00:00" }, { "id": "3", "merchantUserKey": "000003", "status": "FAIL", "resultCode": "MERCHANT_VALIDATION_FAILED", "customCode": "TE0003", "deviceId": "IPAD001", "transactionId": "fb88e8ca-e477-4fc9-8ac9-85296047a395", "params": { "floor": "5" }, "verifiedTs": "2024-01-01T00:00:00" } ], "hasMore": false, "size": 10, "nextCursor": "100" } }
JSON
복사

기기 연결 인증번호 발급 API

Request

Method: POST
URL: /api/v1/merchant/init-device
Consume: application/json
Request Fields:
name
type
description
required
groupId
String
설정그룹 아이디
true
deviceName
String
기기 이름
false

Request Body Example

{ "groupId": "01K18XV5C84N010K8SJ15RG90D", "deviceName": "TOSS-IPAD-01" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
verifyCode
String
인증번호
true
expireTs
String
인증번호 만료일시
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "verifyCode": "12345678", "expireTs": "2025-11-19T23:56:00" } }
JSON
복사

연결된 기기 조회 API

Request

Method: GET
URL: /api/v1/merchant/connected-device
Consume: application/json
Request Fields:
name
type
description
required
groupId
String
설정그룹 아이디
true

Request Param Example

?groupId=01K18XV5C84N010K8SJ15RG90D
TypeScript
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
devices
Array
연결된 기기 리스트
true
devices.deviceId
String
기기 아이디
true
devices.deviceName
String
기기 이름
false

Response Body Example

{ "resultType": "SUCCESS", "success": { "devices": [ { "deviceId": "IPAD001", "deviceName": "TOSS-IPAD-01" } ] } }
JSON
복사

연결기기 삭제 API

Request

Method: POST
URL: /api/v1/merchant/deactivate-device
Consume: application/json
Request Fields:
name
type
description
required
groupId
String
설정그룹 아이디
true
deviceId
String
기기 아이디
deviceId / deviceName 둘 중 하나는 필수입니다
deviceName
String
기기 이름
deviceId / deviceName 둘 중 하나는 필수입니다

Request Body Example

{ "groupId": "01K18XV5C84N010K8SJ15RG90D", "deviceId": "IPAD001" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true } }
JSON
복사

설정그룹 조회 API

Request

Method: GET
URL: /api/v1/merchant/device-group
Consume: application/json
Request Fields:
name
type
description
required
size
Number
조회할 레코드 갯수 (기본값 10)
false
nextCursor
String
해당 값이 있다면, 해당 id 바로 뒤 레코드 부터 조회
false

Request Param Example

?size=10&nextCursor=01K97Q5ZY0RZZT8D01NAAHNQMT
TypeScript
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
items
Array
레코드 리스트
true
items.groupId
String
설정그룹 아이디 (레코드 아이디)
true
items.deviceGroupName
String
설정그룹 이름
true
items.enableLiveness
Boolean
가짜 얼굴 차단 여부
true
items.shouldSuccessResultSkip
Boolean
성공 후 다음인식 자동시작
true
items.shouldFailResultSkip
Boolean
실패 후 다음인식 자동시작
true
items.tags
JSON
태그 정보 (key, value)
true
hasMore
Boolean
마지막 페이지 여부
true
size
Number
레코드 리스트 size
true
nextCursor
String
마지막 레코드 아이디. nextCursor로 사용
false

Response Body Example

{ "resultType": "SUCCESS", "success": { "items": [ { "groupId": "01K97Q5ZY0RZZT8D01NAAHNQMT", "deviceGroupName": "강훈테스트1", "enableLiveness": false, "shouldFailResultSkip": false, "shouldSuccessResultSkip": true, "tags": { "층": "10", "건물": "아크플레이스" } } ], "size": 10, "hasMore": true, "nextCursor": "01K97Q5ZY0RZZT8D01NAAHNQMT" } }
JSON
복사

설정그룹 추가 API

Request

Method: POST
URL: /api/v1/merchant/create-device-group
Consume: application/json
Request Fields:
name
type
description
required
deviceGroupName
String
설정그룹 이름
true
enableLiveness
Boolean
가짜 얼굴 차단 여부
true
shouldSuccessResultSkip
Boolean
성공 후 다음인식 자동시작
true
shouldFailResultSkip
Boolean
실패 후 다음인식 자동시작
true
tags
JSON
태그 정보 (key, value)
false

Request Body Example

{ "deviceGroupName": "설정그룹 이름", "enableLiveness": false, "shouldFailResultSkip": false, "shouldSuccessResultSkip": true, "tags": { "층": "10", "건물": "아크플레이스" } }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true
groupId
String
설정그룹 아이디
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true, "groupId": "01K97Q5ZY0RZZT8D01NAAHNQMT" } }
JSON
복사

설정그룹 수정 API

Request

Method: POST
URL: /api/v1/merchant/modify-device-group
Consume: application/json
Request Fields:
name
type
description
required
groupId
String
설정그룹 아이디
true
deviceGroupName
String
설정그룹 이름
true
enableLiveness
Boolean
가짜 얼굴 차단 여부
true
shouldSuccessResultSkip
Boolean
성공 후 다음인식 자동시작
true
shouldFailResultSkip
Boolean
실패 후 다음인식 자동시작
true
tags
JSON
태그 정보 (key, value)
false

Request Body Example

{ "groupId": "01K97Q5ZY0RZZT8D01NAAHNQMT" "deviceGroupName": "설정그룹 이름", "enableLiveness": false, "shouldFailResultSkip": false, "shouldSuccessResultSkip": true, "tags": { "층": "10", "건물": "아크플레이스" } }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true } }
JSON
복사

설정그룹 삭제 API

Request

Method: POST
URL: /api/v1/merchant/delete-device-group
Consume: application/json
Request Fields:
name
type
description
required
groupId
String
설정그룹 아이디
true

Request Body Example

{ "groupId": "01K97Q5ZY0RZZT8D01NAAHNQMT" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
completed
Boolean
처리 여부
true

Response Body Example

{ "resultType": "SUCCESS", "success": { "completed": true } }
JSON
복사

토스 → 제휴사 API

제휴사 측에서 제공해야하는 API 입니다

Host

가맹점 API 서버의 host가 필요합니다
production, dev 각각 도메인주소 부탁드립니다
[production] https://
[dev] https://

회원 유효성 검증 API (얼굴입장 등록)

(선택) 토스앱을 통해 얼굴입장 등록하는 경우 필요합니다 SDK만 이용하는 제휴사의 경우 구현하지 않아도 됩니다

Request

Method: 가맹점 측에서 선택. 예시: POST
URL: 가맹점 측에서 선택. 예시: /v1/user/validate
Consume: application/json
Request Fields:
2가지 케이스 중 한가지를 선택 가능합니다
모든 파라미터가 넘어갈 경우 CI값의 우선순위가 높습니다
name
type
description
required
encryptedCI
String
암호화된 CI 값 (AES256 암호화 후 Base64 인코딩)
true
encryptedKey
String
암호화된 AES Key
true
iv
String
암호화에 사용된 IV값
true
name
type
description
required
encryptedName
String
암호화된 회원 이름 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
false
encryptedPhoneNumber
String
암호화된 휴대폰번호 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 10~11자리 숫자
true
encryptedBirthDate
String
암호화된 생년월일 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 8자리 숫자
false
encryptedKey
String
암호화된 AES Key
true
iv
String
암호화에 사용된 IV값
true

Request Body Example

{ "encryptedCI": "dGVzdCBjaQ==", "encryptedKey": "", "iv": "" }
JSON
복사
{ "encryptedName": "yntOiPixdnrGhknQJ0Q/N4JcQiRdLjUFgxItJrenrddr1L8xlBCZxmnpH8T+5vuAfA==", // 홍길동 "encryptedPhoneNumber": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8524WJim+QkMvOk0Pg7fw/URAvxf0sVMzw5cY94N", // 01012341234 "encryptedBirthDate": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8Zy6XJqk/QkchaAMDskygSdVAPzLUzppkOkV", // 20250101 "encryptedKey": "", "iv": "" }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
merchantUserKey
String
가맹점측 사원번호,회원번호
true
encryptedName
String
암호화된 회원 이름 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 50Byte
값이 있을 경우 이름 검증 플로우가 진행됩니다
encryptedBirthDate
String
암호화된 생년월일 (AES256 암호화 후 Base64 인코딩) 암호화전 스펙: 8자리 숫자
값이 있을 경우 생년월일 검증 플로우가 진행됩니다
encryptedKey
String
암호화된 AES Key
encryptedName / encryptedBirthDate 둘 중 하나의 값이 있을 경우 필수입니다
iv
String
암호화에 사용된 IV값
encryptedName / encryptedBirthDate 둘 중 하나의 값이 있을 경우 필수입니다
txId
String
얼굴등록시 유저정보 맵핑시켜주기 위한 transactionId
false (txId를 제휴사측에서 발행하는 경우에만 넣어주시면 됩니다)
message
String
성공,에러 발생시 메시지
false
code
String
응답코드
false

Response Body Example

{ "merchantUserKey": "000001", "encryptedName": "yntOiPixdnrGhknQJ0Q/N4JcQiRdLjUFgxItJrenrddr1L8xlBCZxmnpH8T+5vuAfA==", // 홍길동 "encryptedBirthDate": "yntOiPixdnrGhknQJ0Q/N4JcQiRd8524WJim+QkMvOk0Pg7fw/URAvxf0sVMzw5cY94N", // 01012341234 "encryptedKey": "", "iv": "" "txId": "88a72dae-c1dc-43ee-b470-8c280416ce12", "message": "성공", "code": "" }
JSON
복사

입장 권한 질의 API (얼굴입장 검증)

(필수) 입장앱을 통해 입장시 사용하게 됩니다

Request

Method: 가맹점 측에서 선택. 예시: POST
URL: 가맹점 측에서 선택. 예시: /v1/access/permissions
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
가맹점측 사원번호,회원번호
true
params
JSON
가맹점에 따라 다르게 설정
true

Request Body Example

{ "merchantUserKey": "000001", "params": { "floor": "10", // 10층 "gate": "A" // A게이트 } } { "merchantUserKey": "000001", "params": { "floor": "5", // 5층 } } { "merchantUserKey": "000001", "params": { "room": "5-3" // 5-3 회의실 } }
JSON
복사

Response

Produce: application/json
Response Fields:
응답 필드를 이용하여 커스텀한 안내문구를 설정할 수 있습니다
customMessage
여기에 문구를 입력하여 응답하는 경우 문자열 그대로 화면에 띄웁니다
글자수 제한이 있습니다. 이를 초과하면 메시지 기본값이 노출되게 됩니다
반복형: 19자
검표형: 38자
우선순위가 가장 높습니다
code
커스텀코드를 사용하는 경우 지정된 코드값을 담아서 보내시면 됩니다
코드값에 대한 안내문구를 페이스패스 DB에 저장하여 사용합니다
글자수 제한이 있습니다. 50Byte
위 2개의 필드가 공란인 경우 기본 안내문구를 사용하게 됩니다
name
type
description
required
verified
Boolean
권한보유 여부
true
customMessage
String
입장 성공/실패 커스텀 메시지 (우선순위 가장 높음)
false
message
String
성공,에러 발생시 메시지
false
code
String
응답코드 (50Byte)
false

Response Body Example

// customMessage에 커스텀메시지를 입력하는 예시 { "verified": true, "customMessage": "{제휴사} 입장 확인.", "message": "성공", "code": null } // code에 커스텀코드를 입력하는 예시 { "verified": true, "customMessage": null, "message": "성공", "code": "A0001" // 맵핑된 안내문구가 출력됨 } // 기본 응답 예시 { "verified": true, "customMessage": null, "message": "성공", "code": null }
JSON
복사

얼굴입장 등록완료 콜백 API (등록완료 콜백)

(선택) 얼굴입장 등록완료 후 콜백이 필요한 경우에만 구현하시면 됩니다

Request

Method: 가맹점 측에서 선택. 예시: POST
URL: 가맹점 측에서 선택. 예시: /v1/callback/registered
Consume: application/json
Request Fields:
name
type
description
required
merchantUserKey
String
가맹점측 사원번호,회원번호
true
txId
String
얼굴등록시 유저정보 맵핑시켜주기 위한 transactionId
true
registered
Boolean
등록 여부
true

Request Body Example

{ "merchantUserKey": "000001", "txId": "88a72dae-c1dc-43ee-b470-8c280416ce12", "registered": true }
JSON
복사

Response

Produce: application/json
Response Fields:
name
type
description
required
message
String
성공,에러 발생시 메시지
false
code
String
응답코드
false

Response Body Example

{ "message": "성공", "code": null }
JSON
복사