Pular para o conteúdo principal

Criar Processo de Documento

MarkdownChatGPTClaude

Este endpoint gerencia dois fluxos de documento que compartilham o mesmo caminho, mas diferem nos parâmetros do body:

  • Nova captura — envia imagem(ns) do documento em base64 para processamento (document.files obrigatório).
  • Reutilização — pula a captura referenciando um documento capturado anteriormente (document.documentId obrigatório).

O fluxo ativo é determinado pelo fornecimento ou não de document.documentId no body da requisição.

Antes de criar um processo de documento, use Obter Documentos Reutilizáveis para verificar se o usuário já possui um documento disponível para reutilização.

Para o fluxo completo de integração, consulte Visão geral da API.

Endpoint​

AmbienteURL
ProduçãoPOST https://api.id.unico.app/processes/v1
SandboxPOST https://api.id.uat.unico.app/processes/v1

Requisição​

Headers
HeaderValor
AuthorizationBearer <access_token> (consulte Autenticação)
APIKEYChave de API provisionada com Captura e Reutilização de Documentos habilitadas.
Content-Typeapplication/json
Parâmetros do body
CampoTipoObrigatórioDescrição
subject.duiTypeintegersimIdentificador do tipo de documento. Veja os valores de duiType abaixo.
subject.codestringsimValor do identificador do usuário conforme definido por subject.duiType. Sem pontos ou traços.
subject.namestringnãoNome completo.
subject.genderstringnãoM ou F.
subject.birthDatestring (ISO 8601)nãoData de nascimento (YYYY-MM-DD).
subject.emailstringnãoEndereço de e-mail.
subject.phonestringnãoNúmero de telefone no formato E.164.
document.purposestringsimFinalidade de negócio. Valores: creditprocess, carpurchase, paybypaycheck, onboarding, fgts.
document.authProcessIdstringsimID do processo biométrico vinculado a esta captura de documento.
document.filesarraysimImagens do documento em base64 (frente e/ou verso).
document.files[].datastringsimImagem do documento em base64 (PNG, JPEG ou WebP, máx. 800 KB).
subsidiaryIdstringnãoID da filial — obrigatório apenas se existirem múltiplas filiais.
Valores de duiType
PaísCódigoDescrição
AR6Passaporte Argentino
AR7DNI Argentino
AR49Carteira de motorista Argentina (Licencia Nacional de Conducir)
AT34Número de Contribuinte Austríaco (STNR)
BE36Número Nacional Belga (NN)
BR1CPF Brasileiro
BR5Passaporte Brasileiro
BR14CNPJ Brasileiro
CA28SIN Canadense
CH33Número AHV/AVS Suíço
CL9RUN Chileno
CL52Passaporte Chileno
CL57Carteira de motorista Chilena (Licencia de Conducir)
CO26NIT Colombiano
CO53Passaporte Colombiano
CO55Carteira de motorista Colombiana (Licencia de Conducción)
CO56Cédula de Cidadania Colombiana (Cédula de Ciudadanía)
DE41Número de Identificação Fiscal Alemão (IdNr)
DK29CPR Dinamarquês
EC10NI Equatoriano
ES50Número de Identidade de Estrangeiro Espanhol (NIE)
ES51Documento Nacional de Identidade Espanhol (DNI)
FI35Código de Identidade Pessoal Finlandês (HETU)
FR46Número de Referência Fiscal Francês (SPI)
GB30Número de Seguro Nacional Britânico (NINO)
GT12CUI Guatemalteco
ID16NIK Indonésio
IE47Número de Serviço Público Pessoal Irlandês (PPSN)
IT37Codice Fiscale Italiano (CF)
LU48Número de Identificação Nacional de Luxemburgo (Matricule)
MX2CURP Mexicano
MX25RFC Mexicano (Pessoa Física)
MX58Carteira de motorista Mexicana (Licencia de Conducir)
NG8NIN Nigeriano
NG20Número de Verificação Bancária Nigeriano (BVN)
NG43Token de BVN Nigeriano (hash)
NG44Token de NIN Nigeriano (hash)
NL42Número de Serviço ao Cidadão Holandês (BSN)
NO39Número de Identidade Nacional Norueguês (Fødselsnummer)
PE27RUC Peruano
PE40DNI Peruano
PE54Passaporte Peruano
PL31PESEL Polonês
PT45Número de Identificação Fiscal Português (NIF)
SE32Número Pessoal Sueco (PNR)
SE38Número de Coordenação Sueco (Samordningsnummer)
TR24Número de Identificação Turco (TCKN)
US4SSN dos Estados Unidos
US11Passaporte dos Estados Unidos
US18Carteira de motorista dos Estados Unidos
US21Cartão de Passaporte dos Estados Unidos
US22Passaporte de Policarbonato dos Estados Unidos
US23Carteira de Identidade dos Estados Unidos
UY13CI Uruguaia
ZZ15Endereço de e-mail
ZZ17Número de telefone
—0Não especificado
—3Identificador interno Unico

Exemplo​

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": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker"
},
"document": {
"purpose": "onboarding",
"authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"files": [
{ "data": "/9j/4AAQSkZJR..." }
]
}
}'

