يحدد هذا الدليل كيف يمكنك التحقق من رقم هاتفك والتنسيق المطلوب في API السحابة.
توجد معايير محددة حول نوع أرقام الهواتف التي يمكنك إضافتها إلى حساب واتساب للأعمال (WABA). يُرجى مراجعة أرقام الهاتف لمزيد من المعلومات.
تتطلب بعض استدعاءات API المدرجة أن يتوفر لديك معرف رقم هاتفك. ارجع إلى الحصول على كل أرقام الهاتف للتعرف على كيفية الحصول على أرقام الهاتف المرتبطة بحساب وتساب للأعمال. تتضمن استجابة استدعاء API معرفات لكل رقم هاتف متصل بحساب واتساب للأعمال. احفظ معرف الهاتف الذي تريد استخدامه مع أي استدعاءات /PHONE_NUMBER_ID
.
يتعين عليك التحقق من رقم الهاتف الذي تريد استخدامه لإرسال رسائل إلى عملائك. ويجب التحقق من أرقام الهواتف باستخدام الرمز الذي تم إرساله عبر رسالة SMS/مكالمة صوتية. كما يمكن إجراء عملية التحقق عبر استدعاءات واجهة Graph API المحددة أدناه.
للتحقق من رقم الهاتف باستخدام واجهة Graph API، يمكنك إرسال طلب POST
إلى PHONE_NUMBER_ID/request_code
. في الاستدعاء الذي تجريه، قم بتضمين أسلوب التحقق واللغة التي اخترتها.
نقطة النهاية | المصادقة |
---|---|
(راجع الحصول على معرف رقم الهاتف) | يمكنك مصادقة حسابك باستخدام رمز وصول مستخدم النظام. إذا كنت تطلب الرمز بالنيابة عن نشاط تجاري آخر، فيجب أن يتوفر لدى رمز الوصول إمكانية الوصول المتقدم إلى الإذن |
الاسم | الوصف (انقر على السهم في العمود الأيمن للتعرف على الخيارات المدعومة.) |
---|---|
| مطلوب. أسلوب التحقق الذي اخترته. |
| مطلوب. رمز اللغة المكون من حرفين. على سبيل المثال: |
عينة من الطلب:
بعد تنفيذ استدعاء API، ستتلقى رمز التحقق عبر الأسلوب الذي حددته. لإنهاء عملية التحقق، يجب تضمين الرمز في طلب POST
إلى PHONE_NUMBER_ID/verify_code
.
نقطة النهاية | المصادقة |
---|---|
(راجع الحصول على معرف رقم الهاتف) | يمكنك مصادقة حسابك باستخدام رمز وصول مستخدم النظام. إذا كنت تطلب الرمز بالنيابة عن نشاط تجاري آخر، فيجب أن يتوفر لدى رمز الوصول إمكانية الوصول المتقدم إلى الإذن |
الاسم | الوصف |
---|---|
| مطلوب. الرمز الذي تلقيته بعد تنفيذ استدعاء |
عينة من الطلب:
تظهر الاستجابة الناجحة على النحو التالي:
{ "success": true }
Plus signs (+
), hyphens (-
), parenthesis ((
,)
), and spaces are supported in send message requests.
We highly recommend that you include both the plus sign and country calling code when sending a message to a customer. If the plus sign is omitted, your business phone number's country calling code is prepended to the customer's phone number. This can result in undelivered or misdelivered messages.
For example, if your business is in India (country calling code 91
) and you send a message to the following customer phone number in various formats:
Number In Send Message Request | Number Message Delivered To | Outcome |
---|---|---|
|
| Correct number |
|
| Correct number |
|
| Potentially wrong number |
|
| Potentially wrong number |
يمكنك التحقق من هوية العميل قبل إرسال الرسالة إليه. يمكن أن تتم هذه العملية من جانبنا عن طريق تمكين إعداد التحقق من تغيير الهوية على رقم هاتف النشاط التجاري.
إذا قام أحد العملاء بإجراء في واتساب نعتبره تغييرًا للهوية، فإننا نقوم بإنشاء تجزئة هوية جديدة للمستخدم. يمكنك الحصول على هذه التجزئة في أي وقت تراسل فيه العميل عن طريق تمكين إعداد التحقق من تغيير الهوية على رقم هاتف النشاط التجاري. بمجرد التمكين، في أي وقت يراسلك العميل أو تراسل العميل من دون تجزئة هوية، سنقوم بتضمين التجزئة في أي أحداث webhooks رسالة واردة أو أحداث webhooks حالة الإرسال. يمكنك حينها الحصول على هذه التجزئة وحفظها للاستخدام في المستقبل.
لاستخدام التجزئة، قم بتضمينها في طلب إرسال رسالة. سنقوم بمقارنة التجزئة في الطلب بتجزئة العميل الحالية. إذا كانت التجزئات مطابقة، فسيتم إرسال الرسالة. إذا كان هناك عدم تطابق، فهذا يعني أن العميل قام بتغيير الهوية منذ آخر مرة قمت فيها بمراسلته ولن نرسل الرسالة. بدلاً من ذلك، سنرسل لك حدث webhook حالة الرسالة يحتوي على رمز الخطأ 137000
، لإعلامك بالفشل وعدم التطابق.
عند تلقي حدث webhook تجزئة غير مطابقة، من المرجح أن يكون رقم الهاتف لدى العميل لم يعد موثوقًا. لاستعادة الثقة، تحقق من هوية العميل مرة أخرى باستخدام قنوات أخرى غير واتساب. بمجرد استعادة الثقة، أعد إرسال الرسالة الفاشلة إلى الهوية الجديدة (إن وجدت)، بدون التجزئة. ثم احفظ تجزئة العميل الجديدة في حدث webhook إرسال حالة الرسالة.
أرسل طلب POST إلى نقطة النهاية رقم هاتف واتساب للأعمال > الإعدادات لتمكين إعداد التحقق من تغيير الهوية أو تعطيله.
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER>/settings
{ "user_identity_change" : { "enable_identity_key_check": <ENABLE_IDENTITY_KEY_CHECK> }
يتم تعيين <ENABLE_IDENTITY_KEY_CHECK>
على true
لتمكين التحقق من الهوية أو false
لتعطيله.
curl 'https://graph.facebook.com/v21.0
/106850078877666/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"user_identity_change": {
"enable_identity_key_check": true
}
}'
{ "success": true }
لن يتم إرسال مثال الرسالة هذا إلا إذا كانت قيمة التجزئة recipient_identity_key_hash
تطابق تجزئة العميل الحالية.
curl 'https://graph.facebook.com/v21.0
/106850078877666/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "+16505551234",
"recipient_identity_key_hash": "DF2lS5v2W6x=",
"type": "text",
"text": {
"preview_url": false,
"body": "Your latest statement is attached. See... "
}
}'
في أحداث webhooks الرسالة الواردة، يتم تعيين تجزئة العميل على الخاصية identity_key_hash
.
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "contacts": [ { "profile": { "name": "Pablo Morales" }, "wa_id": "16505551234", "identity_key_hash": "DF2lS5v2W6x=" } ], "messages": [ { "from": "16505551234", "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUMyNTA4M0VGN0Q4RjdDNDVCMAA=", "timestamp": "1686591695", "text": { "body": "Your latest statement is attached. See... " }, "type": "text" } ] }, "field": "messages" } ] } ] }
في أحداث webhooks حالة الإرسال، يتم تعيين تجزئة العميل على الخاصية recipient_identity_key_hash
.
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "statuses": [ { "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJGODlDQjZBNjUxMUQ5NEU0MEUA", "status": "delivered", "timestamp": "1686591922", "recipient_id": "16505551234", "recipient_identity_key_hash": "DF2lS5v2W6x=", "conversation": { "id": "6c84493f3de086c7c68d5a39248f72c0", "origin": { "type": "service" } }, "pricing": { "billable": true, "pricing_model": "CBP", "category": "service" } } ] }, "field": "messages" } ] } ] }
في أحداث webhooks حالة الإرسال، يتم تعيين تجزئة العميل على الخاصية recipient_identity_key_hash
.
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "statuses": [ { "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQzA0OEU4OTdEQUE5REVCQTgA", "status": "failed", "timestamp": "1686594665", "recipient_id": "16505551234", "errors": [ { "code": 137000, "title": "Confirm the correct Recipient Identity Key Hash or send without any identity key hash" } ] } ] }, "field": "messages" } ] } ] }
استخدم نقطة النهاية رقم هاتف واتساب للأعمال للحصول على مستوى معدل الإرسال لدى رقم الهاتف الحالي:
GET /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>?fields=throughput