Todas as páginas
Fornecido por GitBook
1 de 9

API Reference

Nesta seção, você encontrará todas as APIs REST disponíveis para utilização do meio de integração by Unico

Criação do Processo

Nesta seção, você encontrará como criar um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Criação de Processos no by Unico. Perceba que, para utilizar as capacidades da plataforma IDCloud neste meio de integração, basta alterar o valor do parâmetro "flow" no momento de criar o processo e a Unico será a responsável por orquestrar todas as capacidades que deseja utilizar.

Entenda mais sobre a utilização das capacidades no by Unico na seção Visão Geral.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://api.cadastro.uat.unico.app;

  • Produção: https://api.cadastro.unico.app.


Criação do Processo


Criar Processo

post

Endpoint para criar um novo processo no by Unico.

Autorizações
Corpo
callbackUristringObrigatório

Define para onde o usuário será redirecionado ao fim do processo. Valores possíveis são: Uma URL https para redirecionar páginas web (ex: https://developers.unico.io/callback), uma URL Schema para redirecionamento em aplicações móveis nativas (ex: br.com.meupacote.app://callback - o callback precisa estar registrado em sua aplicação móvel) ou sem redireciomento (incluir apenas a '/').

Example: /
flowstring · enumObrigatório

Tipo de fluxo. Veja detalhes dos fluxos na seção 'Visão Geral' nesta mesma documentação (alguns fluxos foram depreciados e você pode consultá-los também na seção 'Visão Geral').

Example: idunicosignValores possíveis:
clientReferencestringOpcional

É um identificador não obrigatório que será utilizado como indexador no portal e você pode utilizar como forma de associação (foreign key) entre seu sistema e o IDCloud.

Example: 60837cd3-ed3c-4038-ad7c-0a85ad64b03a
companyBranchIdstringOpcional

É o ID da filial onde o processo será criado. Caso haja somente uma filial associada a conta de serviço, não há a necessidade de passar este parâmetro. Caso haja separação de processos por filial, você receberá os IDs das filiais do time Unico.

Example: 60837cd3-ed3c-4038-ad7c-0a85ad64b03a
bioTokenIdstringOpcional

Identificação do token biométrico. Obrigatório para o flow "idtoken" e deve-se utilizar um id de um processo concluído de qualquer outro flow de verificação de identidade.

Example: 60837cd3-ed3c-4038-ad7c-0a85ad64b03a
purposestring · enumObrigatório

Propósito do processo.

Example: creditprocessValores possíveis:
expiresInstringOpcional

É o tempo de expiração do processo em segundos a partir de sua criação. Deve ser passado um valor no padrão "10080s", com "s" no fim. Caso este parâmetro não seja informado, será usado o valor default de 7 dias.

Example: 3600s
Respostas
200
Processo criado com sucesso.
application/json
400
Payload inválido.
application/json
401
Erro no access-token.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
post
POST /client/v1/process HTTP/1.1
Host: api.cadastro.uat.unico.app
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 950

{
  "callbackUri": "/",
  "flow": "idunicosign",
  "flow_config": {
    "biometry_capture": {
      "enabled_back_camera": true
    }
  },
  "clientReference": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
  "companyBranchId": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
  "bioTokenId": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "12345678909",
    "friendlyName": "Luke Skywalker",
    "phone": "5511912345678",
    "email": "teste@teste.com",
    "notifications": [
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
      }
    ]
  },
  "purpose": "creditprocess",
  "expiresIn": "3600s",
  "contextualization": {
    "currency": "BRL",
    "price": 15990.9,
    "locale": {
      "ptBr": {
        "reason": "Abertura de cadastro"
      },
      "enUs": {
        "reason": "Identity validation for personal loan application"
      },
      "esMX": {
        "reason": "Validación de identidad para solicitud de préstamo personal"
      }
    }
  },
  "payload": [
    {
      "envelopePayload": {
        "documents": [
          {
            "documentName": "teste",
            "fileContents": "JVBERi0xLjMNCiXi48/[...]DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg=="
          }
        ]
      }
    }
  ]
}
{
  "process": {
    "id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
    "companyBranchId": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
    "flow": "idunicosign",
    "callbackUri": "/path/to/callback-url/",
    "userRedirectUrl": "https://cadastro.dev.unico.app/process/53060f52-f146-4c12-a234-5bb5031f6f5b",
    "state": "PROCESS_STATE_CREATED",
    "createdAt": "2023-10-09T15:15:25.417105Z",
    "person": {
      "duiType": "DUI_TYPE_BR_CPF",
      "duiValue": "73689290074",
      "friendlyName": "Luke Skywalker",
      "phone": "5511912345678",
      "email": "teste@teste.com",
      "notifications": [
        {
          "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
        }
      ]
    },
    "purpose": "creditprocess",
    "authenticationInfo": {},
    "capacities": [
      [
        "PROCESS_CAPACITY_IDUNICO",
        "PROCESS_CAPACITY_IDCHECK",
        "PROCESS_CAPACITY_IDDOCS"
      ]
    ],
    "expiresAt": "2023-10-09T15:15:25.417105Z",
    "token": "eyJhbGciOiJSUzI1[...]d_jhQ",
    "companyData": {
      "branchId": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
      "countryCode": "BRA"
    },
    "clientReference": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a"
  }
}

