API de vérification de numéros
Créer une vérification de numéros WhatsApp (API)
Vérifiez si une liste de numéros de téléphone est enregistrée sur WhatsApp avant de leur envoyer des messages. Utilisez-la pour nettoyer des listes de contacts importées, valider des numéros d'inscription ou retirer des numéros qui échoueraient de toute façon.
https://wbiztool.com/api/v1/verification/create/Corps: JSON (application/json)
La requête crée une tâche de vérification et renvoie immédiatement un campaign_id. Les numéros sont ensuite vérifiés en arrière-plan par l'un de vos numéros WhatsApp connectés. Utilisez le campaign_id avec Statut de la vérification pour suivre la progression, ou avec Résultats de la vérification pour lire les résultats.
Exemple rapide#
curl -X POST https://wbiztool.com/api/v1/verification/create/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_name": "Website leads - September",
"numbers": ["919876543210", "+91 98765 43211", "14155550123"]
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/verification/create/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"campaign_name": "Website leads - September",
"numbers": ["919876543210", "+91 98765 43211", "14155550123"],
},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 4xx or 5xx
if result["status"] == "success":
print("Task created, campaign_id", result["campaign_id"])
print("Accepted numbers:", result["numbers_submitted"])
else:
print(f"Failed ({response.status_code}):", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/verification/create/", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
campaign_name: "Website leads - September",
numbers: ["919876543210", "+91 98765 43211", "14155550123"],
}),
});
const result = await response.json(); // read the body even when the HTTP code is 4xx or 5xx
if (result.status === "success") {
console.log("Task created, campaign_id", result.campaign_id);
console.log("Accepted numbers:", result.numbers_submitted);
} else {
console.error(`Failed (${response.status}):`, result.message);
}<?php
$payload = [
'campaign_name' => 'Website leads - September',
'numbers' => ['919876543210', '+91 98765 43211', '14155550123'],
];
$ch = curl_init('https://wbiztool.com/api/v1/verification/create/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? '') === 'success') {
echo 'Task created, campaign_id ' . $result['campaign_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}Remplacez YOUR_API_KEY par une clé issue de Paramètres → Clés API. La clé détermine l'espace de travail auquel appartient la tâche.
Paramètres de la requête#
En-tête
AuthorizationheaderobligatoireBearer YOUR_API_KEY. La clé doit être active et non supprimée. Aucunclient_idn'est nécessaire pour cette API.Content-TypestringobligatoireDoit être
application/json. Avec tout autre type de contenu,numbersn'est pas lu et vous obtenezNumbers array is required.
Corps
numbersarray of stringsobligatoireLes numéros de téléphone à vérifier, chacun avec son indicatif pays, par exemple
919876543210pour un numéro indien. Avant la vérification, chaque numéro est nettoyé :- les espaces,
+,-et les parenthèses sont supprimés - un
0initial est supprimé - le résultat ne doit contenir que des chiffres et comporter au moins 10 chiffres
Les numéros qui ne remplissent pas ces conditions sont écartés sans avertissement. Les doublons ne sont pas supprimés : chaque exemplaire est donc vérifié séparément.
- les espaces,
campaign_namestringfacultatifUn nom permettant de retrouver la tâche dans le tableau de bord. Si vous l'omettez, le nom est
API Verificationsuivi de la date et de l'heure du serveur en IST (UTC+5:30), par exempleAPI Verification 20260916_154500. Les noms peuvent comporter jusqu'à 500 caractères. N'envoyez pasnull: les noms plus longs ou nuls échouent avec le code HTTP500.
Réponse#
Une requête réussie renvoie le code HTTP 200 :
{
"status": "success",
"message": "Verification task created successfully",
"campaign_id": 4521,
"numbers_count": 3,
"numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
| Champ | Type | Description |
|---|---|---|
status | string | "success". Les erreurs renvoient "error". |
message | string | Verification task created successfully. |
campaign_id | integer | ID de la tâche de vérification. Utilisez-le avec Statut de la vérification et Résultats de la vérification. |
numbers_count | integer | Nombre de numéros acceptés après nettoyage. |
numbers_submitted | array of strings | Les numéros nettoyés qui seront vérifiés. Comparez-les avec ce que vous avez envoyé pour voir quels numéros ont été écartés. |
Chaque numéro accepté commence avec le statut pending. La tâche apparaît également sur la page Vérification de numéro de votre tableau de bord. Sa carte peut continuer d'afficher « Traitement... » (Processing) une fois la tâche terminée : utilisez donc Statut de la vérification pour connaître l'état réel.
Erreurs#
Les erreurs renvoient un corps JSON avec status à "error" et un code d'erreur HTTP :
{ "status": "error", "message": "No valid phone numbers found" }
| HTTP | Message | Comment corriger |
|---|---|---|
405 | Only POST method allowed | Envoyez une requête POST. |
401 | API key required | Ajoutez l'en-tête Authorization: Bearer YOUR_API_KEY. |
401 | Invalid API key | Vérifiez que la clé existe et n'a pas été supprimée ni désactivée. |
403 | Verification feature not available for your plan | Votre forfait n'inclut pas la vérification de numéros. Passez à un forfait supérieur. |
400 | Numbers array is required | Envoyez numbers sous forme de tableau JSON non vide, avec Content-Type: application/json. |
400 | No valid phone numbers found | Aucun des numéros ne comportait 10 chiffres ou plus après nettoyage. Incluez l'indicatif pays. |
400 | Request contains N numbers but your plan allows only M verifications | Votre forfait limite le nombre de numéros qu'une requête peut contenir. Divisez la liste en requêtes plus petites. |
500 | Internal server error: … | Le plus souvent, le corps JSON n'est pas valide, par exemple à cause d'une virgule finale. |
Comment les numéros sont vérifiés#
La tâche est mise en file d'attente
L'API enregistre chaque numéro accepté avec le statut
pendinget répond immédiatement.Un numéro WhatsApp connecté les vérifie
Les numéros sont vérifiés jusqu'à 10 à la fois à l'aide d'un numéro WhatsApp connecté dans les paramètres WhatsApp. Chaque numéro passe à
verifieds'il est enregistré sur WhatsApp, ou àinvalids'il ne l'est pas. Les vérifications ne s'exécutent que sur un numéro connecté qui n'est pas occupé à envoyer des messages : pendant une campagne importante, elles peuvent donc attendre la fin de l'envoi.Vous lisez les résultats
Interrogez Statut de la vérification jusqu'à ce que
overall_statusvaillecompleted, puis lisez les numéros dans cette même réponse ou via Résultats de la vérification.
Conseils#
- Incluez toujours l'indicatif pays. Un numéro local à 10 chiffres sans indicatif passe le contrôle de longueur, mais il est vérifié exactement tel qu'il est écrit : le résultat ne portera donc pas sur le numéro que vous visiez.
- N'utilisez pas le préfixe international
00. Un seul0initial est supprimé :00919876543210est donc vérifié comme0919876543210. Envoyez919876543210. - Supprimez vous-même les doublons avant l'envoi, afin de ne pas consommer la limite par requête de votre forfait avec des répétitions.
- Vérifiez
numbers_submittedpour repérer les numéros écartés parce qu'ils étaient trop courts ou contenaient des lettres. - Listes volumineuses : si vous atteignez la limite par requête, envoyez plusieurs tâches plus petites et suivez chaque
campaign_id.
Vous découvrez la vérification de numéros ? Consultez le guide de vérification de numéros.
