Pular para o conteúdo principal

Obter Processo

aviso

Antes de recuperar o processo, revise nossa configuração de webhook e estratégias de fallback — clique aqui.

Endpoint

AmbienteURL
ProduçãoGET https://api.idcloud.unico.app/client/v1/process/{processId}
SandboxGET https://api.idcloud.uat.unico.app/client/v1/process/{processId}

Requisição

Headers
HeaderValor
AuthorizationBearer <access_token>
Parâmetros de path
ParâmetroTipoObrigatórioDescrição
processIdstring (UUID)simIdentificador do processo retornado por Criar Processo.

Exemplo

curl -X GET https://api.idcloud.unico.app/client/v1/process/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN"

Respostas

200 OK
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"flow": "idunicosign",
"callbackUri": "https://example.com/callback",
"userRedirectUrl": "https://example.com/redirect",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"createdAt": "2024-01-01T10:00:00Z",
"finishedAt": "2024-01-01T10:15:00Z",
"expiresAt": "2024-01-08T10:00:00Z",
"purpose": "VERIFICATION",
"clientReference": "client-ref-abc",
"useCase": "smart_revalidation",
"capacities": ["liveness", "face_match"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"notifications": [
{
"notificationChannel": "email"
}
]
},
"authenticationInfo": {
"authenticationId": "auth-123",
"livenessResult": "LIVENESS_RESULT_LIVE",
"authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
"identityFraudstersResult": "TRUST_RESULT_INCONCLUSIVE",
"bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",
"smartRevalidationResult": "SMART_REVALIDATION_RESULT_UNSPECIFIED",
"idAgeResult": "ID_AGE_RESULT_UNSPECIFIED",
"scoreEngineResult": {
"scoreEnabled": "SCORE_ENABLED_TRUE",
"score": 85.5
},
"serproResult": {
"score": 92
}
},
"companyData": {
"branchId": "branch-123",
"countryCode": "BR"
},
"bioTokenData": {
"referenceProcessId": "ref-proc-123",
"authenticationId": "auth-ref-123"
},
"services": [
{
"envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",
"documentIds": ["doc-abc-123"],
"consent_granted": true,
"documents": [
{
"doc_id": "doc-abc-123",
"typified": true,
"cpf_match": true,
"face_match": true,
"validate_doc": true,
"reused_doc": false,
"signed_url": "https://example.com/doc?token=xyz",
"doc": {
"version": 1,
"code": "CNH",
"data": {
"numero": "044589731564",
"cpfNumero": "12345678909",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "1990-05-12T00:00:00Z",
"dataExpiracao": "2027-12-07T00:00:00Z",
"categoria": "B"
}
}
}
]
}
]
}
}
Campos de nível superior
CampoTipoDescrição
process.idstring (UUID)Identificador do processo.
process.flowstringIdentificador do fluxo enviado na criação.
process.callbackUristringURL de callback configurada para eventos do processo.
process.userRedirectUrlstringURL para redirecionar o usuário após a conclusão da jornada.
process.stateenumEstado atual do processo. Veja os valores abaixo.
process.resultenumResultado da verificação. Presente apenas quando state = PROCESS_STATE_FINISHED.
process.createdAtstring (datetime)Timestamp ISO 8601 de quando o processo foi criado.
process.finishedAtstring (datetime)Timestamp ISO 8601 de quando o processo foi finalizado. Presente apenas quando state = PROCESS_STATE_FINISHED.
process.expiresAtstring (datetime)Timestamp ISO 8601 de quando o processo expira.
process.purposestringFinalidade do processo conforme configurado no fluxo.
process.clientReferencestringReferência opcional do lado do cliente para indexação no portal.
process.useCasestringIdentificador do caso de uso associado ao fluxo.
process.capacitiesarray de stringsLista de capacidades ativadas neste processo.
process.tokenstringJWT assinado para integração com o SDK.
process.personobjectIdentificação fornecida na criação.
process.person.notificationsarrayCanais de notificação configurados para a jornada (ex.: email).
process.authenticationInfoobjectResultados por capacidade. Veja abaixo.
process.companyDataobjectContexto de empresa e filial.
process.companyData.branchIdstringIdentificador da filial.
process.companyData.countryCodestringCódigo de país ISO 3166-1 alpha-2.
process.bioTokenDataobjectInformações do processo de referência — presente apenas em fluxos de Validação 1:1 e Revalidação Inteligente.
process.servicesarrayEnvelopes assinados, documentos capturados e outras saídas de serviço. Veja abaixo.
Valores de process.state
ValorSignificado
PROCESS_STATE_CREATEDProcesso criado; o usuário ainda não concluiu a jornada.
AWAITING_FOR_DOCUMENTProcesso criado sem documento de identificação; aguardando que ele seja definido via Definir Documento do Processo. Presente apenas quando o Fluxo Personalizado permite documento opcional.
PROCESS_STATE_FINISHEDJornada concluída. Verifique result e authenticationInfo.
PROCESS_STATE_FAILEDErro de processamento.
Inconsistência na nomenclatura de estados

