셀피 조회GET
생성 시 Human Plugin이 반환한 id로 프로세스에서 캡처한 셀피를 조회합니다.
GET /v1/processes/{id}/selfie
id는 생성 응답에 담긴 UUID입니다. 요청에는 본문도 쿼리 파라미터도 없습니다.
curl http://human-plugin.internal:8080/v1/processes/17e4546e-6109-4240-8c0b-4ba98474a104/selfie
Human Plugin은 셀피 사본을 보관하지 않으므로, 호출할 때마다 셀피를 다시 가져옵니다.
응답
이미지를 base64로 인코딩한 값과 해당 타입을 담아 200 OK를 반환합니다.
{
"fileContents": "/9j/4AAQSkZJRgABAQAAAQABAAD…",
"contentType": "image/jpeg"
}
파일로 저장하려면 다음과 같이 합니다.
curl -s http://human-plugin.internal:8080/v1/processes/17e4546e-6109-4240-8c0b-4ba98474a104/selfie \
| jq -r .fileContents | base64 -d > selfie.jpg
조회 가능 여부
- 셀피가 있었던 프로세스에만 셀피가 존재합니다.
imageBase64로 전송했거나 해당 인물에게서 캡처한 경우입니다. - Journey 플로우에서는 해당 인물이 셀피를 캡처한 이후에야 셀피가 존재합니다. 그 전에는
process state must be finished로 시작하는message와 함께400으로 요청이 거부됩니다. 먼저 프로세스를 조회하고,PROCESS_STATE_FINISHED가 되면 셀피를 가져오세요. - 셀피는 프로세스가 완료된 후 제한된 기간 동안만 조회할 수 있습니다. 나중에 필요하다면 이 응답에서 직접 저장해 두세요.
이미지 취급
셀피는 생체 정보입니다. Human Plugin은 셀피를 저장하거나 로그로 남기지 않으며, 응답은 Cache-Control: no-store와 함께 전송됩니다. 사용 중인 게이트웨이와 애플리케이션 로그에도 셀피가 남지 않도록 하세요.
오류
| Status | message | 의미 |
|---|---|---|
| 400 | process state must be finished… | 캡처가 아직 완료되지 않은 Journey 프로세스입니다. 먼저 프로세스를 조회하세요 |
| 404 | PROCESS_NOT_FOUND | id가 UUID가 아니거나 알 수 없는 id입니다 |
| 404 | SELFIE_NOT_FOUND | 프로세스에 셀피가 없습니다. 캡처가 없었거나, 시작 전에 실패했거나, 셀피를 더 이상 조회할 수 없습니다 |
| 4xx | 거부 사유 message | 요청이 거부되었습니다. 사유는 message와 details에 있습니다 |
| 502 | UPSTREAM_UNAVAILABLE | 제한 시간 내에 셀피를 가져오 지 못했습니다. 나중에 다시 시도하세요 |
| 503 | DATABASE_UNAVAILABLE | 데이터베이스에 장애가 발생했습니다. 나중에 다시 시도하세요 |
조회는 재시도해도 안전합니다. 404는 재시도해도 바뀌지 않습니다.