1. Fluxos SPID Services

Este documento descreve brevemente os fluxos de operação do SPID Services, a API para integração com o SPID Client.

Há dois fluxos essenciais, Captura Presencial e Captura Remota, detalhados a abaixo.

1.1. Captura Presencial

O fluxo de operação para captura presencial segue o diagrama abaixo, e a principal diferenciação depende do CPF consultado já existir na base. Todas as operações mencionadas neste fluxo estão detalhadas no manual SPID Services API.

Fluxo SPID Services: Captura Presencial

1.1.1. Autenticação

  1. A aplicação deve se autenticar no SPID Client com a chamada Login e se certificar que a operação foi bem sucedida com a chamada Login Status.

  2. A aplicação deve iniciar uma verificação chamando Verify com o CPF do indivíduo.

Caso o CPF do indivíduo não esteja na base, a chamada retornará PERSON_NOT_FOUND, e a aplicação deverá seguir Indivíduo Não Cadastrado. Caso contrário, deverá seguir o Indivíduo Já Cadastrado.

1.1.2. Indivíduo Não Cadastrado

  1. A aplicação precisa realizar o enroll do indivíduo, chamando Enroll (Enroll) e chamar Capture Status até obter o status CLIENT_CAPTURE_DONE.

  2. A aplicação deve iniciar a autenticação biométrica do operador com Operator Capture, e chamar Capture Status até obter a indicação de sucesso OPERATOR_CAPTURE_DONE.

  3. A aplicação deve enviar a captura com Capture Send (Send). Neste caso, a operação será assíncrona, o a resposta esperada é CAPTURE_ENQUEUED.

  4. Opcionalmente, a aplicação pode consultar o status do processamento do enroll com Capture Result by ID. O processamento do enroll pode ser demorado, e a aplicação não deve assumir que obterá uma resposta definitiva em um curto período de espera.

  5. A aplicação pode obter o relatório da operação com Capture Report, concluindo o fluxo de tratamento do indivíduo.

1.1.3. Indivíduo Já Cadastrado

  1. A chamada Verify retornará CLIENT_CAPTURING e será iniciada a captura biométrica do indivíduo. A aplicação deve chamar Capture Status até obter indicação que a captura foi concluída, CLIENT_CAPTURE_DONE.

  2. A aplicação deve iniciar a autenticação biométrica do operador com Operator Capture, e chamar Capture Status até obter a indicação de sucesso OPERATOR_CAPTURE_DONE.

  3. A aplicação deve enviar a captura com Capture Send (Send). Neste caso, a operação será síncrona e retornará a resposta VERIFIED indicando sucesso.

  4. A aplicação deve obter o status o match biométrico, chamando Capture Result by ID com o TGUID recebido no passo anterior. Se não houve match (SEARCH_NOT_MATCH), a aplicação pode, se desejar, realizar o enroll do indivíduo.

  5. A aplicação pode obter o relatório da operação com Capture Report, concluindo o fluxo de tratamento do indivíduo.

1.1.4. Reenvios

Os envios (Capture Send) podem falhar por erros de transmissão e falhas temporárias de infra-estrutura (servidores indisponíveis ou sobrecarregados). Recomenda-se que a aplicação realize uma vez por dia o reenvio das operações pendentes, chamando Capture Resend All (Capture Resend All).

1.2. Captura Remota

O fluxo de operação para captura remota através de serviço externo de verificação, que inclui um aplicativo instalado no dispositivo (smartphone/tablet) do cliente, segue o diagrama abaixo. Todas as operações mencionadas neste fluxo estão detalhadas no manual SPID Services API. A captura remota permite tanto a verificação de clientes já cadastrados na base (Remote Verify) como o cadastro de novos clientes (Remote Enroll).

Fluxo SPID Services: Captura Remota

1.2.1. Autenticação

  1. A aplicação deve se autenticar no SPID Client com a chamada Login e se certificar que a operação foi bem sucedida com a chamada Login Status.

1.2.2. Captura do Operador

  1. A aplicação deve iniciar a autenticação biométrica do operador com Operator Capture, e chamar Capture Status até obter a indicação de sucesso OPERATOR_CAPTURE_DONE.

1.2.3. Verificação Remota do Cliente

  1. A aplicação deve iniciar a verificação remota do cliente com a a chamada Remote Verify. Esta chamada retornará uma URL (usada pelo aplicativo externo do cliente para submeter os dados biométricos para verificação) e um TGUID (identificador da transação).

  2. A URL é repassada ao serviço de verificação remota, que realizará a captura biométrica (através de aplicativo no dispositivo do cliente) e utilizará a URL para submeter os dados biométricos capturados.

  3. A aplicação deve verificar o resultado da verificação biométrica com a chamada Remote Verify Result by ID, que retornará SEARCH_MATCH ou SEARCH_NOT_MATCH, indicando o resultado da operação.