Os processos devem ser criados exclusivamente em uma comunicação backend-to-backend, devido à nossa política de CORS, que impede a criação de processos em uma comunicação frontend-to-backend.

A obrigatoriedade de parâmetros na criação do processo pode mudar a depender dos flows utilizados. Ex:

  • Em flows que possuem Assinatura eletrônica, é obrigatório o envio do objeto payload e todas as suas propriedades;

  • Em flows que possuem Validação (1:1), é obrigatório o envio da propriedade bioTokenId.

Dicas:

  • Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Criação de processos separados por flows

Nesta seção, você encontrará exemplos de requisições de Ciação de processos no by Unico


Requisições separadas por flows


{
  "callbackUri": "/path/to/url",
  "flow": "idlive", //este é um exemplo de flow
  "companyBranchId": "60837cd3-ed3c-4038-ad7c",
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "73689290074",
    "friendlyName": "Luke Skywalker",
    "phone": "5511974749090",
    "email": "luke@unico.io",
    "notifications":
    [
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
      },
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_SMS"
      }
    ]
  },
  "purpose": "biometryonboarding",
  "expiresIn": "3600s"
}
{
  "callbackUri": "/path/to/url",
  "flow": "idunicosign", //este é um exemplo de flow
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "73689290074",
    "friendlyName": "Luke Skywalker",
    "phone": "5511974749090",
    "email": "luke@unico.io",
    "notifications": 
    [
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
      },
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_SMS"
      }
    ]
  },
  "purpose": "biometryonboarding",
  "expiresIn": "3600s",
  "payload": [
    {
      "envelopePayload": {
        "documents": [
          {
            "documentName": "teste",
            "fileContents": "JVBERi0xLjMNCiXi48/[...]DKJSVFT0YNCg=="
          }
        ]
      }
    }
  ]
}
{
  "callbackUri": "/path/to/url",
  "flow": "idtoken", //este é um exemplo de flow
  "bioTokenId": "339f9225-6f09-4303-9688-bf35944787e1",
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "73689290074"
    "friendlyName": "Luke Skywalker",
    "phone": "5511974749090",
    "email": "luke@unico.io",
    "notifications": 
    [
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
      },
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_SMS"
      }
    ]
  },
  "purpose": "biometryonboarding",
  "expiresIn": "3600s"
}
{
  "callbackUri": "/path/to/url",
  "flow": "idtokensign", //este é um exemplo de flow
  "bioTokenId": "339f9225-6f09-4303-9688-bf35944787e1",
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "73689290074"
    "friendlyName": "Luke Skywalker",
    "phone": "5511974749090",
    "email": "luke@unico.io",
    "notifications": 
    [
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
      },
      {
        "notificationChannel": "NOTIFICATION_CHANNEL_SMS"
      }
    ]
  },
  "purpose": "biometryonboarding",
  "expiresIn": "3600s",
  "payload": [
    {
      "envelopePayload": {
        "documents": [
          {
            "documentName": "teste",
            "fileContents": "JVBERi0xLjMNCiXi48/[...]DKJSVFT0YNCg=="
          }
        ]
      }
    }
  ]

