API التحقق من الأرقام
إنشاء تحقق من أرقام WhatsApp (API)
تحقّق مما إذا كانت قائمة من أرقام الهواتف مسجّلة على WhatsApp قبل مراسلتها. استخدمه لتنظيف قوائم جهات الاتصال المستوردة، أو للتحقق من أرقام التسجيل، أو لإزالة الأرقام التي لن تؤدي إلا إلى الفشل.
https://wbiztool.com/api/v1/verification/create/النص (Body): JSON (application/json)
ينشئ الطلب مهمة تحقق ويُرجع campaign_id فورًا. ثم يُتحقق من الأرقام في الخلفية بواسطة أحد أرقام WhatsApp المتصلة لديك. استخدم campaign_id مع حالة التحقق لمتابعة التقدم، أو مع نتائج التحقق لقراءة النتائج.
مثال سريع#
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');
}استبدل YOUR_API_KEY بمفتاح من Settings → API keys (الإعدادات ← مفاتيح API). المفتاح هو الذي يحدّد مساحة العمل التي تنتمي إليها المهمة.
معاملات الطلب#
الترويسة
Authorizationheaderمطلوب
Bearer YOUR_API_KEY. يجب أن يكون المفتاح نشطًا وغير محذوف. لا حاجة إلىclient_idفي هذا API.Content-Typestringمطلوبيجب أن تكون
application/json. مع أي نوع محتوى آخر، لا يُقرأnumbersوستحصل علىNumbers array is required.
الجسم
numbersarray of stringsمطلوبأرقام الهواتف المراد التحقق منها، كل رقم مع رمز الدولة، مثل
919876543210لرقم هندي. قبل التحقق، يُنظَّف كل رقم:- تُزال المسافات و
+و-والأقواس - يُزال صفر
0بادئ واحد - يجب أن تحتوي النتيجة على أرقام فقط وأن تتكون من 10 أرقام على الأقل
تُستبعد الأرقام التي لا تجتاز ذلك بصمت. لا تُحذف الأرقام المكررة، لذا يُتحقق من كل نسخة على حدة.
- تُزال المسافات و
campaign_namestringاختيارياسم للعثور على المهمة في لوحة التحكم. إذا حذفته، يكون الاسم
API Verificationمتبوعًا بتاريخ الخادم ووقته بتوقيت IST (UTC+5:30)، مثلAPI Verification 20260916_154500. يمكن أن يصل طول الاسم إلى 500 حرف. لا ترسلnull: الأسماء الأطول أو القيمة null تفشل مع HTTP500.
الاستجابة#
يُرجع الطلب الناجح HTTP 200:
{
"status": "success",
"message": "Verification task created successfully",
"campaign_id": 4521,
"numbers_count": 3,
"numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
| الحقل | النوع | الوصف |
|---|---|---|
status | string | "success". تُرجع الأخطاء "error". |
message | string | Verification task created successfully. |
campaign_id | integer | معرّف مهمة التحقق. استخدمه مع حالة التحقق ونتائج التحقق. |
numbers_count | integer | عدد الأرقام التي قُبلت بعد التنظيف. |
numbers_submitted | array of strings | الأرقام المنظّفة التي سيُتحقق منها. قارنها بما أرسلته لمعرفة الأرقام التي استُبعدت. |
يبدأ كل رقم مقبول بالحالة pending. وتظهر المهمة أيضًا في صفحة التحقق من الأرقام في لوحة التحكم. قد تظل بطاقتها هناك تعرض Processing (قيد المعالجة) حتى بعد انتهائها، لذا استخدم حالة التحقق لمعرفة الحالة الفعلية.
الأخطاء#
تُرجع الأخطاء جسم JSON مع status بقيمة "error" ورمز خطأ HTTP:
{ "status": "error", "message": "No valid phone numbers found" }
| HTTP | الرسالة | طريقة الإصلاح |
|---|---|---|
405 | Only POST method allowed | أرسل طلب POST. |
401 | API key required | أضف الترويسة Authorization: Bearer YOUR_API_KEY. |
401 | Invalid API key | تأكد من أن المفتاح موجود ولم يُحذف أو يُعطَّل. |
403 | Verification feature not available for your plan | باقتك لا تتضمن التحقق من الأرقام. قم بترقية باقتك. |
400 | Numbers array is required | أرسل numbers كمصفوفة JSON غير فارغة، مع Content-Type: application/json. |
400 | No valid phone numbers found | لم يحتوِ أي رقم على 10 أرقام أو أكثر بعد التنظيف. ضمّن رمز الدولة. |
400 | Request contains N numbers but your plan allows only M verifications | باقتك تحدّ من عدد الأرقام في الطلب الواحد. قسّم القائمة إلى طلبات أصغر. |
500 | Internal server error: … | غالبًا يكون جسم JSON غير صالح، مثلًا بسبب فاصلة زائدة في النهاية. |
كيف يُتحقق من الأرقام#
تدخل المهمة قائمة الانتظار
يخزّن API كل رقم مقبول بالحالة
pendingويستجيب فورًا.يتحقق منها رقم WhatsApp متصل
يُتحقق من الأرقام بمعدل 10 أرقام كحد أقصى في كل مرة باستخدام رقم WhatsApp متصل في إعدادات WhatsApp. يصبح كل رقم
verifiedإذا كان مسجّلًا على WhatsApp، أوinvalidإذا لم يكن كذلك. لا تُجرى الفحوص إلا على رقم متصل غير مشغول بإرسال الرسائل، لذا قد تنتظر أثناء حملة كبيرة حتى ينتهي الإرسال.تقرأ النتائج
استعلم من حالة التحقق حتى تصبح قيمة
overall_statusهيcompleted، ثم اقرأ الأرقام من الاستجابة نفسها أو من نتائج التحقق.
نصائح#
- ضمّن رمز الدولة دائمًا. الرقم المحلي المكوّن من 10 أرقام بدون رمز الدولة يجتاز فحص الطول، لكنه يُتحقق منه كما هو مكتوب تمامًا، فلن تكون النتيجة للرقم الذي قصدته.
- لا تستخدم البادئة الدولية
00. يُزال صفر بادئ واحد فقط، لذا يُتحقق من00919876543210على أنه0919876543210. أرسل919876543210. - احذف الأرقام المكررة بنفسك قبل الإرسال، حتى لا تستهلك حد باقتك لكل طلب على التكرارات.
- تحقّق من
numbers_submittedلمعرفة الأرقام التي استُبعدت لأنها قصيرة جدًا أو تحتوي على أحرف. - القوائم الكبيرة: إذا بلغت الحد لكل طلب، فأرسل عدة مهام أصغر وتتبّع كل
campaign_id.
جديد على التحقق من الأرقام؟ راجع دليل التحقق من الأرقام.
