Verifizierungs-API
Status der WhatsApp-Nummernverifizierung (API)
Prüfen Sie den Fortschritt einer Aufgabe zur Nummernverifizierung und erhalten Sie das Ergebnis für jede enthaltene Nummer. Fragen Sie diesen Endpoint nach dem Erstellen einer Verifizierungsaufgabe regelmäßig ab, bis die Aufgabe abgeschlossen ist.
https://wbiztool.com/api/v1/verification/status/?campaign_id=4521Kurzes Beispiel#
curl "https://wbiztool.com/api/v1/verification/status/?campaign_id=4521" \
-H "Authorization: Bearer YOUR_API_KEY"import requests
response = requests.get(
"https://wbiztool.com/api/v1/verification/status/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"campaign_id": 4521},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 4xx or 5xx
if result["status"] == "success":
progress = result["progress"]
print(result["overall_status"], f"{progress['completed_percentage']}% done")
for item in result["results"]:
print(item["number"], item["status"])
else:
print(f"Failed ({response.status_code}):", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const url = new URL("https://wbiztool.com/api/v1/verification/status/");
url.searchParams.set("campaign_id", "4521");
const response = await fetch(url, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const result = await response.json(); // read the body even when the HTTP code is 4xx or 5xx
if (result.status === "success") {
console.log(result.overall_status, `${result.progress.completed_percentage}% done`);
for (const item of result.results) {
console.log(item.number, item.status);
}
} else {
console.error(`Failed (${response.status}):`, result.message);
}<?php
$ch = curl_init('https://wbiztool.com/api/v1/verification/status/?campaign_id=4521');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? '') === 'success') {
echo $result['overall_status'] . ' - ' . $result['progress']['completed_percentage'] . "% done\n";
foreach ($result['results'] as $item) {
echo $item['number'] . ': ' . $item['status'] . "\n";
}
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}Request-Parameter#
AuthorizationheadererforderlichBearer YOUR_API_KEYmit einem Schlüssel aus Einstellungen → API-Schlüssel. Sie können den Schlüssel stattdessen als Query-Parameterapi_keyübergeben, der Header hält ihn jedoch aus Server- und Proxy-Logs heraus.campaign_idintegererforderlichDie von Verifizierung erstellen zurückgegebene
campaign_id, im Query-String übergeben. Es muss eine Verifizierungsaufgabe im selben Arbeitsbereich wie der API-Schlüssel sein.
Antwort#
Ein erfolgreicher Request gibt HTTP 200 zurück:
{
"status": "success",
"campaign_id": 4521,
"campaign_name": "Website leads - September",
"overall_status": "processing",
"progress": {
"total": 3,
"pending": 1,
"verified": 1,
"invalid": 1,
"completed_percentage": 66.67
},
"results": [
{
"number": "14155550123",
"status": "pending",
"checked_at": null,
"created_at": "2026-09-16T10:15:00.483101+00:00"
},
{
"number": "919876543210",
"status": "verified",
"checked_at": "2026-09-16T10:16:12.204551+00:00",
"created_at": "2026-09-16T10:15:00.482913+00:00"
},
{
"number": "919876543211",
"status": "invalid",
"checked_at": "2026-09-16T10:16:19.915372+00:00",
"created_at": "2026-09-16T10:15:00.483020+00:00"
}
],
"created_at": "2026-09-16T10:15:00.471820+00:00",
"last_updated": "2026-09-16T10:15:00.471820+00:00"
}
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | "success". Fehler liefern "error". |
campaign_id | integer | ID der Verifizierungsaufgabe. |
campaign_name | string | Name der Aufgabe. |
overall_status | string | pending, processing oder completed. Siehe Werte für den Gesamtstatus. |
progress.total | integer | Nummern in der Aufgabe. |
progress.pending | integer | Noch nicht geprüfte Nummern. |
progress.verified | integer | Bei WhatsApp registrierte Nummern. |
progress.invalid | integer | Als invalid markierte Nummern (nicht bei WhatsApp, keine gültige Nummer oder eine fehlgeschlagene Prüfung). |
progress.completed_percentage | number | Geprüfte Nummern (verified + invalid) als Prozentsatz von total, auf 2 Dezimalstellen gerundet. |
results | array | Jede Nummer der Aufgabe, nach Nummer sortiert. Die gesamte Liste wird auf einmal zurückgegeben, ohne Paginierung. |
results[].number | string | Die bereinigte Telefonnummer. |
results[].status | string | pending, verified, invalid oder unknown. Siehe Werte für den Nummernstatus. |
results[].checked_at | string or null | Wann die Nummer geprüft wurde, oder null, solange sie aussteht. |
results[].created_at | string | Wann die Nummer hinzugefügt wurde. |
created_at | string | Wann die Aufgabe erstellt wurde. |
last_updated | string | Wann der Datensatz der Aufgabe zuletzt geändert wurde. Der Wert ändert sich nicht, während Nummern geprüft werden. Verwenden Sie checked_at, um aktuelle Aktivität zu sehen. |
Alle Zeitstempel sind im Format ISO 8601 in UTC mit Mikrosekunden und der Abweichung +00:00 angegeben, zum Beispiel 2026-09-16T10:16:12.204551+00:00.
Werte für den Nummernstatus#
| Wert | Bedeutung |
|---|---|
pending | Wartet auf die Prüfung. |
verified | Die Nummer ist bei WhatsApp registriert. |
invalid | Die Nummer ist nicht bei WhatsApp registriert, keine gültige Telefonnummer oder konnte wegen eines Verarbeitungsfehlers nicht geprüft werden. Wenn eine Nummer, die Sie für gültig halten, invalid zeigt, verifizieren Sie sie in einer neuen Aufgabe erneut. |
unknown | Die Prüfung wurde vom Wbiztool-Support abgebrochen. Bei normaler Verarbeitung wird dieser Wert nicht gesetzt. |
Werte für den Gesamtstatus#
| Wert | Bedeutung |
|---|---|
pending | Es wurden noch keine Nummern geprüft. |
processing | Einige Nummern wurden geprüft, andere stehen noch aus. |
completed | Es stehen keine Nummern mehr aus. |
Eine Aufgabe mit completed kann einen completed_percentage unter 100 anzeigen, wenn einige Prüfungen abgebrochen wurden, da abgebrochene Nummern zwar in total, aber nicht in den Prozentsatz einfließen.
Fehler#
Fehler liefern einen JSON-Body mit status gleich "error" und einen HTTP-Fehlercode:
{ "status": "error", "message": "Campaign not found" }
| HTTP | Meldung | Lösung |
|---|---|---|
405 | Only GET method allowed | Senden Sie einen GET-Request. |
401 | API key required | Fügen Sie den Header Authorization: Bearer YOUR_API_KEY hinzu. |
401 | Invalid API key | Prüfen Sie, ob der Schlüssel existiert und nicht gelöscht oder deaktiviert wurde. |
400 | campaign_id is required | Fügen Sie campaign_id zum Query-String hinzu. |
404 | Campaign not found | Die ID existiert nicht, ist keine Verifizierungsaufgabe oder gehört zu einem anderen Arbeitsbereich. Verwenden Sie einen Schlüssel aus dem Arbeitsbereich, in dem die Aufgabe erstellt wurde. |
500 | Internal server error: … | Meist ist campaign_id keine Zahl. Senden Sie nur Ziffern. |
Tipps#
- Fragen Sie maßvoll ab. Im Hintergrund werden pro Durchlauf bis zu 10 Nummern geprüft. Eine Abfrage alle 30 bis 60 Sekunden reicht daher völlig aus, und eine große Aufgabe kann lange dauern.
- Beenden Sie die Abfragen, sobald
overall_statusden Wertcompletedhat. - Hängt bei
pending? Die Verifizierung benötigt eine WhatsApp-Nummer, die in den WhatsApp-Einstellungen im selben Arbeitsbereich verbunden ist. Ohne eine solche Nummer werden die Nummern nie geprüft. Die Prüfungen warten außerdem, solange Ihre verbundene Nummer Nachrichten sendet. - Große Aufgaben: Dieser Endpoint gibt jede Nummer in einer einzigen Antwort zurück. Um Ergebnisse seitenweise oder nur die
verified-Nummern abzurufen, verwenden Sie Verifizierungsergebnisse.