Outras formas de fazer uma requisição (request)


curl -X 'POST' \
  'https://api.cadastro.uat.unico.app/client/v1/process/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{TOKEN}}'
  -d '{
    "callbackUri": "/",
    "flow": "id",
    "person": {
        "duiType": "DUI_TYPE_BR_CPF",
        "duiValue": "73689290074",
    "friendlyName": "John Doe"
    },
    "purpose": "creditprocess"
}'

Para utilizar o Postman, siga os passos:

  1. Selecione o método POST.

  2. Insira a URL https://api.cadastro.uat.unico.app/client/v1/process/.

  3. Selecione a aba Authorization.

  4. Na lista de Type, selecione Bearer Token.

  5. Insira o token obtido no campo Token com o prefixo Bearer .

  6. Selecione a aba Body e insira os dados abaixo de acordo com sua necessidade.

{
  "callbackUri": "/paht/callback-url",
  "flow": "id",
  "person": {
    "duiType": "DUI_TYPE_BR_CPF",
    "duiValue": "73689290074",
    "friendlyName": "John Doe"
  },
  "purpose": "creditprocess"
}
const axios = require("axios");

const apiUrl = "https://api.cadastro.uat.unico.app/client/v1/process/";
const token =  "<YOUR_TOKEN_HERE>";

const requestData = {
  callbackUri: "/path/to/url",
  flow: "id",
  person: {
    duiType: "DUI_TYPE_BR_CPF",
    duiValue: "73689290074",
    friendlyName: "John Doe",
  },
  purpose: "creditprocess",
};

const headers = {
  "Content-Type": "application/json",
  Authorization: `Bearer ${token}`,
  accept: "application/json",
};

axios
  .post(apiUrl, requestData, { headers })
  .then((response) => {
    console.log("Resposta da API:", response.data);
  })
  .catch((error) => {
    console.error("Erro:", error);
  });
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        String apiUrl = "https://api.cadastro.uat.unico.app/client/v1/process/";
        String token = "<YOUR_TOKEN_HERE>";

        // Crie o corpo da solicitação em formato JSON
        String requestBody = "{\"callbackUri\":\"/\",\"flow\":\"id\",\"person\":{\"duiType\":\"DUI_TYPE_BR_CPF\",\"duiValue\":\"73689290074\"},\"purpose\":\"creditprocess\"}";

        // Configure os cabeçalhos da solicitação
        Map<String, String> headers = new HashMap<>();
        headers.put("Content-Type", "application/json");
        headers.put("Authorization", "Bearer " + token);
        headers.put("accept", "application/json");

        // Crie a instância do HttpClient
        HttpClient httpClient = HttpClient.newBuilder().build();

        // Crie a solicitação HTTP POST
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(apiUrl))
                .headers(headers.entrySet().stream()
                        .map(e -> e.getKey() + ":" + e.getValue())
                        .toArray(String[]::new))
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        try {
            // Envie a solicitação e obtenha a resposta
            HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());

            // Exiba a resposta da API
            System.out.println("Status da resposta: " + response.statusCode());
            System.out.println("Corpo da resposta: " + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string apiUrl = "https://api.cadastro.uat.unico.app/client/v1/process/";
        string token = "<YOUR_TOKEN_HERE>";

        // Crie o corpo da solicitação em formato JSON
        string requestBody = "{\"callbackUri\":\"/\",\"flow\":\"id\",\"person\":{\"duiType\":\"DUI_TYPE_BR_CPF\",\"duiValue\":\"73689290074\"},\"purpose\":\"creditprocess\"}";

        // Configure os cabeçalhos da solicitação
        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Add("Content-Type", "application/json");
        client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
        client.DefaultRequestHeaders.Add("accept", "application/json");

        try
        {
            // Envie a solicitação HTTP POST
            HttpResponseMessage response = await client.PostAsync(apiUrl, new StringContent(requestBody, Encoding.UTF8, "application/json"));

            // Verifique o status da resposta
            if (response.IsSuccessStatusCode)
            {
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine("Status da resposta: " + response.StatusCode);
                Console.WriteLine("Corpo da resposta: " + responseBody);
            }
            else
            {
                Console.WriteLine("Erro na solicitação. Status da resposta: " + response.StatusCode);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Erro: " + e.Message);
        }
    }
}
package main

