Processamento
O processamento é o coração da nossa API, permitindo que você envie documentos e imagens faciais para análises automatizadas e receba resultados estruturados conforme o tipo de processamento escolhido.
Este endpoint unifica as capacidades da plataforma:
- Documentos: Envie imagens de documentos (RG, CNH, DNI, CIN, INE) para Tipificação, OCR e Documentoscopia
- Comparação facial: Compare faces entre si com Facematch ou valide a selfie contra o documento com Facedoc
Os processamentos de Liveness (13), Biometria (14) e Liveness + Biometria (15) são realizados exclusivamente via SDK ou interface Tirrell. Consulte a documentação de Tipos de Processamento para mais detalhes.
Consulte a documentação de Tipos de Processamento para escolher a análise adequada ao seu caso de uso.
Como funciona
O processo acontece em duas etapas:
- Você envia as imagens (documentos ou faces) com os parâmetros necessários para processamento
- O sistema retorna um ticket confirmando que recebeu a solicitação e iniciou o processamento
Os resultados completos serão enviados posteriormente via webhook para a URL configurada na requisição.
Para processamento de documentos, é essencial enviar frente (face A) e verso (face B) para uma análise completa e precisa.
Enviando imagens para processamento
Para enviar dados ao sistema, você deve possuir um token válido e montar o JSON com os parâmetros necessários para o processamento.
Solicitação
Endpoint:
POST https://ticketsentrypoint-api.spekter.com.br/Ticket
Cabeçalhos necessários:
Content-Type: application/json
Accept: application/json
Authorization: Bearer {seu_token}
Corpo da requisição (JSON):
A estrutura de entrada varia entre tipos de processamento de documentos e comparação facial.
Veja abaixo as duas estruturas disponíveis:
- Documentos
- Comparação Facial
Tipos: 1, 2, 4, 7
{
"idExterno": "string",
"idTipoProcessamento": 0,
"urlRetornoTicket": "https://sua-url-webhook.com",
"cpf": "12345678910",
"arquivos": ["string1Base64", "string2Base64"]
}
Tipos: 16 (Facematch) e 20 (Facedoc)
{
"idExterno": "string",
"idTipoProcessamento": 16,
"arquivos": "base64_face_cadastrada",
"selfie": "base64_selfie"
}
- arquivos: imagem da face cadastrada na base de dados do cliente
- selfie: imagem da face capturada para comparação
Parâmetros de entrada
Requisição para documentos (Tipos 1, 2, 4, 7)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| idExterno | string (varchar 45) | Sim | Código de identificação interna do cliente |
| idTipoProcessamento | integer (int64) | Sim | Código do tipo de processamento a ser realizado |
| urlRetornoTicket | string | Sim | URL do webhook onde será enviado o resultado da análise |
| arquivos | array[string] | Sim | Lista de imagens (JPG, JPEG, PNG) codificadas em base64 (utf-8) |
| cpf | string (varchar 11) | Não | CPF do portador do documento |
Requisição para comparação facial (Tipos 16 e 20)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| idExterno | string (varchar 45) | Sim | Código de identificação interna do cliente |
| idTipoProcessamento | integer (int64) | Sim | Código do tipo: 16 (Facematch) ou 20 (Facedoc) |
| arquivos | string | Sim | Imagem em base64 da face cadastrada na base de dados do cliente |
| selfie | string | Sim | Imagem em base64 da face capturada para comparação |
Retorno da solicitação
A estrutura de saída varia entre tipos de processamento de documentos e comparação facial.
Veja abaixo as duas estruturas de resposta:
- Documentos
- Comparação Facial
Tipos: 1, 2, 4, 7
{
"id": 360681,
"idExterno": "123",
"ticket": "0c15af60-c69c-4223-b89d-db4712267dbe",
"dtCriacao": "2022-11-23T19:10:53.7427443-03:00",
"idCliente": "08d806f7-6c08-46b6-8455-c115d3ccb720",
"idSubcliente": "00000000-0000-0000-0000-000000000000",
"idUsuario": "08d905b4-653b-4842-8fa0-d400108b98fc",
"statusProcessamento": 3,
"dtStatusProcessamento": "2022-11-23T19:10:53.7427581-03:00",
"idTipoProcessamento": 4,
"urlRetornoTicket": "https://sua-url-webhook.com",
"base64FaceA": "/9j/4AAQSkZJRgABAQAAAQABAAD/...",
"base64FaceB": "/9j/4AAQSkZJRgABAQAAAQABAAD/...",
"documentoEncontrado": true,
"tipoDocumento": "CNH",
"subtipoDocumento": "CNH 2022"
}
Tipos: 16 (Facematch) e 20 (Facedoc)
{
"status": {
"id": 4,
"nome": "Processado"
},
"baseComparacao": "/9j/4AAQSkZJRgABAQAAAQABAAD/...",
"selfie": "/9j/4AAQSkZJRgABAQAAAQABAAD/...",
"facematch": {
"status": true,
"verificado": true
},
"ticket": "a6c00ac4-cae2-4602-abb0-a81444914967"
}
Campos do retorno
Retorno para documentos (Tipos 1, 2, 4, 7)
Informações do ticket
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer (int64) | Identificação interna do ticket |
| idExterno | string | Código de identificação interna do cliente |
| ticket | string (UUID) | Identificador único do processamento |
| dtCriacao | string (date-time) | Data e hora de criação do ticket |
| idCliente | string (UUID) | Identificação do cliente no sistema |
| idSubcliente | string (UUID) | Identificação do subcliente no sistema |
| idUsuario | string (UUID) | Identificação do usuário |
Status e processamento
| Campo | Tipo | Descrição |
|---|---|---|
| statusProcessamento | integer (int64) | Código do status de processamento |
| dtStatusProcessamento | string (date-time) | Data e hora da última atualização do status |
| idTipoProcessamento | integer (int64) | Código do tipo de processamento realizado |
| urlRetornoTicket | string | URL do webhook configurado para receber o resultado |
Imagens processadas
| Campo | Tipo | Descrição |
|---|---|---|
| base64FaceA | string | Imagem da face A (frente) em base64 |
| base64FaceB | string | Imagem da face B (verso) em base64 |
Documento identificado
| Campo | Tipo | Descrição |
|---|---|---|
| documentoEncontrado | boolean | Indica se um documento foi identificado na imagem |
| tipoDocumento | string | Tipo do documento identificado (RG, CNH, etc.) |
| subtipoDocumento | string | Subtipo do documento (ex: CNH 2022) |
Retorno para comparação facial (Tipos 16 e 20)
| Campo | Tipo | Descrição |
|---|---|---|
| status.id | integer | Código do status do processamento |
| status.nome | string | Nome do status (ex: "Processado") |
| baseComparacao | string | Imagem em base64 da face cadastrada utilizada na comparação |
| selfie | string | Imagem em base64 da selfie enviada |
| facematch.status | boolean | Indica se a comparação foi realizada com sucesso |
| facematch.verificado | boolean | Indica se as faces correspondem (true = match positivo) |
| ticket | string (UUID) | Identificador único do processamento |
Próximos passos
Após enviar as imagens para processamento, você receberá um ticket de confirmação. Os resultados completos serão enviados para a urlRetornoTicket configurada assim que o processamento for concluído.
Consulte a documentação de Webhook para entender como receber e processar os resultados, e a documentação de Status de Processamento para conhecer todos os possíveis status.