تتيح لك واجهة API تحميل المرفقات، تحميل الأصول التي يمكن إرسالها في الرسائل في وقت لاحق. وهذا يسمح لك بتجنُّب الحاجة إلى تحميل الملفات شائعة الاستخدام عدة مرات. تدعم واجهة API حفظ الأصول من عنوان URL، ومن نظام الملفات المحلي الخاص بك.
يمكنك أيضًا استخدام واجهة Send API؛ لإرسال رسالة بها مرفق وحفظ المرفق للاستخدام لاحقًا في الوقت نفسه. لمزيد من المعلومات، راجع مرجع Send API.
لتحميل مرفق، أرسل طلب POST
إلى نقطة النهاية /
Your-page-id
/message_attachment
مع message.attachment
مع type
وpayload
. لتتمكن من استخدام الأصل في رسائل متعددة، يمكنك تعيين payload.is_reusable
إلى true
.
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST "https://graph.facebook.com/v19.0
/Your-page-id/message_attachment" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image",
"payload":{
"url":"https.your-url.com/image.jp",
"is_reusable": true
}
}
}
}'
تم التنسيق لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_access_token، بقيمك.
curl -X POST "https://graph.facebook.com/v19.0
/Your-page-id/message_attachment" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image"
}
},
"filedata":"@/path-to-your-file/image.png";"type":"image/png"
}'
عند نجاح العملية، سيتلقى التطبيق كائن 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 "https://graph.facebook.com/v19.0
/Your-page-id/messages" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image",
"payload":{
"attachment_id":"Your-attachment-ID"
}
}
}
}'
عند نجاح العملية، سيتلقى التطبيق استجابة 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 (قيمة منطقية) | اختياري. يمكن التعيين على |
رمز الخطأ | الرمز الفرعي | الرسالة |
---|---|---|
100 | 2018074 | من المحتمل أن يكون المعرف غير صالح أو أنك لا تمتلك المرفق. |
100 | 2018008 | فشل الحصول على الملف من عنوان url. تحقق من أن عنوان URL صالح، ويتضمن شهادة SSL صالحة وتحقق كذلك من حجم الملف، وأن الخادم يستجيب بسرعة كافية لتجنب حالات انتهاء المهلة. |
100 | 2018294 | انتهت مهلة تحميل الفيديو أو قد يكون الفيديو تالفًا. لاحظ أنه إذا تعذر الحصول على الفيديو في غضون 75 ثانية، فستنتهي مهلته |
100 | 2018047 | فشل تحميل المرفق. من الأسباب الشائعة التي تؤدي إلى ظهور هذا الخطأ، أن يكون نوع الوسائط المتوفر غير متطابق مع نوع الملف المتوفر في عنوان URL |