메인 콘텐츠로 건너뛰기

프로세스 생성

이 엔드포인트는 동일한 경로를 공유하지만 본문 파라미터, 기능 및 응답 필드가 다른 두 가지 유스케이스를 처리합니다:

  • 온보딩 - Unico의 신원 데이터베이스와 얼굴을 비교하여 사용자가 누구인지 검증합니다 (subject.duiType + subject.code 필수).
  • 트랜잭션 - 이전 프로세스의 얼굴과 비교하여 동일 인물인지 확인합니다 (referenceProcessId 또는 셀피/프로세스 ID가 포함된 references 배열 필수).

활성 유스케이스는 요청 헤더에 전송된 APIKEY에 의해 결정됩니다.

전체 통합 플로우는 API 개요를 참조하세요.

엔드포인트

환경URL
프로덕션POST https://api.id.unico.app/processes/v1
샌드박스POST https://api.id.uat.unico.app/processes/v1

요청

헤더
헤더
AuthorizationBearer <access_token> (인증 참조)
APIKEY프로비저닝된 API 키 - 활성 유스케이스와 활성화된 기능을 정의합니다.
Content-Typeapplication/json
본문 파라미터
필드유형필수설명
subject.duiTypeinteger문서 유형 식별자. 아래 duiType을 참조하세요.
subject.codestringsubject.duiType에 정의된 식별자 값. 점이나 대시 없이 입력하세요.
subject.namestring아니요전체 이름.
subject.genderstring아니요M 또는 F.
subject.birthDatestring (ISO 8601)아니요생년월일 (YYYY-MM-DD).
subject.emailstring아니요이메일 주소.
subject.phonestring아니요E.164 전화번호.
useCasestring아니요작업 컨텍스트, 예: Onboarding.
subsidiaryIdstring아니요지점 ID — 여러 지점이 있는 경우에만 필요합니다.
imageBase64string프론트엔드에서 캡처한 셀피, base64 형식.
duiType
국가코드설명
BR1브라질 CPF
BR5브라질 여권
MX2멕시코 CURP
AR6아르헨티나 여권
AR7아르헨티나 DNI
US4미국 SSN
US11미국 여권
US18미국 운전면허증
ID16인도네시아 NIK
NG8나이지리아 NIN
CL9칠레 RUN
EC10에콰도르 NI
GT12과테말라 CUI
UY13우루과이 CI
ZZ15이메일 주소
ZZ17전화번호
MX25멕시코 RFC(개인)
CO26콜롬비아 NIT
PE27페루 RUC
CA28캐나다 SIN
DK29덴마크 CPR
GB30영국 국민보험번호(NINO)
PL31폴란드 PESEL
SE32스웨덴 개인번호(PNR)
AT34오스트리아 세금 번호(STNR)
FI35핀란드 개인 식별 코드(HETU)
0미지정
3Unico 내부 식별자
이미지 요구사항
  • 최소 해상도: 640 x 480 (HD 표준)
  • 최대 파일 크기: 800 KB (JPEG92 압축 권장)
  • 허용 형식: PNG, JPEG, WebP
  • SDK의 JWT 토큰은 10분 후 만료되며 한 번만 사용할 수 있습니다

예제

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"imageBase64": "/9j/4AAQSkZJR..."
}'

응답

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"riskLevel": { "result": "inconclusive" },
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"government": { "serpro": 87 },
"liveness": 1
}
응답 필드는 APIKey에 따라 다릅니다

위의 예시는 모든 가능한 기능 필드를 보여줍니다. 실제 응답에는 APIKey 설정에서 활성화된 기능의 필드만 포함되며, 비활성화된 기능의 필드는 완전히 생략됩니다. 기능을 활성화하거나 조정하려면 Unico 프로젝트 매니저에게 문의하세요.

필드유형설명
idstring (UUID)프로세스 식별자. 재조회 시 프로세스 조회와 함께 사용합니다.
statusinteger1 (처리 중), 3 (성공적으로 완료), 5 (오류).
unicoId.resultstringyes, no, inconclusive - 신원 확인 참조.
riskLevel.resultstringapproved, reproved, risk-critical, risk-high, inconclusive — 아래 가능한 값 참조 또는 사기 위험 분류.
idFace.resultstringFOUND, NOT_FOUNDFace Identifier 참조.
idFace.personIdstring얼굴에 대한 안정적인 불투명 식별자. idFace.result = FOUND일 때만 제공됩니다.
identityFraudsters.resultstring더 이상 사용되지 않습니다. 대신 riskLevel을 사용하세요. 통합이 진행 중인 클라이언트는 프로젝트 팀과 마이그레이션을 조율하면서 계속 사용할 수 있습니다.
government.serprointegerSerpro 유사도 점수 (0-100, -1, -2). 브라질에서만 사용 가능합니다. Serpro 유사도 반환 참조.
livenessinteger1 (통과), 2 (실패) - 라이브니스 참조.
riskLevel.result — 가능한 값
의미
approved신분증 소지자의 얼굴이 맞으며, 사기와 관련된 증거가 발견되지 않았습니다.
reproved여러 사기 지표가 감지되었으므로 거부를 권장합니다.
risk-critical거부를 권장하나 최종 결정은 귀하의 판단에 달려 있습니다. 심각 위험은 최소 2개의 강력한 사기 증거가 발견되었음을 나타냅니다.
risk-high거부도 권장하나 결정은 귀하에게 있습니다. 높은 위험은 최소 1개의 강력한 사기 증거가 발견되었음을 나타냅니다.
inconclusive강력한 사기 증거가 발견되지 않았습니다. 따라서 관련 위험이 있는지 여부를 결론짓기 어렵습니다.
정보

