Skip to main content
تعمل مراسلة واتساب عبر نفس طبقة القنوات المستخدمة في أسطح مراسلة Wave الأخرى. تُرسل رسالة، وتحصل فورًا على تأكيد queued، وتصل النتيجة الفعليّة (delivered أو read أو failed) لاحقًا كحدث webhook.
الإرسال (نص، قالب، ووسائط) فعليّ الآن — تصل الرسائل إلى هواتف حقيقية. أحداث الـ webhook الخاصّة بحالة التسليم والرسائل الواردة (message.delivered، message.read، message.received) قيد الإنجاز على جانب المزوّد؛ إلى حين اكتمالها، قد تستمرّ الرسائل المُرسَلة بالظهور بحالة queued في لوحة التحكّم حتى بعد وصولها فعليًّا.

إرسال رسالة

POST /v1/messages يُعيد 202 مع message_id وprovider_message_id وstatus: "queued".

أنواع المحتوى

نص — رسالة عادية. مسموحة فقط ضمن نافذة 24 ساعة من آخر رسالة أرسلها العميل؛ خارج هذه النافذة استخدم قالبًا.
قالب — رسالة معتمدة مسبقًا للتواصل مع عميل خارج نافذة الـ 24 ساعة (راجع القوالب أدناه).
وسائط — صورة أو مستند أو مقطع صوتي أو فيديو.
الحقلان contentType وsizeBytes مطلوبان لإرسال الوسائط فعليًّا — يحتاج مزوّد واتساب الخاصّ بـ Wave كليهما معروفَين مسبقًا ولا يمكنه استنتاجهما من الرابط وحده. اجلب ترويسات الملفّ بنفسك (طلب HEAD) إن لم يكن نظامك يعرفهما مسبقًا.

القوالب

تُراجَع القوالب وتُعتمَد قبل استخدامها لبدء محادثة مع عميل. GET /v1/messages/templates — سرد قوالبك وحالة اعتمادها (pending / approved / rejected). POST /v1/messages/templates — إرسال قالب جديد.
لا يوجد نص مخصّص إطلاقًا لقالب AUTHENTICATION — تملك Meta صياغة رمز التحقق بالكامل، لذا يُتجاهل body/variables/header/footer/buttons لهذه الفئة. يضيف otpButton زرّ “نسخ الرمز” بلمسة واحدة دون أي نص لتخصيصه (تولّده Meta تلقائيًا).

الأزرار

كلّ عنصر في buttons هو أحد الأنواع الثلاثة التالية:

عرض القالب وتعديله وحذفه

GET /v1/messages/templates/:name?language=en — التفاصيل الكاملة لقالب واحد (النص والرأس والتذييل والأزرار) — معامل الاستعلام language مطلوب لأنّ نفس الاسم يمكن أن يوجد بأكثر من لغة. PUT /v1/messages/templates/:name?language=en — تحديث قالب موجود. يأخذ نفس نص الإنشاء؛ تعديل القالب يعيد إرساله للاعتماد، فتعود حالته إلى pending. DELETE /v1/messages/templates/:name?language=en — حذف قالب نهائيًّا.

أحداث حالة التسليم

اشترك فيها عبر الـ webhooks بنفس طريقة أحداث المكالمات. يُدرَج message.sent للتوثيق الكامل لكنّه لا يُرسَل إلى الـ webhook الخاصّ بك — إنّه حدث الفوترة الداخليّ الخاصّ بـ Wave، يُنشأ لحظة قبول الإرسال.

سجلّ الرسائل

تُسجَّل كلّ رسالة واتساب واردة وصادرة. اعرضها في صفحة الرسائل في لوحة التحكّم، أو استرجعها عبر GET /v1/messages (مُقسَّمة بالصفحات باستخدام cursor، بنفس شكل سجلّات المكالمات).