Criar Processo
Este guia explica como criar um processo através da API REST para criar um processo em nossa plataforma.
Exemplo de requisição
- cURL
- Postman
- NodeJS
- Java
- C#
- Go
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"
},
"purpose": "creditprocess"
}'
Para utilizar o Postman, siga os passos:
- Selecione o método POST.
- Insira a URL
https://api.cadastro.uat.unico.app/client/v1/process/
. - Selecione a aba Authorization.
- Na lista de Type, selecione Bearer Token.
- Insira o token obtido no campo Token com o prefixo
Bearer
. - Selecione a aba Body e insira os dados abaixo de acordo com sua necessidade.
{
"callbackUri": "/",
"flow": "id",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "73689290074"
},
"purpose": "creditprocess"
}
const axios = require("axios");
const apiUrl = "https://api.cadastro.uat.unico.app/client/v1/process/";
const token = "SEU_TOKEN_AQUI";
const requestData = {
callbackUri: "/",
flow: "id",
person: {
duiType: "DUI_TYPE_BR_CPF",
duiValue: "73689290074",
},
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 = "SEU_TOKEN_AQUI";
// 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 = "SEU_TOKEN_AQUI";
// 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 := "SEU_TOKEN_AQUI"
// Crie o corpo da solicitação em formato JSON
requestBody := []byte(`{
"callbackUri": "/",
"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)
}
}
Parâmetros de requisição
Parâmetro | Descrição |
---|---|
flow | Define a jornada que irá ser executada. id : Fluxo de validação de identidade com biometria facial. idcheck : Fluxo de validação de identidade com biometria facial com score no caso de inclonclusivo. iddocs : Fluxo de validação de identidade com captura e reaproveitamento de documentos (RG ou CNH). idsign : Fluxo de validação de identidade com assinatura eletrônica. iddocssign : Fluxo de validação de identidade, captura/reaproveitamento de documentos (RG ou CNH) e assinatura eletrônica. |
callbackUri | Define para onde o consumidor final será redirecionado no fim do processo. URL: Você pode utilizar uma URL para uma página web de seu fluxo, exemplo: https://developers.unico.io/callback , sinta se a vontade para personalizar como desejar. URL Scheme: Você também pode realizar o redirecionamento para aplicações móveis nativas, exemplo: br.com.meupacote.app://callback , lembre-se de registrar esse callback em sua aplicação móvel. Sem redirecionamento: Caso você esteja utilizando nossa solução em um fluxo de mensagem, utilize o valor / para evitar um redirecionamento no final do fluxo. |
person.personDuiType | Define o tipo de identificador do consumidor final. DUI_TYPE_BR_CPF : Para utilizar CPF como identificador. |
person.personDuiValue | Define o valor do identificador do consumidor final especificado no campo personDuiType. Exemplo: No caso de uso do identificador DUI_TYPE_BR_CPF para CPF utilize um CPF válido sem formatação: 73689290074 |
person.friendlyName | Define o nome do consumidor final, por exemplo, Fulano . |
purpose | Define o propósito de uso e coleta de dados do consumidor final. Serve para dar transparência e garantir o tratamento de dados correto pela LGPD. creditprocess : Caso você esteja utilizando nossa solução para oferecer um crédito ao consumidor final. biometryonboarding : Caso você esteja utilizando nossa solução para realizar onboarding do consumidor final. carpurchase : Caso você esteja utilizando nossa solução para realizar commpra de um veículo. |
payloads.envelopePayload.documents | O campo payloads é um Array que oferece um local para inserção de arquivos necessários para alguns fluxos específicos, como por exemplo idsign . Dentro do Array payloads outro Array pode ser utilizado para criação de envelopes de fluxo de assinatura. O campo documents é um Array recebe o documentos que compoem cada envelope, podendo ser 1 ou mais. Cada Objeto document possui: - documentName : Nome do documento. - fileContents : Base64 do PDF a ser assinado. |
Exemplos de requisição de fluxos.
- ID
- IDCheck
- IDDocs
- ID + Sign
- IDDocs + Sign
Para uma jornada apenas com validação de identidade.
{
//URL de redirecionamento.
"callbackUri": "/",
//Tipo de jornada.
"flow": "id",
//Dados do consumidor final.
"person": {
//Tipo de identificador utilizado, DUI_TYPE_BR_CPF para CPF no Brasil.
"duiType": "DUI_TYPE_BR_CPF",
//Valor do identificador.
"duiValue": "73689290074"
},
//Caso de uso onde você está aplicando a solução da Unico.
"purpose": "biometryonboarding"
}
Para uma jornada com validação de identidade e score do Check no caso de inconclusivo do ID.
{
//URL de redirecionamento.
"callbackUri": "/",
//Tipo de jornada.
"flow": "idcheck",
//Dados do consumidor final.
"person": {
//Tipo de identificador utilizado, DUI_TYPE_BR_CPF para CPF no Brasil.
"duiType": "DUI_TYPE_BR_CPF",
//Valor do identificador.
"duiValue": "73689290074"
},
//Caso de uso onde você está aplicando a solução da Unico.
"purpose": "biometryonboarding"
}
Para uma jornada com validação de identidade, score do Check no caso de inconclusivo do ID e captura/reaproveitamento de documento de identificação (RG/CNH).
{
//URL de redirecionamento.
"callbackUri": "/",
//Tipo de jornada.
"flow": "iddocs",
//Dados do consumidor final.
"person": {
//Tipo de identificador utilizado, DUI_TYPE_BR_CPF para CPF no Brasil.
"duitype": "DUI_TYPE_BR_CPF",
//Valor do identificador.
"duiValue": "73689290074"
},
//Caso de uso onde você está aplicando a solução da Unico.
"purpose": "creditprocess"
}
Para uma jornada com validação de identidade, score do Check no caso de inconclusivo do ID e assinatura eletrônica.
{
//URL de redirecionamento.
"callbackUri": "/",
//Tipo de jornada.
"flow": "idsign",
//Dados do consumidor final.
"person": {
//Tipo de identificador utilizado, DUI_TYPE_BR_CPF para CPF no Brasil.
"duiType": "DUI_TYPE_BR_CPF",
//Valor do identificador.
"duiValue": "73689290074"
},
//Caso de uso onde você está aplicando a solução da Unico.
"purpose": "biometryonboarding",
//Dados completares da jornada.
"payload": [
{
//Dados do envelope para ser assinado.
"envelopePayload": {
//Lista de documentos do seu envelope.
"documents": [
{
//Nome do seu arquivo PDF.
"documentName": "teste",
//Base 64 do seu PDF.
"fileContents": "JVBERi0xLjMNCiXi48/[...]DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg=="
}
]
}
}
]
}
Para uma jornada com validação de identidade, score do Check no caso de inconclusivo do ID, captura/reaproveitamento de documento de identificação (RG/CNH) e assinatura eletrônica.
{
//URL de redirecionamento.
"callbackUri": "/",
//Tipo de jornada.
"flow": "iddocssign",
//Dados do consumidor final.
"person": {
//Tipo de identificador utilizado, DUI_TYPE_BR_CPF para CPF no Brasil.
"duiType": "DUI_TYPE_BR_CPF",
//Valor do identificador.
"duiValue": "73689290074"
},
//Caso de uso onde você está aplicando a solução da Unico.
"purpose": "biometryonboarding",
//Dados completares da jornada.
"payload": [
{
//Dados do envelope para ser assinado.
"envelopePayload": {
//Lista de documentos do seu envelope.
"documents": [
{
//Nome do seu arquivo PDF.
"documentName": "teste",
//Base 64 do seu PDF.
"fileContents": "JVBERi0xLjMNCiXi48/[...]DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg=="
}
]
}
}
]
}
Exemplo de resposta
No caso de sucesso, um 200 OK
é enviado com as seguintes informações:
{
"process": {
// ID do processo criado.
"id": "057f8d90-6ff6-4f52-ba05-ead6123f73bd",
// Tipo de jornada criada.
"flow": "idcheck",
// Dados da empresa visualizado pelo consumidor.
"company": {
// Código da empresa.
"code": "unico",
// Nome fantasia da empresa.
"friendlyName": "Orquestrador",
// URL da imagem da empresa.
"logoUrl": "https://unico.io/wp-content/themes/theme_unico/img/logo/unico-color.svg"
},
// URL de redirecionamento cadastrada no processo.
"callbackUri": "https://unico.io",
// URL de navegação do consumidor final. Veja mais em
"userRedirectUrl": "https://cadastro.dev.unico.app/process/057f8d90-6ff6-4f52-ba05-ead6123f73bd",
// Estado atual do processo
"state": "PROCESS_STATE_FINISHED",
// Resultado atual do processo.
"result": "PROCESS_RESULT_OK",
// Dados do consumidor no processo.
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "11693205629",
"friendlyName": "Rodrigo"
},
// Propósito cadastrado no processo.
"purpose": "creditprocess",
// Resultados do processo de autenticação.
"authenticationInfo": {
// Resultado da autenticação com o ID.
"authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
// Resultado da autenticação com o Check.
"scoreEngineResult": {
// Apresenta se o Check está habilitado ou desabilitado.
"scoreEnabled": "SCORE_ENABLED_TRUE",
// Resultado do score.
"score": 50
}
},
// Momento em que o processo foi criado.
"createdAt": "2023-08-09T15:15:09.751991Z",
// Momento em que o processo foi finalizado.
"finishedAt": "2023-08-09T15:15:25.417105Z"
}
}
Parâmetro | Descrição |
---|---|
id | O identificador do processo. |
flow | Define a jornada que foi criada. id : Fluxo de validação de identidade com biometria facial. idcheck : Fluxo de validação de identidade com biometria facial com score no caso de inclonclusivo. iddocs : Fluxo de validação de identidade com captura e reaproveitamento de documentos (RG ou CNH). idsign : Fluxo de validação de identidade com assinatura eletrônica.iddocssign : Fluxo de validação de identidade, captura/reaproveitamento de documentos (RG ou CNH) e assinatura eletrônica. |
callbackUri | Define para onde o consumidor final será redirecionado no fim do processo. Para mais detalhes volte para Parametros de requisição |
company.code | Sinaliza o código da empresa no ecossistema Unico. |
company.friendlyName | Sinaliza o nome do cliente exibido na jornada do consumidor final. |
company.logoUrl | Sinaliza a logo do cliente exibido na jornada do consumidor final. |
userRedirectUrl | URL para onde você deverá redirecionar o consumidor final para finalização da jornada |
state | Sinaliza o estado atual do processo, por ser do tipo: PROCESS_STATE_CREATED : Processo criado e ainda não finalizado pelo consumidor final. PROCESS_STATE_FINISHED : Processo finalizado pelo consumidor final com sucesso. PROCESS_STATE_FAILED : Processo criado ou finalizado com erro. |
result | Sinaliza o resultado do processo da jornada do consumidor, podendo ser do tipo: PROCESS_RESULT_OK : Processo finalizado com sucesso. PROCESS_RESULT_WARNING : Processo finalizado com alerta. PROCESS_RESULT_ERROR : Processo finalizado com algum tipo de erro. |
person.personDuiType | Define o tipo de identificador do consumidor final. DUI_TYPE_BR_CPF : Para CPF como identificador. |
person.personDuiValue | Define o valor do identificador do consumidor final especificado no campo personDuiType. |
person.friendlyName | Define o nome do consumidor final, por exemplo, Fulano . |
authenticationInfo.authenticationResult | Resultado da validação de identidade pelo ID. AUTHENTICATION_RESULT_UNSPECIFIED : Aguardando o retorno do processo de autenticação. AUTHENTICATION_RESULT_INCONCLUSIVE : Resultado de autenticação inconclusivo. AUTHENTICATION_RESULT_POSITIVE : Resultado de autenticação positivo. |
authenticationInfo.authenticationResult. scoreEngineResult.scoreEnabled | Sinaliza se o processo está com o Check habilitado no caso de inconclusivo do ID. SCORE_ENABLED_TRUE : Habilitado. SCORE_ENABLED_FALSE : Desabilitado. |
authenticationInfo.authenticationResult. scoreEngineResult.score | Sinaliza o resultado do score do Check. 0 : Caso esteja desabilitado. -100 a 100 : Resultado do score. |
createdAt | Sinaliza o momento em que o processo foi criado. |
finishedAt | Sinaliza o momento em que o processo foi concluído pelo consumidor final. |
Para mais informações sobre este endpoint, consulte a API Reference.
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.