Passer au contenu principal
POST
curl

Gérer les pannes du fournisseur

Si le fournisseur téléphonique est temporairement indisponible, cet endpoint renvoie 502 avec un code stable lisible par machine :
Traitez cette réponse comme pouvant faire l’objet d’une nouvelle tentative. Attendez un court délai avant de réessayer, et affichez à l’utilisateur un message de service temporairement indisponible plutôt que de lui demander de modifier un numéro de téléphone ou un code valide.

Module complémentaire d’intelligence

Définissez enable_enrichment sur true pour lancer également une analyse intelligente du numéro de téléphone : un score de risque, le type de ligne, si le numéro a été récemment porté et un indice de confiance. Le module complémentaire est facturé $0.05 par requête au tarif public, en plus du prix de la vérification. La requête renvoie 403 lorsque votre solde ne suffit pas à le couvrir. Quatre champs déterminent l’effet des signaux. Chacun prend la valeur NO_ACTION (par défaut) ou DECLINE, et chacun ne s’applique que lorsque enable_enrichment est true. Avec NO_ACTION, le signal est tout de même renvoyé dans phone.phone_intelligence, afin que vous puissiez appliquer votre propre règle.

Autorisations

x-api-key
string
header
requis

La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.

Corps

application/json
phone_number
string
requis

Le même numéro de téléphone que celui utilisé dans l'appel POST /v3/phone/send/ correspondant, au format E.164. C'est ce qui associe la vérification à l'envoi.

Maximum string length: 20
Exemple:

"+14155552671"

code
string
requis

L'OTP reçu par l'utilisateur final. Doit comporter entre 4 et 8 chiffres numériques — toute autre valeur renvoie 400 sans décompter de tentative. Un code bien formé mais incorrect renvoie 200 avec status: "Failed" et décompte l'une des 3 tentatives.

Required string length: 4 - 8
Pattern: ^[0-9]{4,8}$
Exemple:

"123456"

duplicated_phone_number_action
enum<string>
défaut:NO_ACTION

Que faire lorsque le même numéro a déjà été utilisé par un autre utilisateur (vendor_data différent) de votre application. DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le risque dans phone.warnings et renseigne phone.matches.

Options disponibles:
NO_ACTION,
DECLINE
disposable_number_action
enum<string>
défaut:NO_ACTION

Ce qu'il faut faire lorsque la recherche d'opérateur signale le numéro comme une ligne temporaire ou jetable (phone.is_disposable). DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le risque dans phone.warnings.

Options disponibles:
NO_ACTION,
DECLINE
voip_number_action
enum<string>
défaut:NO_ACTION

Ce qu'il faut faire lorsque la recherche d'opérateur indique un type de ligne virtuelle — voip, isp ou vpn (phone.is_virtual). DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le risque dans phone.warnings.

Options disponibles:
NO_ACTION,
DECLINE
enable_enrichment
boolean
défaut:false

Lorsque la valeur est true, exécute également une analyse de renseignements téléphoniques sur le numéro : un score de risque, le type de ligne, un éventuel portage récent et un indice de confiance. Facturé comme une unité phone_intelligence_api par requête ($0.05 au prix catalogue) en plus du prix propre à cet endpoint. La requête renvoie 403 lorsque votre solde ne permet pas de la couvrir.

Exemple:

false

phone_intelligence_score_action
enum<string>
défaut:NO_ACTION

Action lorsque le score de risque de l'intelligence téléphonique est supérieur au seuil. DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le signal sans refuser. Ne prend effet que lorsque enable_enrichment est true.

Options disponibles:
NO_ACTION,
DECLINE
phone_type_risk_action
enum<string>
défaut:NO_ACTION

Action lorsque le numéro correspond à un type de ligne à haut risque. DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le signal sans refuser. Ne prend effet que lorsque enable_enrichment est true.

Options disponibles:
NO_ACTION,
DECLINE
recent_port_action
enum<string>
défaut:NO_ACTION

Action lorsque le numéro a été récemment porté vers un autre opérateur. DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le signal sans refuser. Ne prend effet que lorsque enable_enrichment est true.

Options disponibles:
NO_ACTION,
DECLINE
low_phone_trust_action
enum<string>
défaut:NO_ACTION

Action lorsque l'indice de confiance de l'intelligence téléphonique est inférieur ou égal au seuil. DECLINE fait passer le status final à Declined ; NO_ACTION enregistre le signal sans refuser. Ne prend effet que lorsque enable_enrichment est true.

Options disponibles:
NO_ACTION,
DECLINE
enable_social
boolean
défaut:false

Si true, recherche également l'empreinte sociale du numéro : les plateformes de messagerie, sociales, d'e-commerce et professionnelles sur lesquelles il est enregistré. Facturé comme une unité phone_social par requête en plus du prix propre de cet endpoint.

Exemple:

true

phone_no_social_presence_action
enum<string>
défaut:NO_ACTION

Action lorsque la vérification de l'empreinte sociale ne trouve le numéro enregistré sur aucune des plateformes couvertes. Seuls NO_ACTION et DECLINE sont acceptés sur cet endpoint ; REVIEW est disponible sur la clé de configuration du workflow du même nom.

Options disponibles:
NO_ACTION,
DECLINE

Réponse

Vérification terminée — les codes erronés et les vérifications manquantes renvoient également 200 ; inspectez status, et non le code HTTP. phone n'est renseigné que pour les résultats finalisés (Approved/Declined), vaut null pour Failed, et est absent pour Expired or Not Found.

request_id
string<uuid>

Pour Approved/Declined : l'identifiant de session de la vérification correspondante — identique au request_id renvoyé par POST /v3/phone/send/. Pour Failed et Expired or Not Found : un UUID aléatoire à usage unique qui ne pourra pas être consulté ultérieurement.

status
enum<string>

Approved — code correct, aucun risque de refus. Declined — définitif : un risque entraînant un refus a correspondu ou le nombre maximal de tentatives (3) a été épuisé. Failed — code erroné, tentatives restantes. Expired or Not Found — aucune vérification en attente pour ce numéro au cours des 5 dernières minutes.

Options disponibles:
Approved,
Declined,
Failed,
Expired or Not Found
message
string

Explication lisible par l'humain du résultat, incluant le nombre de tentatives restantes après un code erroné.

phone
object | null

Rapport téléphonique complet. Présent (non nul) uniquement pour les résultats finalisés (Approved/Declined) ; null en cas de Failed et absent en cas de Expired or Not Found.

vendor_data
string | null

vendor_data de la session de la vérification correspondante. null pour Expired or Not Found.

metadata
object | null

metadata de la session de la vérification correspondante. null pour Expired or Not Found.

created_at
string<date-time>

Horodatage de cette réponse de vérification.

Dernière modification le 7 novembre 2026