API Device Check

Última atualização: 10 de Abril de 2024

Introdução

O Device Check é uma API que realiza a consulta dos dispositivos, fornecendo informações e insights. Através desse recurso é possível verificar a confiabilidade do dispositivo.

Fingerprint

Para que seja possível utilizar a API, é necessário que o Fingerprint esteja integrado no momento de captura dos dados. Clique aqui para obter mais informaçoes sobre as configurações do Fingerprint

Autenticação

Todas as requisições submetidas à nossa API devém ser realizadas por meio de um token. Um token é um objeto digital que contém informações sobre a identidade de quem faz a solicitação e para que tipo de acesso ele está autorizado. Ele é 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.

Requisição
POST https://devicecheck.clearsale.com.br/api/v1/authentication HTTP/1.1
Content-Type: application/json
{
    "username": "{Seu Usuário}",
    "password": "{Sua Senha}"
}
POST https://devicecheckhml.clearsale.com.br/api/products/v1/authentication HTTP/1.1
Content-Type: application/json
{
    "username": "{Seu Usuário}",
    "password": "{Sua Senha}"
}
Resposta
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
    "token": "{Valor do Token}"
}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
    {
        "message": "Username or Password is incorrect"
    }
}

Transação

Envio

Esse método é utilizado para gerar uma lista de insights do dispositivo informado

Transação
POST https://devicecheck.clearsale.com.br/api/v1/insights HTTP/1.1
Content-Type: application/json
Accept:application/json
Authorization:Bearer {Token}
{
    "sessionID": "ID1234567891234567891234", //obrigatório
    "externalID": "ID1234", //obrigatório
    "cpf": "12345678900", //obrigatório
    "email": "test1@test",//opcional - obrigatório caso seja incluído o campo
    "phone": { //opcional - obrigatório caso seja incluído o campo
        "countryCode": "1",
        "cityCode": "11",
        "number": "99999999"
    },
    "zipCode": "12345678", //opcional - obrigatório caso seja incluído o campo
}
Resposta

Requisição realizada com sucesso

HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
    "deviceID": "25432df56bf24f15hd928374",
    "insights": [
        "DEV0002",
        "DEV0007",
        "DEV0500",
        "GER2450",
        "GER2448",
        "GER2405",
        "GER2471",
        "GER2474"
    ],
    "alertQuantity": 0
}

Requisição realizada com sucesso

HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
    "deviceID": "25432df56bf24f15hd928374",
    "insights": [
        "DEV0002",
        "DEV0007",
        "DEV0500",
        "GER2450",
        "GER2448",
        "GER2405",
        "GER2471",
        "GER2474"
    ],
    "alertQuantity": 0
}

Requisição realizada com sucesso

HTTP/1.1 200 Ok
Content-Type: application/json; charset=utf-8
{
    "deviceID": "25432df56bf24f15hd928374",
    "insights": [
        "DEV0002",
        "DEV0007",
        "DEV0500",
        "GER2450",
        "GER2448",
        "GER2405",
        "GER2471",
        "GER2474"
    ],
    "alertQuantity": 0
}

O servidor atendeu à solicitação com êxito e não há conteúdo adicional a ser enviado na resposta

HTTP/1.1 204 No Conent

Requisição com parâmetros inválidos

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
    "Title": "BadRequest",
    "Status": 400,
    "Detail": "Invalid Body Request.",
    "Instance": "/api/v1/Insights",
    "Extensions": {
        "traceId": "b4068ddd57f96acb19d7cdb25aa9sg01"
    }
}

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
Content-Type: application/json; charset=utf-8
{
    "Title": "Internal Server Error",
    "Status": 500,
    "Detail": "An error occurred while processing your request",
    "Instance": "/api/v1/Insights",
    "Extensions": {
        "traceId": "b4068ddd57f96acb19d7cdb25aa9fd312"
    }
}

Dicionário de variáveis


Transaction

Nome Descrição Tipo Tamanho Obrigatório
SessionID Identificador único da sessão do cliente String 24 a 64 Sim
ExternalID Identificador transacional único da aplicação do cliente String 6 a 64 Sim
CPF CPF do cliente String 11 Sim (se informado CPF)
Email Email do cliente String 10 a 256 Sim (se informado E-mail)
Phone Telefone do cliente Phone - Sim (se informado celular)
ZipCode CEP do cliente String 8 a 11 Sim (se informado o CEP)

