Validação cadastral inteligente utilizando a proteção do Data Lake ClearSale, ratings, Insights e Score de Fraude, combinando as possíveis variáveis informadas - CPF, TEL, EMAIL, CEP.
Todas as requisições submetidas à nossa API devém ser realizadas por meio de um token de 2048 caracteres, gerado através de um usuário e senha que devem ser fornecidos pela ClearSale. Entre em contato com o seu consultor de vendas para mais informações.
Na autenticação, além do token retornamos seu tempo de expiração. É necessário que contemple no seu desenvolvimento o gerenciamento da vida útil do token com base nesse tempo de expiração.
Para o recebimento desse dado é necessário que reserve um espaço de 2048 caracteres. Só gere um novo token após a expiração do seu token atual.
POST https://api.clearsale.com.br/products/v1/authentication HTTP/1.1
Content-Type: application/json
{
"Username": "{Seu Usuário}",
"Password": "{Sua Senha}"
}
POST https://homologacao.clearsale.com.br/api/products/v1/authentication HTTP/1.1
Content-Type: application/json
{
"Username": "{Seu Usuário}",
"Password": "{Sua Senha}"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"token": "{Valor do Token}",
"expiresInSeconds": "{Tempo de Expiração do Token em segundos}"
}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
{
"message": "Username or Password is incorrect"
}
}
Para completa utilização do Data Trust é necessário que o Fingerprint esteja integrado no ato da captura dos dados.
Para maiores informações sobre as configurações do Fingerprint clique aqui.
Para completa utilização do Fingerprint é necessário que o SDK esteja integrado no ato da captura dos dados no aplicativo.
Para maiores informações sobre as configurações do SDK clique aqui.
Este método é utilizado para fazer o envio de uma transação na API do Data Trust
POST https://api.clearsale.com.br/products/v1/datatrust HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
{
"Document": "12345678912", (obrigatório)
"DocumentType": "CPF", (obrigatório)
"AreaCode": "11", // opcional
"Phone": "123456789", // opcional
"SendOption": [1, 2], // opcional - por default é vazio sem envio de validação
"VerifiedPhone": false, // opcional - por padrão é falso, caso seja true o dado é verificado na sua base
"VerifiedEmail": false, // opcional - por padrão é falso, caso seja true o dado é verificado na sua base
"Address": { // opcional
"ZipCode": "00000000",
"Street": "Rua teste",
"Number": "12355",
"Complement": "Esquina 3",
"District": "B13",
"City": "São Paulo",
"State": "SP",
"Country": "Brasil",
"PhysicalDelivery": false // opcional
},
"Email": "joao.silva@email.com.br", // opcional
"SessionID": "SessionID123", // opcional - Obrigatório se Type = 2
"AdditionalInformation": { // opcional
"Transaction": "PED0123", // opcional
"Item": "Produto Item", // opcional e tamanho máximo de 30 caracteres.
"Price": "23.60", // opcional
"CustomerName": "João da Silva Junior", // opcional
"Other": "Outra informação" // opcional
},
"Type" : 1,
"ReferenceDate" : "2019-06-05T12:00:00.000" // opcional
}
POST https://homologacao.clearsale.com.br/api/products/v1/datatrust/ HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
{
"Document": "12345678912", (obrigatório)
"DocumentType": "CPF", (obrigatório)
"AreaCode": "11", // opcional
"Phone": "123456789", // opcional
"SendOption": [1, 2], // opcional - por default é vazio sem envio de validação
"VerifiedPhone": false, // opcional - por padrão é falso, caso seja true o dado é verificado na sua base
"VerifiedEmail": false, // opcional - por padrão é falso, caso seja true o dado é verificado na sua base
"Address": { // opcional
"ZipCode": "00000000",
"Street": "Rua teste",
"Number": "12355",
"Complement": "Esquina 3",
"District": "B13",
"City": "São Paulo",
"State": "SP",
"Country": "Brasil",
"PhysicalDelivery": false // opcional
},
"Email": "joao.silva@email.com.br", // opcional
"SessionID": "SessionID123", // opcional - Obrigatório se Type = 2
"AdditionalInformation": { // opcional
"Transaction": "PED0123", // opcional
"Item": "Produto Item", // opcional e tamanho máximo de 30 caracteres.
"Price": "23.60", // opcional
"CustomerName": "João da Silva Junior", // opcional
"Other": "Outra informação" // opcional
},
"Type" : 1,
"ReferenceDate" : "2019-06-05T12:00:00.000" // opcional
}
Requisição realizada com sucesso
HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
"ID": "teste01",
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": "11",
"Phone": "985985875",
"SendOption": [1, 2],
"VerifiedPhone": false,
"VerifiedEmail": false,
"Address": {
"ZipCode": "00000000",
"Street": "Rua teste",
"Number": "12355",
"Complement": "Esquina 3",
"District": "B13",
"City": "São Paulo",
"State": "SP",
"Country": "Brasil",
"PhysicalDelivery": false
},
"Email": "joao.silva@email.com.br",
"SessionID": "SessionID123",
"AdditionalInformation": {
"Item": "Produto Item",
"Price": "23.60",
"CustomerName": "João da Silva Junior",
"Other": "Outra informação"
},
"Type" : 1,
"CreationDate": "2019-06-05T12:00:00.000",
"ReferenceDate" : "2019-06-05T12:00:00.000",
"Results": {
"Score": {
"Value": 90.99,
"Reason": "Confirmação do TokenSMS",
"Date": "2019-06-07T12:45:00.000",
"Timeline" : [
{
"Value": 80.0,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 55.5,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}
]
},
"Validation": {
"SMSVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust? 1 - SIM, 2 - NAO, 3 - Nao sou Joao Silva",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1) SIM",
"Date": "2018-06-05T12:45:00.000"
},
"ConditionalRule" : null
},
"EmailVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust?",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1",
"Date": "2018-06-05T12:45:00.000"
}
},
"TokenSMS": {
"result": "Waiting|Valid|Incorret|Invalid|Expired",
"Date": "2018-06-05T12:45:00.000"
},
"TokenEmail": {
"result": "Waiting|Valid|Expired",
"Date": "2018-06-05T12:45:00.000"
}
},
"Ratings": [{
"Value": 3,
"RelatedTo": [
"Document",
"Phone"
],
"Timeline": [{
"Value": 2,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 1,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}]},
{
"Value": 3,
"RelatedTo": [
"Document",
"ZipCode"
]
},
{
"Value": 2,
"RelatedTo": [
"Document",
"Email"
]
}
],
"Insights": [{
"Code": "TEL001",
"Description": "O Celular informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Positivo",
"RelatedTo": [
"Document",
"Phone"
]},
{
"Code": "TEL002",
"Description": "O endereço informado não pertence a pessoa.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Neutro",
"RelatedTo": [
"Document",
"ZipCode"
]},
{
"Code": "TEL002",
"Description": "O device informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Alerta",
"RelatedTo": [
"Device"
]}
]
}
}
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
{
"AreaCode": [
"Phone is required because AreaCode has a value."
],
"Document": [
"The field Document is invalid."
]
}
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Este método é utilizado para buscar informações de uma transação no Data Trust.
GET https://api.clearsale.com.br/products/v1/datatrust/{id} HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/{id} HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
"ID": "teste01",
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": "11",
"Phone": "985985875",
"SendOption": [1, 2],
"VerifiedPhone": false,
"VerifiedEmail": false,
"Address": {
"ZipCode": "00000000",
"Street": "Rua teste",
"Number": "12355",
"Complement": "Esquina 3",
"District": "B13",
"City": "São Paulo",
"State": "SP",
"Country": "Brasil",
"PhysicalDelivery": false
},
"Email": "joao.silva@email.com.br",
"SessionID": "SessionID123",
"AdditionalInformation": {
"Item": "Produto Item",
"Price": "23.60",
"CustomerName": "João da Silva Junior",
"Other": "Outra informação"
},
"Type" : 1,
"CreationDate": "2019-06-05T12:00:00.000",
"ReferenceDate" : "2019-06-05T12:00:00.000",
"Results": {
"Score": {
"Value": 90.99,
"Reason": "Confirmação do TokenSMS",
"Date": "2019-06-07T12:45:00.000",
"Timeline" : [
{
"Value": 80.0,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 55.5,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}
]
},
"Validation": {
"SMSVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust? 1 - SIM, 2 - NAO, 3 - Nao sou Joao Silva",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1) SIM",
"Date": "2018-06-05T12:45:00.000"
},
"ConditionalRule" : null
},
"EmailVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust?",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1",
"Date": "2018-06-05T12:45:00.000"
}
},
"TokenSMS": {
"result": "Waiting|Valid|Incorret|Invalid|Expired",
"Date": "2018-06-05T12:45:00.000"
},
"TokenEmail": {
"result": "Waiting|Valid|Expired",
"Date": "2018-06-05T12:45:00.000"
}
},
"Ratings": [{
"Value": 3,
"RelatedTo": [
"Document",
"Phone"
],
"Timeline": [{
"Value": 2,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 1,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}]},
{
"Value": 3,
"RelatedTo": [
"Document",
"ZipCode"
]
},
{
"Value": 2,
"RelatedTo": [
"Document",
"Email"
]
}
],
"Insights": [{
"Code": "TEL001",
"Description": "O Celular informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Positivo",
"RelatedTo": [
"Document",
"Phone"
]},
{
"Code": "TEL002",
"Description": "O endereço informado não pertence a pessoa.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Neutro",
"RelatedTo": [
"Document",
"ZipCode"
]},
{
"Code": "TEL002",
"Description": "O device informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Alerta",
"RelatedTo": [
"Device"
]}
]
}
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Este método é utilizado para buscar informações do resultado de uma transação no Data Trust.
GET https://api.clearsale.com.br/products/v1/datatrust/{TransactionId}/result HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/{TransactionId}/result HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
"Score": {
"Value": 90.99,
"Reason": "Confirmação do TokenSMS",
"Date": "2019-06-07T12:45:00.000",
"Timeline" : [
{
"Value": 80.0,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 55.5,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}
]
},
"Validation": {
"SMSVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust? 1 - SIM, 2 - NAO, 3 - Nao sou Joao Silva",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1) SIM",
"Date": "2018-06-05T12:45:00.000"
},
"ConditionalRule" : null
},
"EmailVerification": {
"Sent": {
"Text": "Ola Joao Silva! Você está participando do teste do XTrust?",
"Date": "2018-06-05T12:00:00.000"
},
"Replied": {
"Text": "1",
"Date": "2018-06-05T12:45:00.000"
}
},
"TokenSMS": {
"result": "Waiting|Valid|Incorret|Invalid|Expired",
"Date": "2018-06-05T12:45:00.000"
},
"TokenEmail": {
"result": "Waiting|Valid|Expired",
"Date": "2018-06-05T12:45:00.000"
}
},
"Ratings": [{
"Value": 3,
"RelatedTo": [
"Document",
"Phone"
],
"Timeline": [{
"Value": 2,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-07T12:45:00.000"
},
{
"Value": 1,
"Reason": "Confirmação do TokenSMS",
"Date": "2018-06-05T12:45:00.000"
}]},
{
"Value": 3,
"RelatedTo": [
"Document",
"ZipCode"
]
},
{
"Value": 2,
"RelatedTo": [
"Document",
"Email"
]
}
],
"Insights": [{
"Code": "TEL001",
"Description": "O Celular informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Positivo",
"RelatedTo": [
"Document",
"Phone"
]},
{
"Code": "TEL002",
"Description": "O endereço informado não pertence a pessoa.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Neutro",
"RelatedTo": [
"Document",
"ZipCode"
]},
{
"Code": "TEL002",
"Description": "O device informado foi visto nos ultimos 3 meses.",
"Type": "consulta",
"Category": "fraude",
"Relevance": "Alerta",
"RelatedTo": [
"Device"
]}
]
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
Document | Documento do cliente | String | 11 | Sim |
DocumentType | Tipo do documento do cliente | String | - | Sim |
AreaCode | Código de área do celular do cliente | String | 2 | Sim (se enviado celular) |
Phone | Número do celular do cliente | String | 9 | Não |
SendOption | Opções de envio de validações (1- Token SMS; 2- Token Email; 3- 2º Fator HotPhone; 4- 2º Fator HotEmail ou vazio para Nenhuma validação) | Array | - | Não |
VerifiedPhone | Flag de celular verificado | Boolean | - | Não |
VerifiedEmail | Flag de Email verificado | Boolean | - | Não |
Address | Objeto com informações do endereço do cliente | Address | - | Não |
Email do cliente | String | 320 | Não | |
SessionID | Chave do device do cliente | String | - | Sim - Se o tipo de transação for Online |
AdditionalInformation | Objeto contendo informações adicionais para a transação | AdditionalInformation | - | Não |
Type | Tipo da transação (1- Presencial; 2- Online) | Int | - | Sim |
ReferenceDate | Data de referência da transação | DateTime | - | Não |
CreationDate | Data de criação da transação | DateTime | - | Não |
Results | Objeto contendo os resultados da transação | Results | - | Não |
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
ZipCode | Código Postal do endereço do cliente | String | 9 | Não |
Street | Endereço do cliente | String | - | Não |
Number | Número do endereço do cliente | String | - | Não |
Complement | Complemento do endereço do cliente | String | - | Não |
District | Distrito do endereço do cliente | String | - | Não |
City | Cidade do cliente | String | - | Não |
State | Estado do cliente | String | - | Não |
Country | País do cliente | String | - | Não |
PhysicalDelivery | Flag de entrega física do pedido | Boolean | - | Não |
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
Transaction | Código da transação | String | 30 | Não |
Item | Item da transação | String | 30 | Não |
Price | Valor do Item da transação | String | - | Não |
CustomerName | Nome do cliente da transação | String | 200 | Não |
Other | Outras informações para a transação | String | - | Não |
Nome | Descrição | Tipo |
---|---|---|
Score | Objeto contendo informações do score do cliente | Score |
Ratings | Ratings da relação de dados enviados | Ratings |
Insights | Lista de objetos contendo os insights | Insights |
Validation | Objeto contendo informações de validações | Validation |
Nome | Descrição | Tipo |
---|---|---|
Value | Valor do Score do cliente | Decimal |
Reason | Motivo da alteração do Score | String |
Date | Data da alteração do Score | DateTime |
Timeline | Array contendo os antigos Scores | Timeline |
Nome | Descrição | Tipo |
---|---|---|
Value | Valor do rating da relação de dados enviados | Int |
RelatedTo | Dados referentes ao insight | String |
Timeline | Array contendo os antigos Ratings | Timeline |
Nome | Descrição | Tipo |
---|---|---|
Code | Código do insight | String |
Description | Descrição do insight | String |
Type | Tipo do insight (Consulta, retorno) | String |
Category | Categoria do insight | String |
Relevance | Relevância do insight | String |
Nome | Descrição | Tipo |
---|---|---|
Value | Valor do Score do cliente | Decimal |
Reason | Motivo da alteração do Score | String |
Date | Data da alteração do Score | DateTime |
Nome | Descrição | Tipo |
---|---|---|
SMSVerification | Objeto contendo informações do SMS 2FA | SMS Verification |
EmailVerification | Objeto contendo informações do Email 2FA | Email Verification |
TokenSMS | Objeto contendo informações do token de SMS | Token Sms |
TokenEmail | Objeto contendo informações do token de Email | Token Email |
Nome | Descrição | Tipo |
---|---|---|
Result | Estado do token | String |
Date | Data de envio da mensagem | DateTime |
Nome | Descrição | Tipo |
---|---|---|
Result | Estado do token | String |
Date | Data de envio da mensagem | DateTime |
Nome | Descrição | Tipo |
---|---|---|
Sent | Objeto contendo informações de envio do Sms | Sent |
Replied | Objeto contendo informações de resposta do Sms | Replied |
ConditionalRule | Flag de envio condicional de Sms para HotPhone, se verdadeiro o Sms não foi enviado por ser HotPhone | Boolean |
Nome | Descrição | Tipo |
---|---|---|
Sent | Objeto contendo informações de envio do Email | Sent |
Replied | Objeto contendo informações de resposta do Email | Replied |
Nome | Descrição | Tipo |
---|---|---|
Text | Texto enviado na mensagem | String |
Date | Data de envio da mensagem | DateTime |
Nome | Descrição | Tipo |
---|---|---|
Text | Texto da resposta da mensagem | String |
Date | Data de recebimento da mensagem | DateTime |
Este método é utilizado para buscar uma lista de transações no Data Trust, a partir de uma das seguintes informações: Document, Phone, Email ou ZipCode.
Os parâmetros aceitos são: "parameter", "value", "fields", "limit" e "page".
GET https://api.clearsale.com.br/products/v1/datatrust/search?parameter={parameter}&value={value}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/search?parameter={parameter}&value={value}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"location": 1,
"totalPages": 10,
"totalTransactions": 195,
"Transactions": [
{
"id": "teste01",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T14:35:35.614Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T14:35:35.607Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
},
{
"id": "teste02",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T18:04:11.679Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T18:04:11.671Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
}]
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"value": [
"The value field is required."
]
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Este método é utilizado para buscar uma lista de transações no Data Trust, a partir do id de usuário.
Os parâmetros aceitos são: "userId", "fields", "limit" e "page".
GET https://api.clearsale.com.br/products/v1/datatrust/search/user?userId={userId}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/search/user?userId={userId}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"location": 1,
"totalPages": 10,
"totalTransactions": 195,
"Transactions": [
{
"id": "teste01",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T14:35:35.614Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T14:35:35.607Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
},
{
"id": "teste02",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T18:04:11.679Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T18:04:11.671Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
}]
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"value": [
"The value field is required."
]
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Este método é utilizado para buscar uma lista de transações no Data Trust, a partir de um período de datas.
Os parâmetros aceitos são: "startDate", "endDate", "fields", "limit" e "page".
GET https://api.clearsale.com.br/products/v1/datatrust/search/period?startDate={startDate}&endDate={endDate}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/search/period?startDate={startDate}&endDate={endDate}&fields={fields}&limit={limit}&page={page}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"location": 1,
"totalPages": 10,
"totalTransactions": 195,
"Transactions": [
{
"id": "teste01",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T14:35:35.614Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T14:35:35.607Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
},
{
"id": "teste02",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T18:04:11.679Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T18:04:11.671Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
}]
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"value": [
"The value field is required."
]
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Este método é utilizado para buscar uma lista de transações no Data Trust, a partir de uma lista de ids de transações.
Os parâmetros aceitos são: "idsList", "fields".
GET https://api.clearsale.com.br/products/v1/datatrust/search/list?idsList={idsList}&fields={fields}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/search/list?idsList={idsList}&fields={fields}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Transactions": [
{
"id": "teste01",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T14:35:35.614Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T14:35:35.607Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T14:35:35.607Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
},
{
"id": "teste02",
"ReferenceDate": "2019-09-13T03:00:00Z",
"Type": 1,
"Document": "12345678912",
"DocumentType": "CPF",
"AreaCode": null,
"Phone": null,
"VerifiedPhone": false,
"SendOption": [],
"Address": null,
"VerifiedEmail": false,
"SessionID": null,
"AdditionalInformation": null,
"CreationDate": "2019-09-13T18:04:11.679Z",
"Result": {
"Score": {
"Value": 80.851552438230939,
"Reason": "Initial",
"Date": "2019-09-13T18:04:11.671Z",
"Timeline": null
},
"Validation": {
"SmsVerification": null,
"EmailVerification": null,
"TokenSms": null,
"TokenEmail": null
},
"Ratings": [{
"Value": 0,
"RelatedTo": [
"Document",
"Email"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
},
{
"Value": 0,
"RelatedTo": [
"Document",
"Phone"
],
"Date": "2019-09-13T18:04:11.671Z",
"Reason": "Initial",
"Timeline": null
}],
"Insights": [
{
"Code": "GER2151",
"Description": "CPF com incidencia de compras positivas",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Positivo",
"RelatedTo": [
"Document"
]
},
{
"Code": "GER2117",
"Description": "Estado de emissão do CPF: SP",
"Type": "CPF",
"Category": "Característica CPF",
"Relevance": "Neutro",
"RelatedTo": [
"Document"
]
}]
}
}]
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"value": [
"The value field is required."
]
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
parameter | Tipo do dado que servirá de filtro para realizar a consulta por parâmetro simples. Pode ser enviado um dos seguintes valores: "document", "phone", "email" ou "zipcode" | String | - | Sim |
value | Valor do dado que será informado para servir de filtro para a consulta por parâmetro simples | String | - | Sim |
userId | Id do usuário que será usado como filtro para a consulta por usuário | Int | - | Sim |
startDate |
Data inicial do período que será realizada a consulta por período.
Formato: yyyy-MM-dd |
DateTime | - | Sim |
endDate |
Data final do período que será realizada a consulta por período
Formato: yyyy-MM-dd |
DateTime | - | Sim |
idsList |
Lista de Ids que serão utilizados como filtro na consulta por lista de Ids.
Os ids devem ser separados por "," [Ex: teste01,teste02]
|
String | - | Sim |
fields |
Especifica quais campos retornarão na consulta.
Para envio do campo seguir o seguinte formato:
Transaction: campos que devem ser retornados da transacion;
Result: campos que devem ser retornados do result
Deve ser enviado pelo menos um contexto de "transaction" ou "result", caso seja enviado os dois, devem ser separados por ";" Cada contexto deverá ter pelo menos um dos seguintes campos: transaction:
|
String | - | Não |
limit | Quantidade de registros que serão retornados por consulta. Limite máximo é de 50 transações. | Int | - | Não |
page | Número da página que será retornada. | Int | - | Sim |
Nome | Descrição | Tipo |
---|---|---|
location | Número da página atual | Int |
totalPages | Número total de páginas que existem para a pesquisa realizada | Int |
totalTransactions | Número total de transações para o filtro da pesquisa realizada | Int |
Transactions | Lista de transações para a página e filtro selecionados | Transaction |
Esse método é utilizado para enviar o token recebido por SMS para validação.
Quando o token informado for válido, a transação será atualizada com novos insights.
Utilize o método de consulta
para visualizar a transação atualizada.
POST https://api.clearsale.com.br/products/v1/datatrust/{id}/validate?token={tokenSms}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
POST https://homologacao.clearsale.com.br/api/products/v1/datatrust/{id}/validate?token={tokenSms}
HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "Valid|Incorrect|Invalid|Expired",
"date": "2019-06-07T12:45:00.000"
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Nome | Descrição |
---|---|
Waiting | Status inicial da validação |
Valid | Status final de token válido informado |
Incorrect | Status parcial de token incorreto informado em até 3 tentativas |
Invalid | Status final de token inválido por ter superado 3 tentativas |
Expired | Status final de token expirado |
Esse método é utilizado para fazer a configuração da mensagem do SMS.
POST https://api.clearsale.com.br/products/v1/datatrust/configuration/sms HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
{
"Text": "Olá {primeiro-nome}, você confirma a compra do pedido? {respostas}", //(obrigatório) Limite até 160 caracteres
"Active": true, //(opcional - default true)
"SmsTypeId": 2 //(obrigatório)
}
POST https://homologacao.clearsale.com.br/api/products/v1/datatrust/configuration/sms HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
{
"Text": "Olá {primeiro-nome}, você confirma a compra do pedido? {respostas}", //(obrigatório) Limite até 160 caracteres
"Active": true, //(opcional - default true)
"SmsTypeId": 2 //(obrigatório)
}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Requisição com parâmetros inválidos
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"O texto configurado para o SMS ultrapassa o limite de 160 caracteres"
}
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Esse método é utilizado para buscar a configuração de mensagem do SMS.
GET https://api.clearsale.com.br/products/v1/datatrust/configuration/sms?smsTypeId=2
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/configuration/sms?smsTypeId=2
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Text": "Olá {primeiro-nome}, você confirma a compra do pedido? {respostas}",
"Active": true,
"SmsTypeId": 2
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
As chaves podem ser usadas no atributo Text caso queira que os dados sejam incluídos na mensagem para o cliente.
Chave | Descrição | Obrigatoriedade | Tamanho Máximo |
---|---|---|---|
{nome} | Primeiro e último nome do cliente | Opcional | 20 caracteres |
{primeiro-nome} | Primeiro nome do cliente | Opcional | 10 caracteres |
{item} | Item comprado | Opcional | 30 caracteres |
{preco} | Preço do item comprado | Opcional | 15 caracteres |
{outro} | Informações adicionais | Opcional | 30 caracteres |
{respostas} |
"Responda grátis: 1 para sim 2 para não 3 para não sou {primeiro-nome}" |
Obrigatório | 65 caracteres |
Abaixo constam os tipos de sms disponiveis para configuração
SmsTypeId | Descrição |
---|---|
2 | Envio de 2º fator |
3 | Resposta "Sim" para 2º fator |
4 | Resposta "Não" para 2º fator |
Esse método é utilizado para fazer a configuração do envio condicional de sms.
Caso essa configuração esteja ativa, o SMS para validação não será enviado quando
o telefone informado na transação for o mesmo que o HotPhone.
* Para habilitar a configuração, a variável conditionalSmsSending deve ser
enviada com "true".
POST https://api.clearsale.com.br/products/v1/datatrust/configuration/entity?conditionalSmsSending={value}
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
POST https://homologacao.clearsale.com.br/api/products/v1/datatrust/configuration/entity?conditionalSmsSending={value}
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Rota da requisição inválida
HTTP/1.1 404 NotFound
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Esse método é utilizado para buscar a configuração de envio condicional do SMS.
GET https://api.clearsale.com.br/products/v1/datatrust/configuration/entity
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
GET https://homologacao.clearsale.com.br/api/products/v1/datatrust/configuration/entity
HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization: Bearer {Token}
Requisição realizada com sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"creationDate": "2019-08-20T13:50:47.727",
"conditionalSmsSending": false
}
Requisição sem resultados para exibição
HTTP/1.1 204 No Content
Requisição com token expirado ou inválido
HTTP/1.1 401 Unauthorized
Erro no processamento da requisição
HTTP/1.1 500 Internal Server Error
Sempre que ocorrer uma alteração de uma transação,
o Webhook da Clearsale irá enviar uma notificação para uma URL que deverá ser implementada
no lado do integrador.
Para cadastrar as URLs é necessário contatar seu gerente de conta informando os dados da tabela abaixo:
Dado | Descrição |
---|---|
Nome Cliente | Nome Fantasia do cliente que contratou Data Trust |
URL | URL que será chamada quando houver uma alteração na transação (a mesma URL poderá se repetir entre os tipos de alteração), exemplo: https://api.clearsale.com.br/products/v1/datatrust/webhook |
Token | O token informado deverá ser uma chave secreta que será enviado nas chamadas de Webhook no Header "Authorization: Bearer {Token}" |
Tipo | Opções de envio de validações (1- Token SMS; 2- Token Email; 3- 2º Fator HotPhone; 4- 2º Fator HotEmail) |
Os dados da alteração não serão informados na notificação do Webhook, portanto, fica a cargo do integrador o consumo da consulta.
POST {URL_CADASTRADA}
Authorization: Bearer {TOKEN_CADASTRADO}
Content-Type: application/json; charset=utf-8
{
"Code": "{CODIGO_DA_SUA_TRANSAÇÃO}",
"TypeId": 2,
"Description": "{DESCRIÇÃO_DA_ALTERAÇÃO}",
"Date": "2019-06-07T12:45:00.000"
}
Abaixo constam os tipos retornados para o campo TypeId
TypeId | Descrição |
---|---|
1 | Token Sms |
2 | Token Email |
4 | 2FA Sms |
8 | 2FA Email |
Baixe o arquivo para visualizar todos os insights