Nome da tab
Apresentação
Título
O que é?
Text

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.

Título
Benefícios
Ícone
Título
Fácil integração
Text

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.

Ícone
Título
Aumento de receita
Text

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;

 

Ícone
Título
Diferenciais
Text
  • Fornecemos elementos diferenciais (específicos da Claro) àqueles scores já fornecidos pelos Bureaus tradicionais, incluindo o de pessoas não bancarizadas.

 

Título
Dúvidas frequentes

A cobrança é por consulta?

Não, a cobrança é feita por resposta e informação entregue.

Vocês podem retornar o endereço ou telefone na consulta do Cpf?

O Claro Score retorna somente a pontuação de crédito do CPF consultado

Título
Documentação
Text

Nome da tab
Documentação
Título
Respostas

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.

Título
Passo a passo
Text

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.

Título
Códigos de Exemplo
Título
Curl
Text

!/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'"}}}'

Título
Java
Text

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");
    	
    	HttpEntity request = 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;
			}
			
    	}
    
}

,>
Título
PHP
Text

$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;
    }
}

Título
Python
Text

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.

Solicitar