Esta API fornece um meio de consulta dos subscores de crédito para seguro, considerando a base de dados de clientes e seu perfil de crédito. O retorno da consulta é uma lista de um total de 96 subscores, sendo 44 subscore individual e 52 área.
A nossa API é “restful”, ou seja, o nosso protocolo de comunicação foi criado de uma forma que pode interpretar qualquer linguagem de programação. Isso torna o processo de integração do lado dos nossos clientes e parceiros mais flexível e de fácil entendimento. Na página de documentação deixamos alguns exemplos de linguagem, caso seja necessário.
Utilizado como ferramenta para obter políticas e decisões de crédito mais adequada e confiável. Dessa forma, o nosso score possibilita:
- Redução de risco de inadimplência;
- Oportunidade de novos negócios mais seguros;
- Aumento de vendas e receita sustentável;
- Fornecemos elementos diferenciais (específicos da Claro) àqueles scores já fornecidos pelos Bureaus tradicionais, incluindo o de pessoas não bancarizadas.
200 - A solicitação foi bem sucedida.
400 - A solicitação não pôde ser entendida pelo servidor devido à sintaxe incorreta. O cliente NÃO DEVE repetir o pedido sem modificações.
401 - A solicitação requer autenticação do usuário.
403 - O servidor entendeu a solicitação, mas está se recusando a atendê-la.
404 - O servidor não encontrou nada que corresponda ao Request-URI.
500 - O servidor falhou ao atender uma solicitação aparentemente válida.
Caso ainda restem dúvidas, baixe o PDF que contém o tutorial de consumo da API, que explica passo a passo como utilizá-la.
!/bin/bash url_fraudscores=https://api.claro.com.br/customers/v1/fraudscores url_token=https://api.claro.com.br/oauth2/v1/token cnpj="XXXXXXXXXXXXXX" cpf="XXXXXXXXXXX" cep="XXXXXXXX" key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX secret=XXXXXXXXXXXXX senha=$( echo -n $key:$secret | base64) curl -X POST $url_token -H 'Content-Type: application/x-www-form-urlencoded' -H 'cache-control: no-cache' -d 'grant_type=client_credentials' -H "x-client-auth: Basic $senha" > json grep 'access_token' json > atributoJson token=$(cut -d'"' -f32 atributoJson ) curl -X POST $url_fraudscores -H 'Content-Type: application/json' -H 'cache-control: no-cache' -H "x-client-auth: Bearer $token" -H "X-CustomerID: sua_empresa" -d '{"data": {"insurer": {"idCnpj": "'$cnpj'"},"customer": {"idCpf": "'$cpf'","cep": "'$cep'"}}}'
package client.fraudScores; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.Base64; import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.map.ObjectMapper; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; public class App { private static final String KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; private static final String SECRET = "XXXXXXXXXXXXXXXXX"; private static final String GRANT_TYPE = "client_credentials"; private static final String URL = "https://api.claro.com.br"; private static final String END_POINT_ACCESS_TOKEN = "/oauth2/v1/token"; private static final String END_POINT_API_FRAUDSCORES = "/customers/v1/fraudscores"; public static void main( String[] args ) throws URISyntaxException, JsonProcessingException, IOException{ App app = new App(); String token = app.getAccessToken(); String cnpj="XXXXXXXXXXXXXX"; String cpf="XXXXXXXXXXX"; String cep="XXXXXXXX"; System.out.println("FraudScore: " + app.getFraudScore( token , cnpj, cpf , cep)); } public String getFraudScore(String acessToken, String cnpj, String cpf , String cep) throws RestClientException, URISyntaxException { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.add("cache-control","no-cache"); headers.add("x-client-auth", "Bearer " + acessToken); headers.add("X-CustomerID", "sua_empresa"); HttpEntityrequest = new HttpEntity<>(new Request(cnpj, cpf , cep), headers); RestTemplate restTemplate = new RestTemplate(); ResponseEntity result = restTemplate.postForEntity(new URI(URL + END_POINT_API_FRAUDSCORES), request, String.class); return result.getBody(); } public String getAccessToken() throws URISyntaxException, JsonProcessingException, IOException { String senha = Base64.getEncoder().encodeToString( App.KEY.concat(":").concat(App.SECRET).getBytes() ); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); headers.add("cache-control","no-cache"); headers.add("x-client-auth", "Basic " + senha); MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("grant_type", GRANT_TYPE); HttpEntity > request = new HttpEntity<>(parameters, headers); RestTemplate restTemplate = new RestTemplate(); ResponseEntity result = restTemplate.postForEntity(new URI(URL + END_POINT_ACCESS_TOKEN), request, String.class); return new ObjectMapper().readTree(result.getBody()).get("access_token").asText() ; } class Request{ public Request(String cnpj, String cpf, String cep) { super(); Customer customer = new Customer(cpf, cep); Insurer insurer = new Insurer(cnpj); this.data = new Data(customer, insurer); } private Data data; public Data getData() { return data; } public void setData(Data data) { this.data = data; } } class Data{ public Data(Customer customer, Insurer insurer) { super(); this.customer = customer; this.insurer = insurer; } private Customer customer; private Insurer insurer; public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } public Insurer getInsurer() { return insurer; } public void setInsurer(Insurer insurer) { this.insurer = insurer; } } class Insurer{ public Insurer(String idCnpj) { super(); this.idCnpj = idCnpj; } private String idCnpj; public String getIdCnpj() { return idCnpj; } public void setIdCnpj(String idCnpj) { this.idCnpj = idCnpj; } } class Customer{ public Customer(String idCpf, String cep) { super(); this.idCpf = idCpf; this.cep = cep; } private String idCpf; private String cep; public String getIdCpf() { return idCpf; } public void setIdCpf(String idCpf) { this.idCpf = idCpf; } public String getCep() { return cep; } public void setCep(String cep) { this.cep = cep; } } } ,>
$key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; $secret="XXXXXXXXXXXX"; $cnpj="XXXXXXXXXXXXXX"; $cpf="XXXXXXXXXXX"; $cep="XXXXXXXX"; $token = getAccessToken(); $fraudscore = getFraudScore($token , $cnpj, $cpf, $cep); echo $fraudscore; function getAccessToken() { try{ $senha = base64_encode($GLOBALS['key'] . ':' . $GLOBALS['secret']); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.claro.com.br/oauth2/v1/token"); curl_setopt( $ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/x-www-form-urlencoded', 'x-client-auth: Basic ' . $senha ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials'); $response = curl_exec($ch); if (!$response){ $error = curl_error($ch); $info = curl_getinfo($ch); die("cURL request failed, error = {$error}; info = " . print_r($info, true)); } if(curl_errno($ch)){ curl_close($ch); echo 'error:' . curl_error($ch); } else { curl_close($ch); return json_decode($response)->access_token; } } catch (Exception $e) { return 'Erro '. $e; } } function getFraudScore($token , $cnpj, $cpf, $cep){ try { $payload = '{"data": {"insurer": {"idCnpj":"'.$cnpj. '"},"customer": {"idCpf": "'.$cpf.'","cep": "'.$cep.'"}}}'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.claro.com.br/customers/v1/fraudscores"); curl_setopt( $ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'X-CustomerID: sua_empresa', 'x-client-auth: Bearer ' . $token ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); $response = curl_exec($ch); if (!$response){ $error = curl_error($ch); $info = curl_getinfo($ch); die("cURL request failed, error = {$error}; info = " . print_r($info, true)); } if(curl_errno($ch)){ curl_close($ch); echo 'error:' . curl_error($ch); } else { curl_close($ch); return $response; } } catch (Exception $e) { return 'Erro '. $e; } }
import requests, json import base64 KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" SECRET="XXXXXXXXXXXXX" SENHA = base64.b64encode( (KEY + ':' + SECRET ).encode('ascii') ).decode('ascii') GRANT_TYPE = "client_credentials"; URL = "https://api.claro.com.br"; END_POINT_ACCESS_TOKEN = "/oauth2/v1/token"; END_POINT_API_VALIDATIONSPHONES = "/customers/v1/fraudscores"; headers={'Content-Type':'application/x-www-form-urlencoded','cache-control':'no-cache','x-client-auth': 'Basic {}'.format(SENHA)} data = {'grant_type': 'client_credentials'} respToken = requests.post(URL + END_POINT_ACCESS_TOKEN , headers=headers , data= data) if respToken.status_code != 200: print('Erro:' + str( respToken.status_code)) else: token = json.loads( respToken.text)['access_token'] headers_app = {'Content-Type': 'application/json', 'X-CustomerID': 'sua_empresa', 'cache-control':'no-cache', 'user-agent':'curl/7.60.0', 'x-client-auth': 'Bearer {}'.format(token)} cnpj="XXXXXXXXXXXXXX" cpf="XXXXXXXXXXX" cep="XXXXXXXX" data_app = {"data": {"insurer": {"idCnpj": cnpj},"customer": {"idCpf": cpf,"cep": cep}}} resp = requests.post( URL + END_POINT_API_VALIDATIONSPHONES, headers=headers_app , data= json.dumps(data_app)) if resp.status_code != 200: print('Erro: ' + str(resp.status_code)) else: print('Válida ' + str( resp.text ))
Plano Pay Per Use
A melhor escolha para o seu negócio. Após testar nossa trial, você passa a consumir nosso plano em produção, cobrado por consumo conforme sua solicitação.