unicoId.result = inconclusive이고 위험 점수 오케스트레이션이 활성화된 경우, 프로세스가 status: 1 (처리 중)을 반환할 수 있습니다. 프로세스 조회를 폴링하거나 웹훅을 사용하여 최종 결과를 가져오세요.

400 Bad Request

페이로드 형식이 잘못되었거나, 이미지가 유효하지 않거나, 필수 필드가 누락되었습니다. 아래 오류 코드를 참조하세요.

403 Forbidden

Bearer 토큰 또는 APIKEY가 누락되었거나, 만료되었거나, 유효하지 않습니다. 인증을 참조하세요.

409 Conflict

제공된 processId가 이 테넌트에 이미 존재합니다. 아래 오류 코드를 참조하세요.

429 Too Many Requests

속도 제한에 도달했습니다. 시스템이 HTTP 429 오류를 수신하면 연쇄 장애를 방지하고 제한을 악화시키지 않기 위한 메커니즘을 구현해야 합니다.

모범 사례:

  • 쿨다운 기간 (백오프): 시스템에서 후속 요청을 즉시 중지하거나 조절하세요. 실패한 요청을 타이트한 루프에서 지속적으로 재시도하지 마세요.
  • 큐잉 및 조절: 발신 요청을 버퍼링하거나 큐에 넣어 다시 보내기 전에 트래픽 흐름을 제어하세요.
  • 지터를 포함한 지수 백오프: 재시도할 때 시도 간 대기 시간을 지수적으로 늘리고 (예: 1초, 2초, 4초, 8초) 작은 랜덤 지연("지터")을 추가하여 큐에 있는 모든 요청이 정확히 같은 밀리초에 재시도하는 허드 효과를 방지하세요.
경고

백오프 없이 속도 제한된 엔드포인트에 지속적으로 요청하면 제한 기간이 연장되고 시스템의 운영 처리량에 심각한 영향을 줄 수 있습니다. 요청을 적절히 조절하면 더 부드럽고 탄력적인 통합을 보장할 수 있습니다.

기본 제한, 요청 증가 및 추가 세부사항은 속도 제한을 참조하세요.

오류 코드

코드메시지설명
20900O base64 informado não é válido.base64 파라미터가 유효하지 않습니다. 가능한 원인: 이미지가 아니거나 인젝션 시도입니다.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.업로드된 이미지의 해상도가 너무 낮습니다.
20513The referenced process was not found.referenceProcessId가 존재하지 않거나 더 이상 접근할 수 없는 프로세스를 가리킵니다.
20512The referenced process is not available for reuse.참조된 프로세스가 존재하지만 재사용할 수 없습니다.
20509The subject.name field is invalid.subject.name에 유효하지 않은 문자가 포함되어 있습니다.
20508The subject.gender field is invalid.subject.genderM 또는 F여야 합니다.
20507O parâmetro subject.code é inválido.비표준이거나 존재하지 않는 CPF입니다.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.이미지 크기가 800 KB를 초과합니다; JPEG92로 압축하세요.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.base64 형식이 유효하지 않거나 지원되지 않습니다.
20065The referenceProcessId field is invalid.referenceProcessId가 유효한 UUID가 아닙니다.
20062The useCase field is invalid.useCase 필드에 인식할 수 없는 값입니다.
20024The referenceProcessId field is missing.referenceProcessId 파라미터가 제공되지 않았고 대안으로 references도 전송되지 않았습니다.
20021The subject.phone field is invalid.subject.phone 형식이 유효하지 않습니다 (IDD + 지역 코드 + 번호, 13자).
20019The subject.birthDate field is invalid.subject.birthDate가 ISO 8601 형식 (YYYY-MM-DD) 범위를 벗어났습니다.
20009O parâmetro imagebase64 não foi informado.셀피 이미지 파라미터가 누락되었습니다.
20008The subject.email field is invalid.subject.email의 이메일 형식이 유효하지 않습니다.
20006O parâmetro subject.name não foi informado.subject.name 파라미터가 누락되었습니다.
20005O parâmetro subject.code não foi informado.subject.code 파라미터가 누락되었습니다.
20004O parâmetro subject não foi informado.subject 파라미터가 누락되었습니다.
20003The request body is missing or invalid.null이거나 유효하지 않은 페이로드입니다.
20002O parâmetro APIKey não foi informado.요청 헤더에 APIKEY 파라미터가 누락되었습니다.
20001O parâmetro authtoken não foi informado.요청 헤더에 통합 토큰 파라미터가 누락되었습니다.
10508The JWT with the captured face has already been used.JWT는 한 번만 사용할 수 있습니다.
10507The JWT with the captured face is expired.JWT가 만료되었습니다; 10분 이내에 전송해야 합니다.
10506The imageBase64 field is not a valid JWT from SDK.imageBase64가 SDK에서 생성된 유효한 JWT가 아닙니다.

다음 단계

  • 온보딩 프로세스 결과를 조회하려면 프로세스 조회를 참조하세요.
  • 문서 및 연령 인증 작업에 대해서는 이 섹션의 해당 페이지를 참조하세요.