الإجابة في جملة واحدة
graph.facebook.com/v21.0)، ونفس نظام المصادقة، ونفس إعداد التطبيق. "Instagram Messaging API" هو الاسم التسويقي الذي تستخدمه Meta للقدرات المخصّصة لرسائل DM ضمن Graph API الأوسع.ينشأ الالتباس لأن Meta تُسوّق قدرات API مختلفة تحت أسماء منتجات مختلفة — "Instagram Graph API" للمنصة الكاملة، و"Instagram Messaging API" أو "Messenger API for Instagram" للمجموعة الفرعية الخاصة برسائل DM. كثيراً ما يجد المطوّرون الذين يبحثون عن "Instagram Messaging API" توثيقاً يبدو وكأنه نظام مختلف تماماً. ليس كذلك. تُعدّ تطبيق Facebook واحداً، وتحصل على مجموعة واحدة من الرموز، وتستخدم نقاط نهاية وصلاحيات مختلفة حسب ما تبنيه.
ما هو Instagram Graph API؟
Instagram Graph API هو الـ API الرسمي الكامل لحسابات Instagram Business وCreator. وهو الطريقة الشرعية الوحيدة للوصول البرمجي إلى بيانات Instagram ووظائفه — كل شيء من نشر المحتوى إلى قراءة التحليلات إلى الرد على رسائل DM يمرّ عبره.
يغطّي Graph API ستة مجالات قدرات رئيسية:
- إدارة المحتوى — إنشاء ونشر واسترجاع المنشورات وReels والStories والكاروسيلات نيابةً عن حساب تجاري
- تحليلات الوسائط — قراءة مرّات الظهور والوصول والتفاعل وبيانات الجمهور للوسائط الفردية والمقاييس على مستوى الحساب
- التعليقات — قراءة التعليقات على المنشورات، والرد عليها، وحذفها، وإخفاءها
- البحث بالوسوم — البحث عن المنشورات العامة بالوسم (مع حدود معدل صارمة)
- الإشارات — اكتشاف عند ذِكر حسابك التجاري أو الإشارة إليه من حسابات أخرى في منشورات أو ستوريات
- الرسائل المباشرة — استقبال وإرسال رسائل DM، ومعالجة الردود على الستوري وإشارات الستوري (هذه هي مجموعة "Messaging API" الفرعية)
جميع هذه الستة جزء من Graph API نفسه. عنوان URL الأساسي ونظام المصادقة وعملية App Review ونوع الرمز متطابقة عبرها جميعاً. تكمن الاختلافات في نقاط النهاية التي تستدعيها، والصلاحيات التي تطلبها، وحقول webhook التي تشترك فيها.
ما هو "Instagram Messaging API" تحديداً؟
عندما تشير Meta (ومعظم التوثيقات الخارجية) إلى "Instagram Messaging API" أو "Messenger API for Instagram"، فإنها تعني المجموعة الفرعية من Graph API التي تُمكّن:
- استقبال رسائل DM — أحداث webhook عند إرسال المستخدمين رسالة مباشرة إلى حسابك التجاري
- إرسال رسائل DM — استدعاء
POST /{ig-user-id}/messagesلإرسال رد إلى IGSID المستخدم - الردود على الستوري — أحداث webhook عند ردّ المستخدمين على ستوريك عبر DM (تصل مع
message.reply_to.story) - إشارات الستوري — أحداث webhook عند الإشارة إلى حسابك في ستوريهم (تصل كحدث إحالة)
- تفاعلات الإيموجي — أحداث webhook عند تفاعل المستخدمين مع إحدى رسائلك
- إيصالات القراءة — أحداث webhook عند قراءة المستخدمين لرسائلك
هذه مجموعة فرعية مركّزة، خاصة برسائل DM فقط، من بين ما يستطيع Graph API الكامل فعله. تتطلّب صلاحيات رسائل محدّدة (instagram_manage_messages)، واشتراكات webhook محدّدة (messages، messaging_referrals)، ونقطة نهاية إرسال خاصة بها. لكنها تعمل على نفس البنية التحتية، ونفس المصادقة، ونفس التطبيق مثل كل شيء آخر.
خريطة كاملة لنقاط النهاية: Graph API مقابل Messaging API
إليك خريطة كاملة لنقاط نهاية Instagram Graph API، مُصنّفة حسب ما إذا كانت Graph-only، أو Messaging-only (المجموعة الفرعية لـ "Messaging API")، أو تنطبق على كليهما:
الصلاحيات: ما تحتاجه لكل قدرة
الصلاحيات هي أوضح طريقة للتمييز بين ما يتطلّبه "Messaging API" وما يحتاجه بقية Graph API. كل صلاحية تتطلّب App Review للاستخدام الإنتاجي خارج نطاق حسابات الاختبار.
| الصلاحية | الفئة | ما تُمكّن منه |
|---|---|---|
| instagram_manage_messages | Messaging API | استقبال أحداث webhook الخاصة بـ DM. إرسال ردود DM عبر /{ig-user-id}/messages. الوصول إلى سجل المحادثات. مطلوبة لكل أتمتة DM. |
| pages_messaging | Messaging API | الاشتراك في أحداث webhook واستقبالها عبر صفحة Facebook المرتبطة. بدون هذه، لا تُطلَق webhooks الخاصة برسائل Instagram DM بصرف النظر عن الصلاحيات الأخرى. |
| pages_read_engagement | كلاهما | قراءة المعلومات الأساسية حول صفحة Facebook المرتبطة وحساب Instagram. مطلوبة من قِبل ميزات الرسائل وGraph API للتحقق من الحساب. |
| instagram_manage_insights | Graph API | قراءة بيانات التحليلات على مستوى الحساب والوسائط بما في ذلك مرّات الظهور والوصول والتفاعل وديموغرافيا المتابعين. للوحات التحليلات وأدوات التقارير. |
| instagram_content_publish | Graph API | إنشاء ونشر المنشورات وReels والStories والكاروسيلات نيابةً عن حساب تجاري. لأدوات جدولة ونشر المحتوى. |
| instagram_manage_comments | Graph API | قراءة التعليقات على المنشورات والرد عليها وإخفائها وحذفها. لأدوات إدارة التعليقات وأتمتة comment-to-DM (تحتاج أيضاً إلى instagram_manage_messages لخطوة إرسال DM). |
| instagram_basic | Graph API | قراءة معلومات الملف الشخصي الأساسية وقائمة المنشورات. تُدرَج غالباً كصلاحية أساسية إلى جانب صلاحيات أكثر تخصصاً لمعظم حالات استخدام Graph API. |
اشتراكات webhook: الرسائل مقابل كل شيء آخر
اشتراكات حقول webhook هي حيث يتباعد Messaging API وبقية Graph API بأوضح صورة. تمرّ جميع الاشتراكات عبر إعدادات Instagram Webhooks في تطبيق Facebook الخاص بك، لكن الحقول التي تشترك فيها هي ما يحدّد الأحداث التي تستقبلها:
التداخل الأكثر إثارة للالتباس على الإطلاق: الأحداث المتعلّقة بالستوري تنقسم بين حقلَي webhook مختلفَين. ردّ مستخدم على ستوريك هو حدث رسائل (حقل messages). إشارة مستخدم إلى حسابك في ستوريه الخاص هي حدث إحالة (حقل messaging_referrals). إشارة حساب إليك في تعليق توضيحي هي حدث غير متعلق بالرسائل (حقل mentions). ثلاثة حقول webhook مختلفة لثلاث تفاعلات تبدو متشابهة سطحياً.
واجهة Instagram API القديمة المُهملة — ما كانت ولماذا تهمّ
سؤال Stack Overflow من عام 2019 الذي يظهر كثيراً عند هذا الاستعلام كان يقارن بين شيئَين لا يوجدان بنفس الصورة اليوم: "Instagram API" (مُهمَل بالكامل الآن) و"Instagram Graph API" (الحالي). فهم هذا التاريخ يوضّح لماذا كثير من الإجابات على الإنترنت خاطئة.
مصفوفة القرار: ماذا تستخدم لحالة استخدامك
instagram_manage_messages، pages_messaging. حقول webhook: messages، messaging_referrals.instagram_manage_insights، instagram_basic.instagram_content_publish، instagram_basic.instagram_manage_comments.instagram_manage_comments + instagram_manage_messages.أسئلة شائعة
graph.facebook.com/v21.0)، ونفس نظام المصادقة، ونفس إعداد تطبيق Facebook. "Instagram Messaging API" هو اسم منتج Meta للقدرات المخصّصة لرسائل DM ضمن إطار Graph API الأوسع.instagram_manage_messages + pages_messaging + pages_read_engagement. التحليلات (Graph API): instagram_manage_insights + instagram_basic. نشر المحتوى (Graph API): instagram_content_publish + instagram_basic. التعليقات (Graph API): instagram_manage_comments. كلها تتطلّب App Review للاستخدام الإنتاجي.api.instagram.com. سمحت بالوصول إلى الحسابات الشخصية واستخدمت OAuth خاصاً بـ Instagram. أُغلقت بالكامل في مارس 2020 ولم تعد تعمل. يجب على جميع تكاملات Instagram الحالية استخدام Instagram Graph API (graph.facebook.com). أي درس تعليمي يشير إلى "api.instagram.com" يصف نظاماً معطّلاً ومُهملاً.messages. لإشارات الستوري (عند الإشارة إلى حسابك في ستوري المستخدمين): حقل messaging_referrals. لإشارات @ في التعليقات التوضيحية للمنشورات/التعليقات: حقل mentions (غير متعلق بالرسائل، Graph API). للتعليقات على المنشورات: حقل comments (Graph API). اشترك في كل الحقول التي تحتاجها من إعدادات Instagram Webhooks في تطبيق Facebook الخاص بك.POST /v21.0/{ig-user-id}/messages تُستدعى على graph.facebook.com. الـ ig-user-id هو المعرّف الرقمي لحساب Instagram Business الخاص بك (وهو أيضاً قيمة entry[0].id في webhooks الواردة). جسم الطلب: {"recipient": {"id": "USER_IGSID"}, "message": {"text": "your reply"}}. تتم المصادقة باستخدام Page Access Token يملك صلاحية instagram_manage_messages.طبقة webhook الخاصة بـ Messaging API،
متكفَّل بها لك.
الآن وقد عرفت أن Messaging API مجموعة فرعية من Graph API، الخطوة التالية هي استقبال تلك الأحداث على خادمك. تتولّى SocialHook التحقق من HMAC، وتحليل الحمولة الخام، وتوحيد صيغة الأحداث — كل DM، وكل ردّ على الستوري، وكل إشارة في الستوري تصل إلى نقطة نهايتك بصيغة JSON نظيفة.