결과 시뮬레이션(Test Mock)
샌드박스에서는 실제 생체 인식 캡처에 의존하지 않고 프로세스 결과를 시뮬레이션할 수 있습니다. 프로세스 생성 요청 본문에 expected_result 필드를 추가하세요 — 나머지 통합 과정(SDK 렌더링, 생체 인식 캡처, 프로세스 조회)은 실제 flow와 완전히 동일하게 유지됩니다.
모의(mock)는 생체 인식 캡처 단계를 건너뛰지 않습니다. 사용자(또는 테스트 스크립트)는 여전히 일반적인 flow를 완료해야 합니다 — 달라지는 점은, 완료되면 프로세스가 실제 평가 결과 대신 expected_result에 정의된 값을 반환한다는 것입니다.
각 flow는 설정 방식에 따라 아래 두 가지 형식 중 하나만 허용합니다:
| 형식 | 사용 시점 |
|---|---|
id_cloud_one_result | 단일 결과(승인, 거부, 고위험 등)를 반환하는 flow |
authentication_info | 개별 신호(UnicoId, Trust, Liveness, IdAge, IdFace...)를 반환하는 flow |
flow와 일치하지 않는 형식을 전송하거나 두 형식을 동시에 전송하면 오류가 발생합니다 — 오류를 참조하세요.
엔드포인트
| 환경 | URL |
|---|---|
| 샌드박스 | POST https://api.idcloud.uat.unico.app/client/v1/process |
모의(mock)는 샌드박스에서만 사용할 수 있습니다. 프로덕션에서는 expected_result 필드가 거부됩니다.
flow가 단일 승인 형태의 결과를 반환하는 경우 이를 사용하세요.
본문 매개변수
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
expected_result.id_cloud_one_result | string | 예 | 시뮬레이션할 단일 결과입니다. flow가 실제로 생성하는 결과여야 합니다 — flow 설정에서 인식되는 결과를 확인하세요. |
예제
curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"id_cloud_one_result": "PROCESS_RESULT_APPROVED"
}
// ... 나머지 매개변수는 실제 프로세스 생성 호출에서 사용하는 것과 동일합니다
}'
응답 (200 OK)
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDCHECK"],
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}
simulated: true는 이 프로세스가 실제 평가가 아닌 시뮬레이션된 결과를 가짐을 나타냅니다.
id_cloud_one_result의 가능한 값은 결과 해석하기에 문서화된 프로세스 결과 값과 동일합니다 — flow가 실제로 인식하는 결과만 전송하세요.
flow가 단일 결과 대신 개별 신호를 반환하는 경우 이를 사용하세요.
flow가 일반적으로 반환하는 모든 신호는 authentication_info에 포함되어야 합니다. 일부만 전송하면 거부됩니다 — 신호 하나만 모의(mock)하고 나머지는 실제 평가에 맡길 수 없습니다.
trust_result 대 identity_fraudsters_resulttrust_result와 identity_fraudsters_result는 동일한 신호(신원 사기 표시)를 나타냅니다: trust_result는 부정적인 측면을, identity_fraudsters_result는 긍정적인 측면을 다룹니다. 시뮬레이션하려는 결과에 맞는 것을 사용하세요.
각 필드의 가능한 값은 authenticationInfo의 기능별 결과를 참조하세요.
Frictionless flow는 이 형식에서 지원되지 않습니다 — 지원되지 않는 신호를 참조하세요.
예제
curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"authentication_info": {
"authentication_result": "AUTHENTICATION_RESULT_POSITIVE",
"liveness_result": "LIVENESS_RESULT_LIVE",
"id_age_result": "ID_AGE_RESULT_POSITIVE"
}
}
// ... 나머지 매개변수는 실제 프로세스 생성 호출에서 사용하는 것과 동일합니다
}'
응답 (200 OK)
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDUNICO", "PROCESS_CAPACITY_IDAGE"],
"authenticationInfo": {
"authenticationResult": "AUTHENTICATION_RESULT_POSITIVE",
"livenessResult": "LIVENESS_RESULT_LIVE",
"idAgeResult": "ID_AGE_RESULT_POSITIVE"
},
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}
지원되지 않는 신호
아래 신호는 모의(mock)에서 두 형식 모두 지원되지 않습니다:
multi_accountsdata_mismatchserial_fraudstersmart_revalidation_resultpasskey_result(지원 중단됨)
Frictionless flow(생체 인식 캡처 없는 인증)는 id_cloud_one_result 형식에서만 지원됩니다 — authentication_info에서는 작동하지 않습니다.
응답에 대한 참고 사항
점수는 신원 결과가 결론에 이르지 못한 경우에만 반환됩니다. score_engine_result 필드는 authentication_result가 AUTHENTICATION_RESULT_INCONCLUSIVE일 때만 값을 반영합니다. authentication_result를 POSITIVE 또는 NEGATIVE로 모의(mock)하면서 0이 아닌 score_engine_result를 함께 전송하면, 전송한 값과 관계없이 최종 응답은 score_enabled: SCORE_ENABLED_FALSE와 score: 0을 반환합니다.
이는 API의 정상적인 동작입니다 — 동일한 규칙이 실제 프로세스에도 적용되며, 모의(mock)에만 국한된 것이 아닙니다. 테스트하려는 시나리오가 응답에 점수가 표시되는 것에 의존한다면, authentication_result: AUTHENTICATION_RESULT_INCONCLUSIVE를 사용하세요.
오류
| 상황 | 오류 |
|---|---|
샌드박스 외부에서 전송된 expected_result | PERMISSION_DENIED |
id_cloud_one_result와 authentication_info를 함께 전송 | INVALID_ARGUMENT |
빈 authentication_info: {} | INVALID_ARGUMENT |
authentication_info에 flow가 반환하는 신호가 누락됨 | 유효성 검사 오류 — 모든 신호를 포함하세요 |
flow가 인식하지 못하는 id_cloud_one_result 값 | 유효성 검사 오류 |
flow가 모의(mock)를 지원하지 않음 | 유효성 검사 오류 |
다음 단계
모의 프로세스를 생성한 후, 생체 인식 캡처를 정상적으로 완료하고 프로세스 조회를 사용하여 모의된 결과를 가져오세요.