import (
    "bytes"
    "fmt"
    "net/http"
)

func main() {
    apiURL := "https://api.cadastro.uat.unico.app/client/v1/process/"
    token := "<YOUR_TOKEN_HERE>";

    // Crie o corpo da solicitação em formato JSON
    requestBody := []byte(`{
        "callbackUri": "/path/to/url",
        "flow": "id",
        "person": {
            "duiType": "DUI_TYPE_BR_CPF",
            "duiValue": "73689290074"
        },
        "purpose": "creditprocess"
    }`)

    // Crie um cliente HTTP
    client := &http.Client{}

    // Crie uma solicitação HTTP POST
    req, err := http.NewRequest("POST", apiURL, bytes.NewBuffer(requestBody))
    if err != nil {
        fmt.Println("Erro ao criar a solicitação HTTP:", err)
        return
    }

    // Defina os cabeçalhos da solicitação
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer "+token)
    req.Header.Set("accept", "application/json")

    // Faça a solicitação HTTP
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Erro ao fazer a solicitação HTTP:", err)
        return
    }
    defer resp.Body.Close()

    // Verifique o status da resposta
    if resp.StatusCode == http.StatusOK {
        // Leitura do corpo da resposta
        var responseBody []byte
        _, err := resp.Body.Read(responseBody)
        if err != nil {
            fmt.Println("Erro ao ler o corpo da resposta:", err)
            return
        }

        fmt.Println("Status da resposta:", resp.Status)
        fmt.Println("Corpo da resposta:", string(responseBody))
    } else {
        fmt.Println("Erro na solicitação. Status da resposta:", resp.Status)
    }
}

Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Consultar Resultado do Processo

Nesta seção, você encontrará como obter o resultado de um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Consulta do Resultado de Processos no by Unico.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://api.cadastro.uat.unico.app;

  • Produção: https://api.cadastro.unico.app.


Consulta do Resultado do Processo


Consultar Resultado do Processo

get

Endpoint para buscar o resultado de um processo no by Unico.

Autorizações
Parâmetros de rota
processIdstringObrigatório

ID do processo.

