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

Garanta a precisão e a confiabilidade dos seus dados com a nossa API "Know your customer". Ela permite comparar as informações cadastrais fornecidas pelo usuário com os registros verificados da Operadora, utilizando dados de alta segurança. Com essa integração, você pode validar informações cruciais como número de telefone, nome, CEP, endereço, data de nascimento, e-mail e muito mais, de maneira rápida e eficiente, sem comprometer a privacidade dos seus clientes.

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

Os retornos fornecidos, quando vinculados a outras medidas, podem se tornar meios eficazes de evitar que sejam praticadas fraudes, minimizando assim, o seu impacto no ambiente de negócios.

Ícone
Título
Principais ganhos
Text
  • Validação em tempo real dos dados fornecidos.
  • Acesso a informações verificadas pela Operadora
  • Garantia de precisão e segurança nos processos de verificação.
  • Total conformidade com as regulamentações de privacidade.

Melhore a qualidade dos dados, reduza fraudes e ofereça uma experiência mais confiável para seus usuários com a nossa solução robusta e eficiente. Integre facilmente e eleve o nível de confiabilidade do seu serviço!

Título
Dúvidas frequentes

A cobrança é por consulta?

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

Solicitei uma API, mas não consigo realizar o consumo. O que fazer?

Após a solicitação da API desejada, ela aparecerá na página Minhas Aplicações e também na página de seu Grupo de Permissão ao qual foi vinculada.

Em ambas as páginas, é possível verificar o status de sua API.

Caso o status seja “Aprovado”, o access token já está liberado e a API poderá ser consultada. Já no caso dos status serem “Pendente” ou “Reprovado”, o access token não dará acesso ao consumo da API.

Neste cenário, aguarde a aprovação da API ou entre em contato conosco através da nossa página de Fale Conosco

Título
Documentação
Text

Nome da tab
Documentação
Título
Claro Brasil - KYC (Know Your Customer) - REST API
Text

Versão: 0.2.1

Criada por: GSMA Opengateway

Data: 28/03/2025

Passo a passo

Caso ainda tenha duvidas, baixe o PDF abaixo com o tutorial de integração da API Know Your Customer. Ele te explica passo a passo como utilizá-la.

 

Título
Documentação:
Text

Em caso de duvidas técnicas por favor entre em contato através do Fale conosco

Título
Respostas

200 -A solicitação foi bem-sucedida. A resposta contém o resultado da validação dos dados do cliente.

400 - A solicitação não pôde ser entendida pelo servidor devido à sintaxe incorreta ou parâmetros inválidos. O cliente deve corrigir e reenviar a requisição.

401 - A solicitação requer autenticação. O token de acesso está ausente, inválido ou expirado.

403 - O servidor compreendeu a solicitação, mas se recusa a atendê-la. Pode ocorrer por falta de permissão, inconsistência nos dados ou token inválido para o contexto.

404 - O recurso solicitado não foi encontrado. Pode indicar que o número de telefone ou o usuário não existem na base de dados.

500- Erro interno do servidor. Um problema inesperado ocorreu no processamento da solicitação.

503 - O serviço está temporariamente indisponível. O cliente deve tentar novamente mais tarde.

504 - O servidor não conseguiu receber uma resposta a tempo para completar a solicitação. Recomenda-se tentar novamente.

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 utiliza-la.

Título
Códigos de Exemplo
Título
CURL
Text
#!/bin/bash
# URL de obtenção do token
url_token="https://api.claro.com.br/oauth2/v1/token"
# URL da API KYC Match
url_kyc="https://api.claro.com.br/mobile/v1/gsma/gateway/knowyourcustomer/match"
# Credenciais
key="XXXXXXXXXXXXXXXXXXXXXXXXX"
secret="XXXXXXXXXXXXXXXXXXXXX"
# Dados do cliente para validação
phoneNumber="+5511999999999"
idDocument="123456789"
name="João da Silva"
birthdate="1990-01-01"
# Gerar senha em base64
senha=$(echo -n "$key:$secret" | base64)
# Requisição para obter o token de acesso
token=$(curl -s -X POST "$url_token" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H "Authorization: Basic $senha" \
  -d 'grant_type=client_credentials' | jq -r .access_token)
# Requisição para validar o KYC
curl -X POST "$url_kyc" \
  -H "Authorization: Bearer $token" \
  -H "Content-Type: application/json" \
  -H "cache-control: no-cache" \
  -d '{
        "phoneNumber": "'"$phoneNumber"'",
        "idDocument": "'"$idDocument"'",
        "name": "'"$name"'",
        "birthdate": "'"$birthdate"'"
      }'