Respostas​

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"document": {
"id": "doc-abc-123",
"type": "unico.moja.dictionary.br.cnh.v2.Cnh",
"cpfMatch": true,
"faceMatch": true,
"content": {
"numero": "12345678",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "2000-05-20T00:00:00Z",
"categoria": "B",
"dataExpiracao": "2030-05-20T00:00:00Z"
},
"fileUrls": [
"https://storage.unico.app/documents/doc-abc-123/front.jpg"
]
}
}
CampoTipoDescrição
idstring (UUID)Identificador do processo.
statusinteger3 (finalizado com sucesso), 5 (finalizado com falha).
document.idstringIdentificador do documento capturado. Use este valor em futuras requisições com document.documentId para reutilização.
document.typestringTipo de documento identificado, como nome de dicionário totalmente qualificado. Veja os valores de document.type abaixo.
document.cpfMatchbooleantrue se o identificador extraído do documento corresponde a subject.code.
document.faceMatchbooleantrue se a foto do documento corresponde à selfie biométrica de document.authProcessId.
document.contentobjectCampos extraídos via OCR. A estrutura varia conforme o tipo de documento — clique aqui para detalhes dos campos.
document.fileUrlsarrayURLs temporárias (validade de 10 minutos) para download das imagens do documento.

Apenas os campos extraídos com sucesso estão presentes em document.content; o que o OCR não conseguiu ler é omitido em vez de retornado vazio.

Valores de document.type
Schema unificado

Todos os tipos de documento que usam o schema unificado — unified_schema na referência de campos — são reportados em document.type como unico.moja.dictionary.<country>.generic.v1.<DocumentType>, onde <country> é o código ISO 3166-1 alpha-2 em minúsculas e <DocumentType> é o tipo identificado. Por exemplo:

  • unico.moja.dictionary.ar.generic.v1.IdCard: Documento de identidade argentino
  • unico.moja.dictionary.us.generic.v1.PolycarbonatePassport: Passaporte de policarbonato dos EUA
Schemas específicos

Os tipos de documento que usam o próprio schema de campos — listados em specific_document_schemas na referência de campos — são mostrados na tabela abaixo:

PaísValorDocumento
BRunico.moja.dictionary.br.rg.v2.RgRG
BRunico.moja.dictionary.br.cnh.v2.CnhCNH (carteira de habilitação)
BRunico.moja.dictionary.br.cin.v1.CinCIN
BRunico.moja.dictionary.br.passaporte.v1.PassaportePassaporte
MXunico.moja.dictionary.mx.ine.v1.IneCredencial de eleitor INE
MXunico.moja.dictionary.mx.lpc.v1.LpcLicencia para conducir (carteira de habilitação)
MXunico.moja.dictionary.mx.pasaporte.v1.PasaportePassaporte
—unico.moja.dictionary.other.unknown.v1.UnknownO tipo não pôde ser identificado — document.content está vazio

Nenhuma extração de OCR é realizada e nenhum campo é reportado quando document.type é unico.moja.dictionary.other.unknown.v1.Unknown.

Códigos de Erro​

CódigoMensagemDescrição
99989The document is invalid.O objeto document possui uma estrutura inválida.
99988The document is empty.O objeto document está ausente no body da requisição.
20900O base64 informado não é válido.O parâmetro base64 é inválido. Possíveis causas: não é uma imagem ou é uma tentativa de injeção.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.A resolução da imagem enviada está abaixo do mínimo.
20509The subject.name field is invalid.subject.name contém caracteres inválidos.
20508The subject.gender field is invalid.subject.gender deve ser M ou F.
20507O parâmetro subject.code é inválido.Valor de identificador não padrão ou inexistente.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.Tamanho da imagem excede 800 KB; comprima em JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.O formato base64 é inválido ou não suportado.
20068The document.documentId or document.files parameter must be present.Nem document.documentId nem document.files foram fornecidos.
20067The document.purpose parameter is invalid.Valor não reconhecido em document.purpose.
20066The document.authProcessId parameter is invalid.Valor inválido em document.authProcessId.
20062The useCase field is invalid.Valor não reconhecido no campo useCase.
20021The subject.phone field is invalid.Formato de subject.phone inválido (DDI + DDD + número, 13 caracteres).
20019The subject.birthDate field is invalid.subject.birthDate fora do formato ISO 8601 (YYYY-MM-DD).
20009O parâmetro imagebase64 não foi informado.O parâmetro de imagem do documento está ausente.
20008The subject.email field is invalid.Formato de e-mail inválido em subject.email.
20005O parâmetro subject.code não foi informado.O parâmetro subject.code está ausente.
20004O parâmetro subject não foi informado.O parâmetro subject está ausente.
20003The request body is missing or invalid.Payload nulo ou inválido.
20002O parâmetro APIKey não foi informado.O parâmetro APIKEY está ausente no header da requisição.
20001O parâmetro authtoken não foi informado.O parâmetro de token de integração está ausente no header da requisição.
10508The JWT with the captured face has already been used.O JWT só pode ser usado uma vez.
10507The JWT with the captured face is expired.JWT expirado; deve ser enviado dentro de 10 minutos.
10506The imageBase64 field is not a valid JWT from SDK.O imageBase64 não é um JWT válido gerado pelo SDK.

Próximos passos​