Integração CNAM

Referência da API REST de CNAM

Solicite um nome de chamador por HTTPS e trate o resultado, o custo e os erros.

Escolha o comportamento da consulta

NívelPreço público por consultaO que faz
StarterUS$ 0,0026Utiliza informações de nome de chamador proprietárias e em cache.
StandardUS$ 0,0037Efetua uma consulta de rede em tempo real para cada pedido.
MixedUS$ 0,004Tenta primeiro uma consulta em tempo real e, se não for encontrado nenhum nome, recorre aos dados de Starter.

O serviço selecionado determina o comportamento da consulta; Mixed não é uma consulta que privilegia a cache. Reveja a tarifa atribuída à sua conta antes de utilizar em produção. Um nome de chamador não é prova de identidade nem de titularidade.

Envie uma consulta autenticada

Endpoint: GET https://api.multitel.net/v3/cnam/NUMBER. Utilize dígitos internacionais, incluindo o indicativo do país, sem pontuação nem sinal de mais inicial. Execute-o a partir do servidor da sua aplicação, com credenciais de API aprovadas.

curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/cnam/12025550123"

Forneça as duas variáveis de ambiente através de uma configuração de segredos no servidor. Uma credencial bearer atribuída é uma alternativa apenas quando esse acesso estiver ativado e as respetivas restrições de IP de origem forem cumpridas. Nunca coloque um segredo de API num pacote de navegador público.

Guia de autenticação da API e do primeiro pedido

Leia a resposta JSON

Esta resposta é ilustrativa. O nome devolvido e o custo dependem da consulta e do serviço selecionado.

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "name": "EXAMPLE CALLER",
    "cost": "0.004",
    "balance": "24.9960"
  }
}
status.code
Código de resultado da aplicação; normalize os valores de texto/numéricos antes de comparar com 200.
status.msg
A mensagem de resultado ou de rejeição que o acompanha.
response.number
O número consultado.
response.name
O nome de chamador disponível.
response.cost
O custo reportado para esta consulta; trate-o como um valor decimal.
response.balance
O saldo da conta reportado, quando presente.

Resultados sem nome e erros

Um pedido bem-sucedido não garante um nome de chamador útil. Trate um nome vazio, um número devolvido no lugar de um nome e uma consulta rejeitada. O código de aplicação 403 pode indicar crédito insuficiente, uma compra proibida ou um número sem resultado; inspecione a mensagem.

Verifique tanto o estado HTTP como o status JSON antes de aceder a response.name. O objeto de resposta pode estar ausente em caso de erro. A falta de um nome não deve impedir o encaminhamento normal da chamada.

Faturação, novas tentativas e a diferença para a atualização do identificador de chamada

Uma nova consulta pode gerar um custo de consulta. Estas interfaces de consulta não documentam uma chave de idempotência, pelo que uma nova tentativa pode ser uma segunda consulta faturável. Utilize um backoff limitado para falhas de transporte/serviço, resolva primeiro os erros de conta e reconcilie os custos de consulta reportados. Utilize cache apenas durante um período adequado à sua aplicação; os dados de nome de chamador podem mudar.

Uma consulta CNAM lê um nome. Não altera o nome apresentado nas suas chamadas efetuadas. Uma atualização de nome de chamador LIDB é uma operação separada, com campos, autorização, preço e processamento próprios.