Título
Java
Text
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class KycClient {
   public static void main(String[] args) throws Exception {
       String key = "XXXXXXXXXXXXXXXXXXXXX";
       String secret = "XXXXXXXXXXXXXXXXXXXXX";
       String credentials = Base64.getEncoder().encodeToString((key + ":" + secret).getBytes());
       // Obter o token
       URL urlToken = new URL("https://api.claro.com.br/oauth2/v1/token");
       HttpURLConnection connToken = (HttpURLConnection) urlToken.openConnection();
       connToken.setRequestMethod("POST");
       connToken.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
       connToken.setRequestProperty("Authorization", "Basic " + credentials);
       connToken.setDoOutput(true);
       connToken.getOutputStream().write("grant_type=client_credentials".getBytes());
       BufferedReader in = new BufferedReader(new InputStreamReader(connToken.getInputStream()));
       String inputLine;
       StringBuilder responseToken = new StringBuilder();
       while ((inputLine = in.readLine()) != null) {
           responseToken.append(inputLine);
       }
       in.close();
       String token = responseToken.toString().split("\"access_token\":\"")[1].split("\"")[0];
       // Chamar a API KYC
       URL urlKyc = new URL("https://api.claro.com.br/mobile/v1/gsma/gateway/knowyourcustomer/match");
       HttpURLConnection connKyc = (HttpURLConnection) urlKyc.openConnection();
       connKyc.setRequestMethod("POST");
       connKyc.setRequestProperty("Content-Type", "application/json");
       connKyc.setRequestProperty("Authorization", "Bearer " + token);
       connKyc.setDoOutput(true);
       String jsonInputString = "{ \"phoneNumber\": \"+5511999999999\", \"idDocument\": \"123456789\", \"name\": \"João da Silva\", \"birthdate\": \"1990-01-01\" }";
       try(OutputStream os = connKyc.getOutputStream()) {
           byte[] input = jsonInputString.getBytes("utf-8");
           os.write(input, 0, input.length);
       }
       BufferedReader in2 = new BufferedReader(new InputStreamReader(connKyc.getInputStream()));
       StringBuilder responseKyc = new StringBuilder();
       while ((inputLine = in2.readLine()) != null) {
           responseKyc.append(inputLine);
       }
       in2.close();
       System.out.println(responseKyc.toString());
   }
}
Título
PHP
Text
 [
        'header' => "Authorization: Basic $credentials\r\n" .
                    "Content-Type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query(['grant_type' => 'client_credentials'])
    ]
];
$context = stream_context_create($options);
$result = file_get_contents($tokenUrl, false, $context);
$response = json_decode($result, true);
$token = $response['access_token'];
// Chamar a API KYC
$kycUrl = 'https://api.claro.com.br/mobile/v1/gsma/gateway/knowyourcustomer/match';
$data = [
    'phoneNumber' => '+5511999999999',
    'idDocument' => '123456789',
    'name' => 'João da Silva',
    'birthdate' => '1990-01-01'
];
$options = [
    'http' => [
        'header' => "Authorization: Bearer $token\r\n" .
                    "Content-Type: application/json\r\n",
        'method' => 'POST',
        'content' => json_encode($data)
    ]
];
$context = stream_context_create($options);
$result = file_get_contents($kycUrl, false, $context);
echo $result;
?>
Título
Python
Text
import requests
import base64
import json
key = "XXXXXXXXXXXXXXXXXXXXX"
secret = "XXXXXXXXXXXXXXXXXXXXX"
credentials = base64.b64encode(f"{key}:{secret}".encode()).decode()
# Obter token
token_url = "https://api.claro.com.br/oauth2/v1/token"
token_headers = {
    "Authorization": f"Basic {credentials}",
    "Content-Type": "application/x-www-form-urlencoded"
}
token_data = {'grant_type': 'client_credentials'}
token_response = requests.post(token_url, headers=token_headers, data=token_data)
token = token_response.json()['access_token']
# Requisição para o KYC
kyc_url = "https://api.claro.com.br/mobile/v1/gsma/gateway/knowyourcustomer/match"
kyc_headers = {
    "Authorization": f"Bearer {token}",
    "Content-Type": "application/json"
}
kyc_data = {
    "phoneNumber": "+5511999999999",
    "idDocument": "123456789",
    "name": "João da Silva",
    "birthdate": "1990-01-01"
}
response = requests.post(kyc_url, headers=kyc_headers, json=kyc_data)
print(response.json())

Plano Pay Per Use

  • A sua melhor escolha!
  • Faça consultas sob demanda e pague apenas pelo o que usar.
Contratar