Pular para o conteúdo principal

Criar Processo de Documento

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
BR1CPF Brasileiro
MX2CURP Mexicano
US4SSN dos Estados Unidos
BR5Passaporte Brasileiro
AR6Passaporte Argentino
AR7DNI Argentino
NG8NIN Nigeriano
CL9RUN Chileno
EC10NI Equatoriano
US11Passaporte dos Estados Unidos
GT12CUI Guatemalteco
UY13CI Uruguaia
BR14CNPJ Brasileiro
ZZ15Endereço de e-mail
ID16NIK Indonésio
ZZ17Número de telefone
US18Carteira de motorista dos Estados Unidos
NG20Número de Verificação Bancária Nigeriano (BVN)
US21Cartão de Passaporte dos Estados Unidos
US22Passaporte de Policarbonato dos Estados Unidos
US23Carteira de Identidade dos Estados Unidos
TR24Número de Identificação Turco (TCKN)
MX25RFC Mexicano (Pessoa Física)
CO26NIT Colombiano
PE27RUC Peruano
CA28SIN Canadense
DK29CPR Dinamarquês
GB30Número de Seguro Nacional Britânico (NINO)
PL31PESEL Polonês
SE32Número Pessoal Sueco (PNR)
CH33Número AHV/AVS Suíço
AT34Número de Contribuinte Austríaco (STNR)
FI35Código de Identidade Pessoal Finlandês (HETU)
BE36Número Nacional Belga (NN)
IT37Codice Fiscale Italiano (CF)
SE38Número de Coordenação Sueco (Samordningsnummer)
NO39Número de Identidade Nacional Norueguês (Fødselsnummer)
PE40DNI Peruano
DE41Número de Identificação Fiscal Alemão (IdNr)
NL42Número de Serviço ao Cidadão Holandês (BSN)
NG43Token de BVN Nigeriano (hash)
NG44Token de NIN Nigeriano (hash)
PT45Número de Identificação Fiscal Português (NIF)
FR46Número de Referência Fiscal Francês (SPI)
IE47Número de Serviço Público Pessoal Irlandês (PPSN)
LU48Número de Identificação Nacional de Luxemburgo (Matricule)
AR49Carteira de motorista Argentina (Licencia Nacional de Conducir)
ES50Número de Identidade de Estrangeiro Espanhol (NIE)
ES51Documento Nacional de Identidade Espanhol (DNI)
CL52Passaporte Chileno
CO53Passaporte Colombiano
PE54Passaporte Peruano
CO55Carteira de motorista Colombiana (Licencia de Conducción)
CO56Cédula de Cidadania Colombiana (Cédula de Ciudadanía)
CL57Carteira de motorista Chilena (Licencia de Conducir)
MX58Carteira de motorista Mexicana (Licencia de Conducir)
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