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

O Claro Alerta identifica as alterações operacionais ocorridas em uma linha móvel.

Cruzando o status de alterações (ex.: troca de chip e troca de aparelho) com outras fontes de dados, pode-se detectar uma fraude em um serviço digital.

 

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 na segurança
Text

Os alertas 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
Diferenciais
Text

Validação em tempo real: agilidade nos processos de confirmação das informações, reduzindo esforço humano manual;

Título
Dúvidas frequentes

A cobrança é por consulta?

Sim, a cobrança é feita por consulta com sucesso e com entrega de informações. Se ao menos um dos dados fornecidos na entrada for validado com 'true' ou 'false', a consulta será considerada um sucesso para fins de faturamento.

Como realizamos a consulta? (Webservice?)

A consulta é realizada através de integração com nossa API. Em nosso
portal você encontra toda documentação e exemplos de código para utilizar a API.

Título
Documentação
Text

Nome da tab
Documentação
Título
Claro Brasil - Customers Alerts Service - REST API
Text

Versão: 1;2019-11-06

Criada por: Claro

Data: 06/11/2019

Modificações

  • [Claro API Monetization MVP] API changes

 

Título
Seja notificado sobre as atividades do cliente.
Text

Receba alertas de notificação sobre várias atividades de clientes na rede GSM da Claro, bem como dinâmicas relacionadas ao perfil de dispositivo móvel da Claro. 

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.

406 - Servidor não pode produzir uma resposta que combine com a lista de valores aceitáveis definidas.

415 - O servidor falhou ao atender uma solicitação. Por que o formato do payload não é um formato suportado.

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

Título
Códigos de Exemplo
Título
CURL
Text
!/bin/bash

url_alerts=https://api.claro.com.br/customers/v1/alerts
url_token=https://api.claro.com.br/oauth2/v1/token
networkMsisdn="XXXXXXXXXXXXX"
key=XXXXXXXXXXXXXXXXXXXXXXX
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'"' -f4 atributoJson )


curl -X POST $url_alerts -H 'Content-Type: application/json' -H 'cache-control: no-cache' -H "x-client-auth: Bearer $token" -H "X-CustomerID: claro_exemplo" -H "event-types: SIMCARD_CHANGED,DEVICE_CHANGED" -d '{"data": {"customer":{"networkMsisdn": "'$networkMsisdn'"}}}'

Título
Java
Título
PHP
Text
$key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

$secret = 'XXXXXXXXXXXX';

$networkMsisdn = 'XXXXXXXXXXXXX';

$token = getAccessToken();

$alerta = getAlerta($token , $networkMsisdn);

echo $alerta;

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 getAlerta($token , $networkMsisdn){
    
    try {
        
        $payload = '{"data":{"customer":{"networkMsisdn":' . $networkMsisdn . '}}}';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://api.claro.com.br/customers/v1/alerts");
        curl_setopt( $ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json',
	    'X-CustomerID: claro_exemplo',
            '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="XXXXXXXXXXXXXXXXXXXXXXXXXXX"
SECRET="XXXXXXXXXXXX"

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_ALERTS = "/customers/v1/alerts";

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': 'claro_exemplo',
		   'event-types':'SUBSCRIPTION_CANCELED,SIMCARD_CHANGED,MSISDN_CHANGED'
                   'cache-control':'no-cache',
                   'user-agent':'curl/7.60.0',
                   'x-client-auth': 'Bearer {}'.format(token)}

    networkMsisdn = "XXXXXXXXXXXXX"
    data_app = {"data":{"customer":{"networkMsisdn": networkMsisdn }}}

    respAlerta = requests.post(URL + END_POINT_API_ALERTS, headers=headers_app , data= json.dumps(data_app))

    if respAlerta.status_code != 200:
        print('Erro: ' + str(respAlerta.status_code))
    else:
        print('Alerta ' + str( respAlerta.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 seu contrato.

Contratar