تحذير: تنتهي صلاحية معرفات المرفقات بعد 90 يومًا. بعد انتهاء صلاحية معرف المرفق، ستحتاج إلى إعادة تحميل الوسائط للحصول على معرف مرفق جديد.
على الرغم من أن المرفقات القابلة لإعادة الاستخدام ستنتهي صلاحيتها بعد 90 يومًا ولا يمكن إعادة إرسالها، فإن المرفقات الموجودة في سلاسل الرسائل لن تنتهي صلاحيتها أبدًا وستكون مرئية حتى يحذف المستخدم الرسالة من سلسلة الرسائل. إذا سمحت لك حالة الاستخدام، فيمكنك دمج خطوات التحميل والإرسال كما تم ذكره أدناه لتجنب مشكلة TTL هذه.
تتيح لك API تحميل المرفقات، تحميل الأصول التي يمكن إرسالها في الرسائل في وقت لاحق. وهذا يسمح لك بتجنُّب الحاجة إلى تحميل الملفات شائعة الاستخدام عدة مرات. تدعم واجهة API حفظ الأصول من عنوان URL، ومن نظام الملفات المحلي الخاص بك.
يمكنك أيضًا استخدام Send API؛ لإرسال رسالة بها مرفق وحفظ المرفق للاستخدام لاحقًا في الوقت نفسه. لمزيد من المعلومات، راجع قسم التحميل والإرسال أدناه.
لتحميل مرفق، أرسل طلب POST
إلى نقطة النهاية /
Your-page-id
/message_attachments
مع message.attachment
مع type
وpayload
. لتتمكن من استخدام الأصل في رسائل متعددة، يمكنك تعيين payload.is_reusable
إلى true
.
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST "https://graph.facebook.com/v21.0
/Your-page-id/message_attachments" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image",
"payload":{
"url":"https://your-url.com/image.jpg",
"is_reusable": true
}
}
}
}'
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST -H "Content-Type: application/json" -d '{
"message": {
"attachment": {
"type": "image"
}
},
"filedata": "@/path-to-your-file/image.jpg",
"type": "image/png"
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/message_attachments?access_token={PAGE_ACCESS_TOKEN}"
عند نجاح العملية، سيتلقى التطبيق كائن JSON مع تعيين attachment_id
على معرف المرفق لاستخدامه في الرسائل.
{"attachment_id": "Your-attachment-ID"}
لإرسال رسالة بأصل قمت بتحميله مسبقًا، وتم تحميله مع message.attachment.payload.is_reusable
مع تعيينه إلى true
، أرسل طلب POST
إلى نقطة النهاية /
Your-page-id
/messages
مع recipient.id
، والكائن message.attachment
مع type
وpayload.attachment_id
.
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"attachment_id": "Your-attachment-ID"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON مع تعيين success
إلى true
.
{"success": "true"}
يمكنك أيضًا تحميل الوسائط وإرسالها في طلب API واحد.
تحذير:لا تقم بتعيين is_public=true
في حمولة البيانات لهذه الحالة. تكون المرفقات في سلسلة رسائل المستخدم خاصة دائمًا.
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"url": "https://your-url.com/image.jpg"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON مع تعيين success
إلى true
.
{"success": "true"}
بالنسبة إلى المرفقات من عنوان URL، يمكنك توفير الخصائص التالية في نص الطلب ككائن JSON. بالنسبة إلى المرفقات من ملف، يمكنك إرسال الخصائص كبيانات نموذج.
message
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
الخاصية | النوع | الوصف |
---|---|---|
| String (سلسلة) | تمثل نوع المرفق. ويجب أن تكون أيًا مما يلي:
|
| Object (كائن) | كائن |
message.attachment.payload
الخاصية | النوع | الوصف |
---|---|---|
| String (سلسلة) | اختياري. تمثل عنوان URL للملف المطلوب تحميله. أقصى حجم للملف هو 8 ميجابايت للصور و25 ميجابايت لجميع أنواع الملفات الأخرى (بعد الترميز). ويتم تعيين مهلة على 75 ثانية لمقاطع الفيديو و10 ثوانٍ لجميع أنواع الملفات الأخرى. |
| Boolean (قيمة منطقية) | اختياري، يتم الإعداد افتراضيًا على false.لا تقم بتعيين قم بالتعيين على true فقط عند التحميل والإرسال في خطوات منفصلة. تنتهي صلاحية معرفات المرفق بعد 90 يومًا. يمكنك إعادة تحميل الوسائط للحصول على معرف مرفق جديد بعد 90 يومًا. على الرغم من أن المرفقات القابلة لإعادة الاستخدام ستنتهي صلاحيتها بعد 90 يومًا ولا يمكن إعادة إرسالها، فإن المرفقات الموجودة في سلاسل الرسائل لن تنتهي صلاحيتها أبدًا وستكون مرئية حتى يحذف المستخدم الرسالة من سلسلة الرسائل. |
رمز الخطأ | الرمز الفرعي | الرسالة |
---|---|---|
100 | 2018074 | من المحتمل أن يكون المعرف غير صالح أو أنك لا تمتلك المرفق. |
100 | 2018008 | فشل الحصول على الملف من عنوان url. تحقق من أن عنوان URL صالح، ويتضمن شهادة SSL صالحة وتحقق كذلك من حجم الملف، وأن الخادم يستجيب بسرعة كافية لتجنب حالات انتهاء المهلة. |
100 | 2018294 | انتهت مهلة تحميل الفيديو أو قد يكون الفيديو تالفًا. لاحظ أنه إذا تعذر الحصول على الفيديو في غضون 75 ثانية، فستنتهي مهلته |
100 | 2018047 | فشل تحميل المرفق. من الأسباب الشائعة التي تؤدي إلى ظهور هذا الخطأ، أن يكون نوع الوسائط المتوفر غير متطابق مع نوع الملف المتوفر في عنوان URL |