Respostas
200
Detalhes do processo obtidos com sucesso.
application/json
400
Quando o ID de processo é inválido.
application/json
401
Erro no access-token.
application/json
404
Quando não foi possível encontrar o processo.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
get
GET /client/v1/process/{processId} HTTP/1.1
Host: api.cadastro.uat.unico.app
Authorization: Bearer JWT
Accept: */*
{
  "process": {
    "id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
    "flow": "idunicosign",
    "callbackUri": "/path/to/callback-url/",
    "userRedirectUrl": "https://cadastro.dev.unico.app/process/53060f52-f146-4c12-a234-5bb5031f6f5b",
    "state": "PROCESS_STATE_FINISHED",
    "result": "PROCESS_RESULT_OK",
    "createdAt": "2023-10-05T18:28:58.537985Z",
    "finishedAt": "2023-10-09T15:15:25.417105Z",
    "person": {
      "duiType": "DUI_TYPE_BR_CPF",
      "duiValue": "73689290074",
      "friendlyName": "Luke Skywalker",
      "notifications": [
        {
          "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP"
        }
      ]
    },
    "purpose": "creditprocess",
    "authenticationInfo": {
      "authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
      "authenticationId": "fd433602-d496-4291-adbb-dda95a3e50b1",
      "livenessResult": "LIVENESS_RESULT_LIVE",
      "bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",
      "identityFraudstersResult": "TRUST_RESULT_UNSPECIFIED",
      "scoreEngineResult": {
        "scoreEnabled": "SCORE_ENABLED_TRUE",
        "score": 50
      },
      "serproResult": {
        "score": 50
      }
    },
    "capacities": [
      "PROCESS_CAPACITY_IDUNICO",
      "PROCESS_CAPACITY_IDSIGN",
      "PROCESS_CAPACITY_IDLIVE"
    ],
    "services": [
      {
        "documents": [
          {
            "doc": {
              "version": 2,
              "code": "RG",
              "data": {
                "dataExpiracao": "2025-10-35T00:00:00Z",
                "dataHabilitacao": "2022-08-09T00:00:00Z",
                "dataNascimento": "1950-06-30T00:00:00Z",
                "nomeCivil": "John Doe",
                "rgNumero": 5478854,
                "categoria": "D",
                "cpfNumero": 73689290074,
                "dataEmissao": "2020-08-09T00:00:00Z",
                "localEmissao": "DEREX SP",
                "numero": 85775532778,
                "renachNumero": ""
              }
            },
            "typified": true,
            "cpf_match": true,
            "face_match": true,
            "doc_id": "1e61a978-3673-4fdd-8fa8-808d0a26d131",
            "validate_doc": true,
            "reused_doc": true,
            "signed_url": "https://api.datafortre[...]OXc9PQ%3D%3D"
          }
        ],
        "consent_granted": true,
        "envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",
        "documentIds": [
          "03307601-b518-49ca-b368-ae3919e24e54"
        ]
      }
    ],
    "expiresAt": "2023-10-09T15:15:25.417105Z",
    "token": "",
    "companyData": {
      "branchId": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a",
      "countryCode": "BRA"
    },
    "clientReference": "60837cd3-ed3c-4038-ad7c-0a85ad64b03a"
  }
}

Os processos devem ser criados exclusivamente em uma comunicação backend-to-backend, devido à nossa política de CORS, que impede a criação de processos em uma comunicação frontend-to-backend.

O conteúdo retornado no parâmetro process.services.documents.doc.data, referente à tecnologia de OCR Extração, pode ser consultado abaixo:

  • Type: CNH

  • Content: Carteira Nacional de Habilitação

    • string numero;

    • string rgNumero;

    • string cpfNumero;

    • string nomeCivil;

    • array <string> filiacao;

    • datetime dataNascimento;

    • datetime dataHabilitacao;

    • datetime dataExpiracao;

    • string localEmissao;

    • string categoria;

"content": {
    "numero": "044589731564",
    "rgNumero": "123456789 SESP PR",
    "cpfNumero": "54858809080"
    "nomeCivil": "Homer Simpson",
    "filiacao": [
        "Monasimpson",
        "Monasimpson"
    ],
    "dataNascimento": "1990-05-12T00:00:00Z",
    "dataHabilitacao": "1997-11-18T00:00:00Z",
    "dataExpiracao": "2017-12-07T00:00:00Z",
    "localEmissao": "Curitiba PR",
    "categoria": "B",
}
  • Type: RG

  • Content: Registro Geral

    • string numero;

    • string cpfNumero;

    • string nomeCivil;

    • array <string> filiacao;

    • datetime dataNascimento;

    • datetime dataEmissao;

    • string naturalidade;

    • string orgaoEmissor;

    • string ufEmissor;

"content": {
    "numero": "4815162342",
    "cpfNumero": "54858809080",
    "nomeCivil": "Daniel Coelho Da Costa",
    "filiacao": [
        "Rosa Coelho Da Costa",
        "Edivaldo Da Costa",
    ],
    "dataNascimento": "1980-12-19T03:00:00Z",
    "dataEmissao": "2012-12-21T02:00:00Z",
    "naturalidade": "Sao Paulo SP",
    "orgaoEmissor": "Secretaria Da Segurança Pública (SSP)",
    "ufEmissor": "UF_SP"
}
  • Type: CIN

  • Content: Carteira de Identidade Nacional

    • string cpfNumero;

    • string nomeCivil;

    • array <string> filiacao;

    • datetime dataNascimento;

    • datetime dataEmissao;

    • datetime dataExpiracao;

    • string orgaoEmissor;

    • string naturalidade;

    • string nacionalidade;

    • string localEmissao;

"content": {
    "cpfNumero": "54858809080",
    "nomeCivil": "Vitor Ra",
    "filiacao": [
        "Danilo Luis Renan Ramos",
        "Giovanna Vitoria",
    ],
    "dataNascimento": "1980-12-19T03:00:00Z",
    "dataEmissao": "2024-03-02T00:00:00Z",
    "dataExpiracao": "2034-03-02T00:00:00Z",
    "orgaoEmissor": "Detran/Rj",
    "naturalidade": "Rio De Janeiro RJ",
    "nacionalidade": "BRA",
    "localEmissao": "Rio De Janeiro RJ",

}
  • Type: PASSAPORTE

  • Content: Passaporte brasileiro

    • string numero;

    • string nome;

    • string sobrenome;

    • string paisEmissor;

    • string nacionalidade;

    • string naturalidade;

    • array <string> filiacao;

    • datetime dataNascimento;

    • datetime dataEmissao;

    • datetime dataExpiracao;

    • string autoridade.

"content": {
    "numero": "AA011906",
    "nome": "CHANCHÃO AMARELO",
    "sobrenome": "PASSAREDO",
    "paisEmissor": "BRA",
    "nacionalidade": "BRASILEIRO(A)",
    "naturalidade": "<null>",
    "filiacao": [
         "Monasimpson",
         "Monasimpson"
    ],
    "dataNascimento": "1920-06-01T00:00:00Z",
    "dataEmissao": "2000-01-01T00:00:00Z",
    "dataExpiracao": "2010-01-01T00:00:00Z",
    "autoridade": "SR/DPF/DF"
}
  • Type: UNKNOWN

  • Content: Documento desconhecido. Significa que não foi possível detectar o tipo daquele documento.

content {
}

Caso não consigamos extrair algum campo do documento, ele não é listado no retorno da API.

Dicas:

  • Para implementar suas regras de negócio, sempre valide o retorno das capacidades analisando os parâmetros do response na seguinte ordem:

    • state = PROCESS_STATE_FINISHED E result = PROCESS_RESULT_OK;

      • ENTÃO, pode realizar a tomada de decisão analisando os retornos do parâmetro authenticationInfo.

      • Caso receba o state = PROCESS_STATE_FINISHED E result = PROCESS_RESULT_ERROR, interprete que houve algum erro no processamento da biometria e tente novamente.

  • Para melhorar a performance da sua operação, você pode utilizar nossos Webhooks e só consultar o resultado de processos que estiverem nos status finalizados;

  • Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Obter Selfie do Usuário

Nesta seção, você encontrará como obter a selfie de um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Obtenção da Selfie do Usuário no by Unico. Este endpoint fornecerá a selfie, com marca d'água, do usuário final em processos concluídos, permitindo que você a utilize como suporte em casos de contestação por parte do usuário.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://api.cadastro.uat.unico.app;

  • Produção: https://api.cadastro.unico.app.


Obtenção da Selfie do Usuário


Obter Selfie do Usuário

get

Endpoint para obter a selfie do processo do by Unico.

Autorizações
Parâmetros de rota
processIdstringObrigatório

ID do processo.

Respostas
200
Selfie obtida com sucesso.
application/json
400
Quando o ID de processo é inválido.
application/json
401
Erro no access-token.
application/json
403
Quando a conta de serviço não possui a permissão para obter a selfie.
application/json
404
Quando não foi possível encontrar o processo.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
get
GET /client/v1/process/{processId}/selfie HTTP/1.1
Host: api.cadastro.uat.unico.app
Authorization: Bearer JWT
Accept: */*
{
  "fileContents": "/9j/4AAQSkZJRgABAQA[...]QkeQUjE",
  "contentType": "image/jpeg"
}

