Intégration CNAM
Référence API REST CNAM
Demandez un nom d’appelant via HTTPS et traitez le résultat, les frais et les erreurs.

Choisissez le comportement de recherche
| Niveau | Prix public par requête | Fonctionnalité |
|---|---|---|
| Starter | 0,0026 $US | Utilise des informations propriétaires et mises en cache sur le nom d'appelant. |
| Standard | 0,0037 $US | Effectue une recherche réseau en temps réel pour chaque requête. |
| Mixed | 0,004 $US | Effectue d’abord une recherche en temps réel, puis utilise les données Starter si aucun nom n’est trouvé. |
Le service sélectionné détermine le fonctionnement de la recherche ; Mixed ne consulte pas le cache en premier. Vérifiez le tarif attribué à votre compte avant toute utilisation en production. Un nom d’appelant ne constitue pas une preuve d’identité ou de propriété.
Envoyez une recherche authentifiée
Point de terminaison : GET https://api.multitel.net/v3/cnam/NUMBER. Utilisez le numéro au format international avec l’indicatif de pays, sans ponctuation ni signe plus initial. Exécutez cette requête depuis votre serveur applicatif avec des identifiants API approuvés.
curl --fail-with-body \
--user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
--header "Accept: application/json" \
"https://api.multitel.net/v3/cnam/12025550123"Fournissez les deux variables d’environnement dans la configuration des secrets côté serveur. Un identifiant d’authentification de type bearer spécialement configuré constitue une autre possibilité uniquement si cet accès est activé et si ses restrictions d’adresse IP source sont respectées. Ne placez jamais de secret API dans le code public du navigateur.
Lisez la réponse JSON
Cette réponse est un exemple. Le nom renvoyé et les frais dépendent de la recherche et du service sélectionné.
{
"status": {
"code": 200,
"msg": ""
},
"response": {
"number": "12025550123",
"name": "EXAMPLE CALLER",
"cost": "0.004",
"balance": "24.9960"
}
}status.code- Code de résultat applicatif ; normalisez les valeurs textuelles ou numériques avant de les comparer à 200.
status.msg- Le résultat ou le message de rejet associé.
response.number- Le numéro interrogé.
response.name- Le nom d'appelant disponible.
response.cost- Frais signalés pour cette requête ; traitez cette valeur comme un montant décimal.
response.balance- Le solde du compte signalé, lorsqu'il est présent.
Résultats sans nom et erreurs
Une requête réussie ne garantit pas un nom d'appelant utile. Gérez un nom vide, un numéro retourné à la place d'un nom et une recherche rejetée. Le code d'application 403 peut décrire un crédit insuffisant, un achat interdit ou un numéro sans résultat ; inspectez le message.
Vérifiez à la fois le statut HTTP et le status JSON avant d'accéder à response.name. L'objet de réponse peut être absent en cas d'erreur. Un nom manquant ne doit pas empêcher l'appel normal d'être routé.
Facturation, nouvelles tentatives et différence avec la mise à jour du nom d’appelant
Une nouvelle recherche peut entraîner des frais de requête. Ces interfaces ne documentent aucune clé d’idempotence ; une nouvelle tentative peut donc constituer une deuxième requête facturable. En cas de défaillance du transport ou du service, limitez les tentatives et espacez-les progressivement. Résolvez d’abord les erreurs de compte et rapprochez les frais de requête signalés de vos enregistrements. Mettez les résultats en cache uniquement pendant une durée adaptée à votre application : les noms d’appelants peuvent changer.
Une recherche CNAM lit un nom. Elle ne change pas le nom présenté sur vos appels sortants. Une mise à jour du nom d'appelant LIDB est une opération distincte avec ses propres champs, autorisation, prix et traitement.