Aller au contenu
Wbiztool

API de vérification de numéros

Résultats de la vérification de numéros WhatsApp (API)

Lisez les résultats de vérification de numéros page par page, filtrés par tâche ou par statut. Utilisez-la pour exporter les numéros présents sur WhatsApp, retirer les numéros invalides de votre liste de contacts ou synchroniser les résultats avec votre CRM.

GEThttps://wbiztool.com/api/v1/verification/results/

Sans filtre, elle renvoie toutes les vérifications de votre espace de travail, des plus récentes aux plus anciennes. Cela inclut les tâches créées depuis la page Vérification de numéro du tableau de bord, et pas seulement celles créées via l'API.

Exemple rapide#

curl "https://wbiztool.com/api/v1/verification/results/?campaign_id=4521&status=verified&limit=100&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY"

Paramètres de la requête#

Tous les paramètres sont transmis dans la chaîne de requête.

Authentification

Authorizationheaderobligatoire

Bearer YOUR_API_KEY, avec une clé issue de Paramètres → Clés API. Vous pouvez aussi transmettre la clé via le paramètre de requête api_key, mais l'en-tête évite qu'elle n'apparaisse dans les journaux des serveurs et des proxys.

Filtres et pagination

campaign_idintegerfacultatif

Renvoie uniquement les numéros de cette tâche de vérification. Il doit s'agir d'une tâche de vérification du même espace de travail que la clé API. Omettez-le pour obtenir les résultats de toutes les tâches.

statusstringfacultatif

Renvoie uniquement les numéros ayant ce statut : pending, verified ou invalid. Toute autre valeur est ignorée et aucun filtre de statut n'est appliqué, y compris unknown : status=unknown renvoie donc tous les statuts. Les valeurs sont sensibles à la casse : Verified est ignoré et renvoie tous les statuts.

limitintegerfacultatif

Nombre de résultats par page. Valeur par défaut : 100. Utilisez une valeur supérieure ou égale à 1.

offsetintegerfacultatif

Nombre de résultats à ignorer. Valeur par défaut : 0. Doit être supérieur ou égal à 0.

Réponse#

Une requête réussie renvoie le code HTTP 200 :

{
  "status": "success",
  "total_count": 2,
  "returned_count": 2,
  "limit": 100,
  "offset": 0,
  "has_more": false,
  "results": [
    {
      "id": 88215,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "14155550123",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:26.730114+00:00",
      "created_at": "2026-09-16T10:15:00.483101+00:00"
    },
    {
      "id": 88213,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "919876543210",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:12.204551+00:00",
      "created_at": "2026-09-16T10:15:00.482913+00:00"
    }
  ]
}
ChampTypeDescription
statusstring"success". Les erreurs renvoient "error".
total_countintegerNombre de résultats correspondant à vos filtres, toutes pages confondues.
returned_countintegerNombre de résultats dans cette réponse.
limitintegerLa valeur de limit utilisée.
offsetintegerLa valeur de offset utilisée.
has_morebooleantrue si offset + limit est inférieur à total_count, c'est-à-dire s'il existe une page suivante.
resultsarrayLes résultats, des plus récents aux plus anciens.
results[].idintegerID de cet enregistrement de vérification.
results[].campaign_idinteger or nullID de la tâche à laquelle appartient le numéro.
results[].campaign_namestring or nullNom de cette tâche.
results[].numberstringLe numéro de téléphone nettoyé.
results[].statusstringpending, verified, invalid, ou unknown pour une vérification annulée.
results[].checked_atstring or nullDate de vérification du numéro, ou null tant qu'il est en attente.
results[].created_atstringDate d'ajout du numéro.

Les horodatages sont au format ISO 8601 en UTC, avec un décalage +00:00. Pour la signification de chaque statut, consultez Valeurs de statut des numéros.

Erreurs#

Les erreurs renvoient un corps JSON avec status à "error" et un code d'erreur HTTP :

{ "status": "error", "message": "Campaign not found" }
HTTPMessageComment corriger
405Only GET method allowedEnvoyez une requête GET.
401API key requiredAjoutez l'en-tête Authorization: Bearer YOUR_API_KEY.
401Invalid API keyVérifiez que la clé existe et n'a pas été supprimée ni désactivée.
404Campaign not foundLe campaign_id n'existe pas, ne correspond pas à une tâche de vérification ou appartient à un autre espace de travail.
500Internal server error: …Le plus souvent, campaign_id, limit ou offset n'est pas un nombre entier, offset est négatif, ou offset + limit est négatif.

Lire toutes les pages#

Augmentez offset de la valeur de limit jusqu'à ce que has_more vaille false.

Exporter tous les numéros vérifiés d'une tâche
import requests

numbers, offset, limit = [], 0, 500

while True:
    response = requests.get(
        "https://wbiztool.com/api/v1/verification/results/",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        params={"campaign_id": 4521, "status": "verified", "limit": limit, "offset": offset},
        timeout=60,
    )
    result = response.json()
    if result["status"] != "success":
        raise RuntimeError(result["message"])

    numbers += [item["number"] for item in result["results"]]
    if not result["has_more"]:
        break
    offset += limit

print(len(numbers), "numbers are on WhatsApp")

Conseils#

  • Dédoublonnez par id lors de la pagination. Les résultats sont triés par date de création, du plus récent au plus ancien. Les numéros d'une même tâche ont presque le même horodatage et de nouvelles vérifications peuvent être ajoutées pendant que vous parcourez les pages : une ligne peut donc apparaître sur deux pages ou être omise. Filtrer par campaign_id et attendre la fin de la tâche limite ce problème.
  • Attendez la fin de la tâche avant d'exporter. Consultez Statut de la vérification jusqu'à ce que overall_status vaille completed, ou gérez les résultats pending dans votre code.
  • Nettoyez votre liste de contacts en exportant status=invalid et en supprimant ces numéros avant votre prochaine campagne.
  • Taille de page : il n'y a pas de limit maximale, mais une page très grande produit une réponse volumineuse et lente.