Os processos devem ser criados exclusivamente em uma comunicação backend-to-backend, devido à nossa política de CORS, que impede a criação de processos em uma comunicação frontend-to-backend.

Pontos importantes:

  • A liberação da permissão para obter a selfie do usuário dependerá de avaliação interna da Unico. Entenda com o responsável do seu projeto se poderá consumir este serviço;

  • Só é possível recuperar a selfie com a marca d'água.

Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Obter Conjunto Probatório

Nesta seção, você encontrará como obter o conjunto probatório de um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Obtenção do Conjunto Probatório no by Unico. Este endpoint fornecerá o conjunto probatório da transação biométrica finalizada, permitindo que você o armazene para possíveis contestações futuras por parte do usuário final.

Para entender mais sobre o conjunto probatório, veja a seção Especificação do Conjunto Probatório.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://api.cadastro.uat.unico.app;

  • Produção: https://api.cadastro.unico.app.


Obtenção do Conjunto Probatório


Obter Conjunto Probatório

get

Endpoint para obter o conjunto probatório do processo no by Unico.

Autorizações
Parâmetros de rota
processIdstringObrigatório

ID do processo.

Respostas
200
Conjunto probatório obtido com sucesso.
application/json
400
Quando o ID de processo é inválido.
application/json
401
Erro no access-token.
application/json
404
Quando não foi possível encontrar o processo.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
get
GET /client/v1/process/{processId}/evidenceset HTTP/1.1
Host: api.cadastro.uat.unico.app
Authorization: Bearer JWT
Accept: */*
{
  "fileContents": "JVBERi0xLjUNCiWDk[...]NCg==",
  "contentType": "x-pdf"
}

Os processos devem ser criados exclusivamente em uma comunicação backend-to-backend, devido à nossa política de CORS, que impede a criação de processos em uma comunicação frontend-to-backend.

O conjunto probatório só está disponível para os processos finalizados.

Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Especificação do conjunto probatório

Nesta seção, você encontrará todas as especificações do conjunto probatório do by Unico


O conjunto probatório é um documento em .pdf contendo evidências de autenticação de um usuário que realizou a validação de identidade no by Unico.

A seguir, veja como este documento é representado, bem como a especificação de seus campos de retorno:

Exemplo de conjunto probatório

Campos do Conjunto Probatório (clique em cada um para saber mais)

Usuário
  • Foto com marca d'água;

  • Nome - indica o nome da pessoa autenticada. Esse dado é obtido através do parâmetro person.friendly_name do CreateProcess;

  • CPF do titular - indica o CPF da pessoa autenticada. Esse dado é obtido através do parâmetro person.dui_value do CreateProcess;

  • Canal de contato - indica o canal de comunicação com a pessoa autenticada. Esse dado é obtido através do parâmetro person.notifications do CreateProcess.

Processo
  • Fluxo executado - indica qual fluxo foi executado. Esse dado é obtido através do parâmetro flow do CreateProcess;

  • Identificador do processo - indica o id do processo. Esse dado é obtido através do parâmetro procees.id no retorno do CreateProcess;

  • URL - indica a URL de autenticação do processo;

  • Criação - indica a data da criação do processo. Esse dado é obtido através do parâmetro createdAt no retorno do CreateProcess;

  • Finalização - indica a data de finalização do processo. Esse dado é obtido através do parâmetro finishedAt no retorno do CreateProcess;

  • Estado - indica o status do processo. Esse dado é obtido através do parâmetro state no retorno do CreateProces;

  • Empresa - indica a empresa.

Validações
  • Tipo de validação - indica o tipo de validação da autenticação do processo;

  • Identidade - indica resultado da Verificação de Identidade;

  • Detecção de vida - indica resultado da Prova de vida.

Dados de navegação
  • Sistema operacional e navegador - indica os dados do dispositivo;

  • Endereço do IP - indica o IP do dispositivo.

Evidências de uso dos módulos nos flows iddocs, idsign e iddocssign

Quando o processo envolve os fluxos de IDDocs e Sign, o conjunto probatório também retorna dados desses fluxos como:

Documentos:

  • Tipo de documento - identifica o documento compartilhado pela pessoa. Ex: CNH / RG;

  • Modulo de coleta - caso Sim, identifica se houve a captura de um documento;

  • Documento validado - caso Sim, identifica que o documento compartilhado/reutilizado foi validado.

Assinatura:

  • Dados do Envelope - indica os documentos e seus assinantes;

  • ID do envelope - UUID que identifica o envelope no Unico Sign

Essas evidências podem ser utilizadas para garantir a autenticidade do processo.

O conjunto probatório só está disponível para os processos finalizados.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Obter Documento Assinado

Nesta seção, você encontrará como obter o documento assinado de um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Obtenção do Documento Assinado no by Unico. Este endpoint fornecerá o documento assinado do usuário final em fluxos que possuem a capacidade Assinatura Eletrônica.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://signhom.acesso.io;

  • Produção: https://sign.acesso.io.


Obtenção do Documento Assinado


Obter Documento Assinado

get

Endpoint para obter o documento assinado em PDF no by Unico. Somente para fluxos com assinatura eletrônica.

Autorizações
Parâmetros de rota
documentIdstringObrigatório

ID do documento.

Respostas
200
Documento assinado obtido com sucesso.
application/pdf
Respostastring · binary

Arquivo PDF gerado pelo sistema.

401
Erro no access-token.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
get
GET /api/v1/service/file/{documentId} HTTP/1.1
Host: signhom.acesso.io
Authorization: Bearer JWT
Accept: */*
binary

