يمكنك نسخ عينة من تطبيق الاستدعاء باستخدام Glitch لإنشاء عنوان URL عام للاستدعاء في خوادم Glitch التي يمكنك استخدامها لاختبار أحداث Webhooks. الغرض من إنشاء مشروع Glitch هو أنه يوفر إمكانية كتابة حمولات بيانات حدث webhook في ملف سجل يمكنك عرضه بشكل فوري بينما يتم تشغيل أحداث webhooks.
هذا الدليل هو جزء من عملية متعددة الخطوات وعليك إكمال بعض هذه الخطوات قبل بدء تكوين عينة من نقطة نهاية التطبيق باستخدام Glitch. عليك إكمال ما يلي:
تتوفر إرشادات كاملة حول بدء استخدام API السحابة في واتساب للأعمال حتى تتمكن من إرسال أول رسالة اختبارية في بدء استخدام API السحابة في واتساب للأعمال.
.env
، قم بتحديث قيمة WEBHOOK_VERIFY_TOKEN
لتكون سلسلة عشوائية من اختيارك. بعد ذلك، يمكنك اختياريًا، نسخ قيمة رمز الوصول المؤقت/الدائم من واتساب > إعداد API في لوحة معلومات التطبيق ولصق تلك القيمة في GRAPH_API_TOKEN
.
/webhook
في نهاية عنوان URL للحصول على عنوان URL استجابة الاستدعاء الكامل. وسيبدو على نحو مماثل لـ https://<project-name>.glitch.me/webhook
.والآن بعدما أصبحت نقطة النهاية جاهزة، يجب العودة إلى لوحة معلومات التطبيق.
https://<project-name>.glitch.me/webhook
) لعنوان URL الاستدعاء و("HAPPY") لرمز التحقق.
لتأكيد بدء إشعار Webhook، ارجع إلى Glitch وحدّد LOGS ويجب أن يبدو الإخراج كالصورة التالية.
يجب أن تبدو حمولة بيانات إشعار Webhook الكاملة كما يلي:{ "object": "whatsapp_business_account", "entry": [ { "id": "0", "changes": [ { "field": "messages", "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "16505551111", "phone_number_id": "123456123" }, "contacts": [ { "profile": { "name": "test user name" }, "wa_id": "16315551181" } ], "messages": [ { "from": "16315551181", "id": "ABGGFlA5Fpa", "timestamp": "1504902988", "type": "text", "text": { "body": "this is a text message" } } ] } } ] } ] }
server.js
في جزء التنقل الأيمن لتنفيذ نقطة نهاية Webhook.
https://<project-name.glitch.me/webhook
.
Incoming webhook: {"messages":[{"from":"1234567890","id":"ABGGhSkIc2B_Ago-sDy5BNm-1gI5","text":{"body":"Hi"},"timestamp":"1529381066","type":"text"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"sent","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"delivered","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"read","timestamp":"1529381076"}]}