Phone

Nome Descrição Tipo Tamanho Obrigatório
CountryCode Código do país do celular do cliente String 1 a 3 Sim (se informado celular)
CityCode Código do DDD do celular do cliente String 2 a 3 Sim (se informado celular)
Phone Número do celular do cliente String 8 a 9 Sim (se informado celular)

Resposta

Nome Descrição Tipo
Android Lista de objetos contendo os dados do dispositivo Android Android
iOS Lista de objetos contendo os dados do dispositivo iOS iOS
Browser Lista de objetos contendo os dados do navegador Browser
DeviceID ID do dispositivo do cliente String
Insights Lista de objetos contendo os códigos de insights List<String>
AlertQuantity Quantidade de alertas detectados Int

Android

Nome Descrição Tipo
Manufacturer Fabricante do dispositivo String
Screen Tamanho da tela do dispositivo String
LanguageCode Idioma do dispositivo String
OsVersion Versão do sistema operacional do dispositivo String
Timezone Fuso horário do dispositivo String
FirstInstallDate Data e hora da instalação do primeiro aplicativo no dispositivo String
Location Coordenada geográfica do dispositivo String
IP IP do dispositivo String

iOS

Nome Descrição Tipo
Model Modelo do dispositivo String
Carriers Operadoras do dispositivo List<String>
OsVersion Versão do sistema operacional do dispositivo String
LanguageCode Idioma do dispositivo String
ConnectionType Tipo de conexão utilizada (ex.: 3G, 4G, 5G) String
Battery Percentual de bateria do dispositivo String
Location Coordenada geográfica do dispositivo String
IP IP do dispositivo String

Browser

Nome Descrição Tipo
BrowserName Nome do navegador String
Version Versão do navegador String
Screen Tamanho da tela do utilizada pelo navegador String
Platform Sistema operacional na qual o navegador está instalado String
Language Idioma do navegador String
TimeZoneOffset Quantidade de horas na qual a área está a frente ou atrás do tempo médio de Greenwich String
IP IP do navegador String

Variável Resposta

A variável resposta tem a finalidade de abastecer o ecossistema de fraudes, identificando os dispositivos envolvidos em transações fraudulentas.

Para visualizar detalhes de como utilizar, clique aqui

Lista de Insights

Modularização dos Insights

É importante ressaltar que cada resposta gerada pelos Insights pode variar de acordo com o módulo contratado. Cada módulo oferece análises específicas e personalizadas, ajustadas às características particulares dos dados nele contidos.

Requisitos de Dados

Para garantir a precisão e relevância dos Insights, é fundamental que os dados correspondentes aos módulos contratados sejam devidamente enviados. Por exemplo, ao solicitar um Insight relacionado ao histórico de telefone, é imprescindível que as informações do telefone em questão tenham sido enviadas.


Baixe o arquivo para visualizar todos os insights

XLSX

Módulos

Os módulos da Api Device Check são uma extensão da mesma, sendo possível contrata-los para se obter resultados personalizados.

Módulo Informações
Envio de Eventos Clique aqui para acessar a nossa documentação do Envio de Eventos.

FAQ

Acesse nosso FAQ Clicando Aqui

Licença de Uso.

Ao utilizar a nossa API você estará concordando com a seguinte licença.

Copyright © 2024 ClearSale

Todos os direitos são reservados, sendo concedida a permissão para usar o software da maneira como está, não sendo permitido qualquer modificação ou cópia para qualquer fim. O Software é licenciado com suas atuais configurações “tal como está” e sem garantia de qualquer espécie, nem expressa e nem implícita, incluindo mas não se limitando, garantias de comercialização, adequação para fins particulares e não violação de direitos patenteados. Em nenhuma hipótese os titulares dos Direitos Autorais podem ser responsabilizados por danos, perdas, causas de ação, quer seja por contrato ou ato ilícito, ou outra ação tortuosa advinda do uso do Software ou outras ações relacionadas com este Software sem prévia autorização escrita do detentor dos direitos autorais.