/v1/contacts
استخدم العقدة contacts
لإدارة مستخدمي واتساب في قاعدة بياناتك من خلال التحقق منهم قبل إرسال الرسائل، والتحقق من صحة هوية المستخدم باستخدام خوارزميات تجزئة الهوية.
باستخدام العقدة contacts
، يمكنك:
status
تتوفر بالقيمة valid
قبل أن تتمكن من إرسال رسالة إلى المستخدم. بدءً من الإصدار 2.39.1، يمكن استخدام العقدة messages
مباشرةً مع رقم هاتف، دون الحاجة إلى تحويله أولاً إلى معرف واتساب باستخدام العقدة contacts
.
تتم إعادة توظيف العقدة contacts
بدءًا من الإصدار 2.43 بحيث لا توفر معلومات الحالة حول رقم هاتف بعد الآن. بغض النظر عما إذا كان المستخدم لديه حساب واتساب، سيتم دائمًا إرجاع القيمة valid
لـ status
في الاستجابة وwa_id.
احرص على توفير خيار لعملائك يتيح لهم الاشتراك للتواصل مع نشاطك التجاري عن طريق واتساب. تتم المحافظة على تدفق الاشتراك هذا من جانب نشاطك التجاري. بمجرد أن يشترك العميل، استخدم العقدة contacts
للتحقق من الرقم المسجّل. لمزيد من المعلومات، راجع التعرف على كيفية الاشتراك للتواصل في واتساب.
إذا كان النشاط التجاري يُسيء استخدام نقطة النهاية، فسيتم اتخاذ الإجراءات التالية:
نوصي بالتحقق من جهات الاتصال قبل إرسال الرسائل، ومع ذلك لا تحتاج إلى التحقق من جهات الاتصال عند الاستجابة لرسائل العملاء الواردة، حيث يمكنك الاستجابة على الفور باستخدام wa_id
المتوفر. لا توجد تكلفة إضافية نظرًا لأنه يتم تخزين النتائج مؤقتًا.
قبل إرسال الرسائل إلى المستخدمين الذين اشتركوا، أرسل طلب POST
إلى نقطة النهاية /v1/contacts
لإنشاء طلب التحقق من مستخدم حساب واتساب. في الاستدعاء، قم بتضمين قائمة بأرقام الهواتف التي تريد التحقق منها.
POST /v1/contacts { "blocking": "wait" | "no_wait", "contacts": [ "16315551000", "+1 631 555 1001", "6315551002", "+1 (631) 555-1004", "1-631-555-1005" ], "force_check": false | true }
ستتلقى استجابة تتضمن status
الحالية للأرقام المطلوبة ومعرفات واتساب المرتبطة بها (wa_id
):
{ "contacts": [ { "wa_id": "16315551000", "input": "16315551000", "status": "valid" }, { "wa_id": "16315551001", "input": "+1 631 555 1001", "status": "processing" # Only applicable when request is non-blocking }, { "input": "6315551002", "status": "invalid" }, { "input": "+163155588", "status": "failed" } }
احفظ معرفات واتساب المرتبطة بتلك الأرقام التي تقوم بإرجاع status
بالقيمة valid
. المستخدمون الصالحون هم أولئك الذين لديهم حساب على واتساب. استخدم معرفات واتساب لإرسال الرسائل والإشعارات.
كرّر هذه الخطوات على أساس ثابت لإدارة قائمة المستخدمين الصالحين الخاصة بك. يتم تخزين النتائج مؤقتًا في قاعدة بيانات عميل API داخل المواقع في واتساب للأعمال لمدة 7 أيام.
يتم دعم المعلمات التالية لإجراء استدعاءات POST
إلى /v1/contacts
:
الاسم | الوصف |
---|---|
| اختياري. تشير إلى ما إذا كان يجب على الطلب الانتظار حتى تكتمل المعالجة أم لا قبل إرجاع الاستجابة. لمزيد من المعلومات، اقرأ قسم الحظر أدناه. القيم الممكنة: |
| مطلوب. مصفوفة أرقام الهواتف التي تتحقق منها. يمكن أن تتوفر الأرقام بأي تنسيق قياسي مُستخدم لأرقام الهواتف. يبدأ التنسيق الموصى به لأرقام هواتف جهات الاتصال بعلامة الجمع ( |
| اختياري. تشير إلى ما إذا كنت تريد التحقق من التخزين المؤقت لجهات الاتصال أم لا. عادةً ما يتم تخزين معلومات جهات الاتصال مؤقتًا لمدة 7 أيام. من خلال تعيين المعلمة القيم الممكنة: |
ترتبط عناصر الربط التالية بهذه العقدة:
عنصر الربط | الوصف |
---|---|
استخدم عنصر الربط هذا لإدارة هويات المستخدمين. لمزيد من المعلومات، يمكنك الرجوع إلى التعرف على تغيير الهوية في واتساب للأعمال. |
يتوفر خياران للمعلمة blocking
وهما: no_wait
وwait
. إذا لم يتم تحديد المعلمة blocking
في أي استدعاء، فستتوفر بالقيمة no_wait
افتراضيًا.
تحدد المعلمة blocking
ما إذا كان ينبغي للطلب انتظار اكتمال عملية المعالجة (متزامن) أم لا (غير متزامن).
الإعداد | الوصف |
---|---|
| يمثل عملية معالجة أرقام الهاتف غير المتزامنة. قد تتضمن الاستجابة بعض الأرقام مع تعيين
|
| يمثل عملية معالجة أرقام الهاتف المتزامنة. ستلاحظ الحالة النهائية لكل جهات الاتصال بعد المزامنة مع الخادم. ويجعل هذا الإعداد مجموعة الاستعلامات تنتظر حتى يتم التحقق من الأرقام كلها قبل إرجاع أي نتائج. قد يستغرق هذا بعض الوقت. |
يمكن أن تكون أرقام الهواتف الموجودة في الطلب contacts
بأي تنسيق يمكن الاتصال من خلاله.
في حالة عدم تضمين علامة الجمع (+
) في بداية رقم الهاتف، يتم تحديد كود البلد باستخدام رقم الهاتف المسجّل ضمنه عميل API داخل المواقع في واتساب للأعمال لديك، وبالتالي لن تعمل أرقام الهواتف المرتبطة بأي كود بلد مختلف.
تتمثل أفضل ممارسة موصى بها في تحديد كود البلد دومًا مع رقم الهاتف ووضعه بوضوح في البداية بجانب علامة الجمع (+
).
لاحظ أنه لا يزال بالإمكان استخدام كود البلد إذا كان الرقم بعد +
غير صالح. يوصى بالتحقق من صحة أرقام الهواتف قبل استخدام API داخل المواقع للحصول على سلوك يمكن التنبؤ به.
فيما يلي أمثلة توضح هذا السلوك، على افتراض أنه تم تسجيل عميل API داخل المواقع في واتساب للأعمال برقم هاتف هندي (مما يعني أن كود البلد هو +91
):
رقم الهاتف | رقم الهاتف المترجم |
---|---|
|
|
|
|
|
|
|
|
|
|
تحتوي حمولة بيانات استجابة contacts
على المصفوفة نفسها التي تتضمن أرقام الهواتف المُرسلة في الطلب مع الخصائص input
وstatus
وwa_id
:
الاسم | الوصف |
---|---|
| القيمة التي أرسلتها ضمن الحقل |
الإصدار 2.41 والإصدارات الأقدم | حالة المستخدم القيم الممكنة:
|
الإصدار 2.43 والإصدارات الأحدث | حالة المستخدم القيم الممكنة:
|
الإصدار 2.41 والإصدارات الأقدم | معرف مستخدم واتساب الذي يمكن استخدامه في إجراء الاستدعاءات الأخرى. لا يتم إرجاعه إلا إذا كانت |
الإصدار 2.43 والإصدارات الأحدث | معرف مستخدم واتساب الذي تم إرجاعه والذي قد يكون صالحًا أو غير صالح نظرًا لعدم وجود ضمان بأن القيمة ستكون صالح، يرجى الامتناع عن استخدام هذه القيمة في الاستدعاءات اللاحقة. |
بالإضافة إلى الحالة processing
، يجب أن تظهر حالة HTTP بالقيمة 200 OK
.
إذا تم إرسال رسالة قالب إلى رقم الهاتف بدون توفر حساب واتساب، فستتلقى رسالة خطأ تشير إلى أن "المستخدم غير صالح" مع عرض رمز الخطأ 1013
.
في حالة وجود أي أخطاء أخرى تتعلق بالاستجابة، يمكنك الرجوع إلى رسائل الخطأ والحالة.
يمكن اعتبار الحظر ميزة دفاعية لإيقاف المحتالين من متابعة التصرفات الضارة. لحظر جهة اتصال، يجب أن تكون تلك الجهة قد أرسلت إليك رسالة في غضون الـ 24 ساعة الماضية.
أرسل استدعاء API إلى /v1/contacts/{phone_number}/block
يتضمن سببًا لحظر حساب واتساب آخر.
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked" }
يكون للاستجابة الناجحة حالة HTTP 200
ولا يوجد كائن "للأخطاء".
تبدو الاستجابة الفاشلة على النحو التالي:
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
يتم دعم المعلمات التالية لإجراء استدعاءات POST إلى /v1/contacts/{phone_number}/block
:
الإعداد | الوصف |
---|---|
| اختياري. سبب الحظر الحر. سيتم استخدامه عند حظر حساب واتساب آخر. يجب أن يكون أقل من 60 حرفًا. |
| مطلوب. يمكن أن تتوفر الأرقام بأي تنسيق قياسي مُستخدم لأرقام الهواتف. يبدأ التنسيق الموصى به لأرقام هواتف جهات الاتصال بعلامة الجمع (+) وكود البلد. لمزيد من المعلومات، راجع تنسيقات رقم الهاتف. |
قم بإجراء هذه المكالمة لإلغاء حظر جهة اتصال
أرسل استدعاء API إلى /v1/contacts/{phone_number}/unblock
POST /v1/contacts/+16315551000/unblock
يكون للاستجابة الناجحة حالة HTTP 200
ولا يوجد كائن "للأخطاء".
تبدو الاستجابة الفاشلة على النحو التالي:
{ "errors": [ { "code": 1009, "title": "Parameter value is not valid", "details": "Provided WhatsApp ID is not valid. Please provide a valid WhatsApp ID or a phone number with a country code" } ] }
يتم دعم المعلمات التالية لإجراء استدعاءات POST إلى /v1/contacts/{phone_number}/unblock
:
الإعداد | الوصف |
---|---|
| مطلوب. يمكن أن تتوفر الأرقام بأي تنسيق قياسي مُستخدم لأرقام الهواتف. يبدأ التنسيق الموصى به لأرقام هواتف جهات الاتصال بعلامة الجمع (+) وكود البلد. لمزيد من المعلومات، راجع تنسيقات رقم الهاتف. |
هذه هي الطريقة التي تحصل بها على قائمة بجهات الاتصال المحظورة لديك.
أرسل استدعاء API إلى /v1/contacts/blocklist
لاستلام قائمة مقسمة إلى صفحات تتضمن جهات الاتصال المحظورة لديك
GET /v1/contacts/blocklist?limit=10&offset=0
ستتلقى استجابة عبر صفحة تتضمن قائمة الحظر مع معلومات تقسيم الصفحات
{ "contacts": [ { "wa_id": "16315551000@s.whatsapp.net" } ], "pagination": { "limit": 10, "offset": 0, "total": 1 } }
يتم دعم المعلمات التالية لإجراء استدعاءات GET إلى /v1/contacts/blocklist
:
الإعداد | الوصف |
---|---|
| اختياري. النطاق المقبول هو (0; 200]. الافتراضي: 100. |
| اختياري. الافتراضي: 0. |
توفر ميزة إعداد التقارير إشارات مهمة لإنشاء حل وقائي ضد المحتالين. قبل الإبلاغ عن جهة اتصال، يجب أن تكون تلك الجهة قد أرسلت إليك رسالة في غضون الـ 24 ساعة الماضية.
أرسل استدعاء API إلى /v1/contacts/{phone_number}/report
يتضمن سببًا إذا كنت تحاول حظر حساب واتساب آخر.
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked", "block": "true | false optional boolean with default of false", "message_id": "message-id. Optional reported message id" }
يكون للاستجابة الناجحة حالة HTTP 200
ولا يوجد كائن "للأخطاء".
تبدو الاستجابة الفاشلة على النحو التالي:
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
يتم دعم المعلمات التالية لإجراء استدعاءات POST إلى /v1/contacts/{phone_number}/report
:
الإعداد | الوصف |
---|---|
| اختياري. سبب الحظر الحر. سيتم استخدامه عند حظر حساب واتساب آخر. يجب أن يكون أقل من 60 حرفًا. |
| اختياري. الافتراضي هو ما إذا كان سيتم أيضًا حظر جهة الاتصال أو الإبلاغ عنها فقط. |
| اختياري. معرف الرسالة الذي سيتم الإبلاغ عنه. في حالة عدم تحديد ذلك، فسيتم إرسال آخر 5 رسائل إلى واتساب. |
| مطلوب. يمكن أن تتوفر الأرقام بأي تنسيق قياسي مُستخدم لأرقام الهواتف. يبدأ التنسيق الموصى به لأرقام هواتف جهات الاتصال بعلامة الجمع (+) وكود البلد. لمزيد من المعلومات، راجع تنسيقات رقم الهاتف. |