Meta Tech Provider

خطاف الويب messages

messages هو الحقل الذي يحمل كل ما يرسله العميل إلى رقمك: النصوص والوسائط والردود والتفاعلات والاستجابات التفاعلية. في رقم Coexistence موجّه، ينتقل مباشرة من Meta إلى نقطة النهاية (endpoint) الخاصة بك، ولا يمر عبر مزود.

messages

حقل خطاف الويب (webhook) الذي يحمل رسائل العملاء الواردة.

wamid

البادئة في معرّف الرسالة المستخدمة لمنع التكرار عند إعادة المحاولة.

200

الحالة التي تتوقعها Meta سريعاً قبل بدء أي معالجة.

ما الذي تحمله الحمولة؟

تسليم واحد قد يحتوي على رسالة واحدة أو أكثر، ولكل رسالة المرسل و id ونوع. يحدد type المفاتيح الأخرى الموجودة.

  • رقم هاتف المرسل، و phone number id للرقم الذي كتب إليه.
  • معرّف رسالة wamid، وهو الأساس الذي تُبنى عليه عملية منع التكرار.
  • طابع زمني بنظام unix.
  • نوع type: text أو image أو audio أو video أو document أو sticker أو location أو contacts أو reaction أو button أو interactive.
  • بالنسبة إلى أنواع الوسائط، يوجد media id لجلب الوسائط بدلاً من تضمين البيانات نفسها.

لماذا لا يصل إلينا على رقم موجّه؟

لأن override ينقل هذا الحقل، إلى جانب smb_message_echoes، إلى الوجهة التي تحددها.\n\nتسمح Meta للتطبيق بتجاوز المكان الذي يسلّم فيه حساب WhatsApp Business خطافات الويب الخاصة به. نضبط هذا التجاوز على عنوان URL الخاص بك، فيخرج مسار الرسالة بالكامل من بنيتنا التحتية. لا توجد نسخة أو قائمة انتظار أو احتفاظ من جانبنا، لأن التسليم لا يصل إلينا أصلاً.\n\nعند عدم تحديد وجهة، تعود هذه الأحداث إلى callback الافتراضي لدينا، حيث يتجاهلها المعالج من دون حفظها. هذا هو الفرق بين ادعاء متعلق بالتخزين ومسار برمجي فعلي: لا يوجد مكان تذهب إليه محتويات المحادثة.

كيف تؤكد الاستلام بشكل صحيح؟

أعد 200 قبل تنفيذ العمل، لا بعده.\n\nتتعامل Meta مع الاستجابة البطيئة على أنها فشل وتعيد المحاولة، ما يعني أن المعالج الذي يعالج الطلب داخلياً سيرى الرسالة نفسها أكثر من مرة. أرسل الاستجابة فوراً، وضع الحمولة في قائمة انتظار أو مهمة تعمل في الخلفية، ودع المعالجة تحدث خارج الطلب.\n\nفي بيئات serverless هذا ليس اختيارياً. قد تتجمد الدالة التي تعيد الاستجابة ثم تواصل العمل بمجرد إرسالها، لذلك يجب أن يكون تأكيد الاستلام والمعالجة منفصلين فعلياً.

كيف تمنع التكرار؟

اعتمد دائماً على wamid، لأن إعادة المحاولة أمر طبيعي وليست حالة استثنائية.\n\nقد تصل الرسالة نفسها مرتين لأسباب لا علاقة لها بخلل من جانبك: استجابة بطيئة أو مهلة شبكة أو نشر إصدار أثناء التسليم. حفظ المعرّفات التي شوهدت وتخطي التكرارات لا يتطلب سوى بضعة أسطر، وهو الفارق بين الرد على العميل مرة واحدة والرد عليه مرتين.\n\nفي رقم Coexistence تزداد أهمية ذلك، لأن smb_message_echoes يصل عبر المسار نفسه، والمعالج الذي يعامل كل حدث كأنه جديد سيرد فوق رد بشري سبق أن أرسله فريقك.

الأخطاء الشائعة

  • المعالجة قبل إعادة 200. تعيد Meta المحاولة عند بطء الاستجابة، فتعالج الرسالة مرتين.
  • تخطي منع التكرار. إعادة المحاولة مصممة لتحدث وليست حالة نادرة.
  • توقع وجود بيانات الوسائط داخل الحمولة. فهي تحمل media id لجلبها.
إنجاز ذلك باستخدام EasyCoexistence

توجّه EasyCoexistence هذا الحقل مباشرة من Meta إلى نقطة النهاية (endpoint) الخاصة بك، ولا تحتفظ إلا بالأحداث التشغيلية اللازمة للمراقبة، لذلك لا يوجد مسار لمحتوى المحادثة إلى تخزيننا.

الأسئلة الشائعة

هل ترى EasyCoexistence رسائل عملائي؟

لا. يسلّم التجاوز هذا الحقل إلى نقطة النهاية (endpoint) الخاصة بك. وأي شيء يصل إلى callback الاحتياطي لدينا يُتجاهل من دون حفظ.

هل يمكن أن تصل عدة رسائل في طلب واحد؟

نعم. قد يحتوي تسليم واحد على أكثر من رسالة، لذلك ينبغي للمعالجات تكرارها بدلاً من قراءة الأولى فقط.

كيف أحصل على الوسائط؟

تحمل الحمولة media id. استخدمه لجلب عنوان URL عبر رمز الوصول (token) الخاص بالرقم، ثم نزّل الوسائط.

ما هو smb_message_echoes؟

هو الحقل المرافق الذي يحمل ما يرسله فريقك من تطبيق WhatsApp Business. ولا يوجد إلا في أرقام Coexistence.

تابع القراءة

هل أنت مستعد للبدء؟

أعد إعداد WhatsApp Coexistence خلال دقائق، وليس أشهر. يواصل التطبيق العمل على الهاتف.

ابدأ الفترة التجريبية المجانية

تم التحقق في

خطاف الويب messages