메인 콘텐츠로 건너뛰기
오류 및 재시도

오류 엔벨로프, 전체 응답 목록과 각 응답에 대한 조치 방법.

Markdown

엔벨로프​

{ "message": "MISSING_CLIENT_ID", "details": [] }

message는 오류를 식별하며, details는 대개 비어 있습니다. 플로우가 요청을 거부하는 경우(예: 잘못된 이미지)에도 응답은 이 엔벨로프를 유지하며, 사유는 message와 details에 담깁니다. 거부 사유를 참고하세요.

레퍼런스​

상태message엔드포인트재시도?
400INVALID_REQUESTcreate아니요. 요청을 수정하세요
400REQUEST_TOO_LARGEcreate아니요. 본문이 2 MiB를 초과했습니다
400MISSING_<FIELD> / INVALID_<FIELD>create아니요. <FIELD>는 대문자 스네이크 케이스의 필드 이름입니다(예: MISSING_CREDENTIAL_VALUE)
401비어 있음("")create, selfie아니요. Unico가 액세스 키를 거부했습니다. HUMAN_API_ACCESS_KEY를 확인하세요
409CORRELATION_ID_ALREADY_USEDcreate아니요. 다른 프로세스가 해당 correlationId를 사용 중입니다. 새 값을 사용하세요
422ATTRIBUTE_TYPE_NOT_SUPPORTEDcreate아니요. 카탈로그 코드를 사용하세요
4xx플로우의 messagecreate아니요. 프로세스가 실패로 저장됩니다
404PROCESS_NOT_FOUNDget, selfie아니요
404SELFIE_NOT_FOUNDselfie아니요. 해당 프로세스에는 사용 가능한 셀피가 없습니다
4xx거부 사유 messageselfie아니요
503DATABASE_UNAVAILABLE전체create: 아래 참고. get과 selfie: 예
502UPSTREAM_UNAVAILABLE전체create: 아래 참고. get과 selfie: 예
500INTERNAL전체create: 아래 참고

생성 요청 재시도​

수락된 모든 생성 요청은 새 id를 가진 새 프로세스를 시작하며, 각 correlationId는 한 번만 사용할 수 있습니다. 어떤 상태의 프로세스든 이미 사용한 값은 409 CORRELATION_ID_ALREADY_USED로 거부됩니다.

  • 400, 409, 422 및 기타 거부: 요청을 수정한 뒤 다시 보내세요.
  • 503 DATABASE_UNAVAILABLE: 저장되거나 처리된 것이 없습니다. 같은 correlationId로 재시도하세요.
  • 502 및 500: 요청이 확인되지 않았습니다. 자동으로 재시도하지 마세요. 다시 시도하려면 새 correlationId로 새 생성 요청을 보내세요.

백엔드에 권장하는 방식:

  1. Human Plugin을 호출하기 전에 correlationId를 키로 각 시도를 기록합니다.
  2. 502 또는 500이 발생하면 비즈니스 규칙에 따라 새 시도를 시작할지 결정합니다.
  3. 관련된 시도들을 기록에서 서로 연결해 둡니다.

조회 재시도​

프로세스나 셀피에 대한 GET은 안전하게 재시도할 수 있습니다. 백오프를 사용하고 404에서 중단하세요.

속도 제한​

Human Plugin에는 내장 속도 제한기가 없습니다. 필요하면 게이트웨이에서 제한을 적용하세요.