Exemplo de um documento gerado:

Caso o retorno do documento assinado via by Unico apresente atraso no processamento, recomendamos aguardar pelo menos um minuto após a conclusão do processo antes de realizar a consulta. Adicionalmente, é importante configurar uma política de tentativa automática (retry) para os casos em que o documento assinado ainda não esteja disponível, como realizar até 10 tentativas com intervalos de 1 a 5 minutos entre elas.

Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Obter Conjunto Probatório do Documento Assinado

Nesta seção, você encontrará como obter o conjunto probatório do Sign de um processo no by Unico através da API REST


Introdução


Nesta seção, você encontrará a documentação detalhada sobre o funcionamento do endpoint de Obtenção do Conjunto Probatório do Documento Assinado no by Unico. Este endpoint fornecerá o conjunto probatório da assinatura do usuário final em fluxos que possuem a capacidade Assinatura Eletrônica.

Antes de começar


Suas requisições de API são autenticadas utilizando um access-token. Qualquer requisição que não inclua um access-token válido retornará um erro.

Você pode ver mais sobre como gerar um access-token aqui.

Endpoints:

  • UAT: https://signhom.acesso.io;

  • Produção: https://sign.acesso.io.


Obtenção do Conjunto Probatório do Documento Assinado


Obter Conjunto Probatório do Documento Assinado

get

Endpoint para obter o conjunto probatório da assinatura no by Unico. Somente para fluxos com assinatura eletrônica.

Autorizações
Parâmetros de rota
documentIdstringObrigatório

ID do documento.

Respostas
200
Conjunto probatório obtido com sucesso.
application/pdf
Respostastring · binary

Arquivo PDF gerado pelo sistema.

401
Erro no access-token.
application/json
500
Erro inesperado (Erro interno ou problema de parâmetro).
application/json
get
GET /api/v1/service/evidence/{documentId} HTTP/1.1
Host: signhom.acesso.io
Authorization: Bearer JWT
Accept: */*
binary

Exemplo de um documento gerado:

53KB
Conjunto Probatório do Documento Assinado.pdf
pdf

Para mais informações sobre os erros possíveis para este endpoint, consulte a seção Erros.


Dúvidas?​

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.