AWAITING_FOR_DOCUMENT não segue a convenção de prefixo PROCESS_STATE_* utilizada pelos demais estados. Trata-se de uma inconsistência de nomenclatura conhecida na API atual.

Valores de process.result
ValorSignificado
PROCESS_RESULT_OKTodas as capacidades retornaram resultados positivos.
PROCESS_RESULT_INVALID_IDENTITYAo menos uma capacidade retornou resultado negativo definitivo (ex.: liveness reprovado, identidade não correspondida).
PROCESS_RESULT_ERRORErro durante o processamento do resultado.
PROCESS_RESULT_EXPIREDProcesso expirou antes de a jornada ser concluída.
PROCESS_RESULT_UNSPECIFIEDProcesso ainda não finalizado.
Resultados de capacidade em authenticationInfo

Todos os campos são sempre retornados independentemente do fluxo. Campos de capacidades não utilizadas no fluxo retornam *_UNSPECIFIED.

Valores de enum abreviados

Os valores abreviados (ex.: livenessResult = LIVE, authenticationResult = INCONCLUSIVE) correspondem diretamente aos valores completos documentados aqui (LIVENESS_RESULT_LIVE, AUTHENTICATION_RESULT_INCONCLUSIVE, etc.) — o prefixo é omitido por brevidade.

CampoCapacidadeValores possíveis
authenticationIdIdentificador único desta tentativa de autenticação.
livenessResultProva de VidaLIVENESS_RESULT_LIVE, LIVENESS_RESULT_NOT_LIVE, LIVENESS_RESULT_UNSPECIFIED
authenticationResultVerificação de IdentidadeAUTHENTICATION_RESULT_POSITIVE, AUTHENTICATION_RESULT_NEGATIVE, AUTHENTICATION_RESULT_INCONCLUSIVE, AUTHENTICATION_RESULT_UNSPECIFIED
identityFraudstersResultClassificação de risco de fraudeTRUST_RESULT_YES, TRUST_RESULT_INCONCLUSIVE, TRUST_RESULT_UNSPECIFIED
bioTokenEngineResultValidação 1:1BIO_TOKEN_ENGINE_RESULT_POSITIVE, BIO_TOKEN_ENGINE_RESULT_NEGATIVE, BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED
smartRevalidationResultRevalidação InteligenteSMART_REVALIDATION_RESULT_POSITIVE, SMART_REVALIDATION_RESULT_NEGATIVE, SMART_REVALIDATION_RESULT_UNSPECIFIED
idAgeResultVerificação de IdadeID_AGE_RESULT_POSITIVE, ID_AGE_RESULT_NEGATIVE, ID_AGE_RESULT_INCONCLUSIVE, ID_AGE_RESULT_UNSPECIFIED
scoreEngineResult.scoreEnabledScore de RiscoSCORE_ENABLED_TRUE, SCORE_ENABLED_FALSE, SCORE_ENABLED_UNSPECIFIED
scoreEngineResult.scoreScore de RiscoNúmero de -100 a +100. Presente quando authenticationResult = AUTHENTICATION_RESULT_INCONCLUSIVE e a Classificação de risco de fraude está habilitada.
serproResult.scoreRetorno de Semelhança do Serpro0100 (similaridade); -1 (sem foto cadastrada para este CPF); -2 (erro de integração).
Campos de process.services
CampoTipoDescrição
envelopeIdstring (UUID)Identificador do envelope assinado.
documentIdsarray de stringsIDs dos documentos capturados neste serviço.
consent_grantedbooleanSe o usuário concedeu consentimento para compartilhamento de dados.
documentsarrayDocumentos capturados com dados de OCR e resultados de validação.
documents[].doc_idstringIdentificador do documento.
documents[].typifiedbooleanSe o tipo de documento foi identificado com sucesso.
documents[].cpf_matchbooleanSe o CPF no documento corresponde ao CPF fornecido.
documents[].face_matchbooleanSe a selfie corresponde à foto no documento.
documents[].validate_docbooleanSe o documento passou na validação de autenticidade.
documents[].reused_docbooleanSe este documento foi reaproveitado de um processo anterior.
documents[].signed_urlstringURL pré-assinada para download do PDF do documento (válida por 5 minutos — busque novamente para renovar).
documents[].doc.versionintegerVersão do schema de OCR.
documents[].doc.codestringCódigo do tipo de documento (ex.: CNH, RG).
documents[].doc.dataobjectCampos extraídos por OCR. O conteúdo varia por tipo de documento e dados disponíveis.
400 Bad Request

O parâmetro de path processId está ausente ou malformado.

401 Unauthorized

Bearer token ausente, expirado ou inválido.

404 Not Found

O processId não existe ou não pertence ao tenant autenticado.

429 Too Many Requests

Rate limit atingido.

Códigos de Erro

CódigoMensagemDescrição
3process id is invalidQuando o ID do processo é inválido.

Polling vs webhook

Você pode fazer polling neste endpoint para verificar o andamento, mas o padrão recomendado é assinar um webhook e chamar este endpoint apenas como fallback. Consulte Webhooks e Eventos.

Próximos passos