الوسائط
ارفع وسائط أو استوردها
يضيف ملفًا (multipart) أو رابط https تجلبه Sofia إلى مكتبة وسائط منشأة. يتطلب تطبيقًا فعليًا واشتراكًا نشطًا للحساب.
الاستيراد من عنوان URL
أرسل JSON مع establishmentId وurl عام بـ https. تنزّل Sofia الملف بنفسها وتفحصه وتضعه في مكتبة الوسائط.
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"establishmentId":"'$ESTABLISHMENT_ID'","url":"https://images.example.com/tatin.jpg"}'رفع ملف
أو أرسل الملف نفسه بصيغة multipart/form-data، مع حقل file.
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-F establishmentId=$ESTABLISHMENT_ID \
-F file=@tatin.jpg{
"id": "393d5aa4-16f1-430f-b1d8-1fb1473076ef",
"type": "image",
"url": "https://…/393d5aa4-16f1-430f-b1d8-1fb1473076ef.jpg?X-Amz-…"
}ما هو مقبول
- صور وفيديو، حتى 200 ميغابايت.
- يجب أن يكون عنوان URL عامًا بـ https: يُرفض عنوان خاص، أو أكثر من 3 عمليات تحويل، أو تنزيل يتجاوز 30 ثانية.
urlالمُعاد موقّع وتنتهي صلاحيته: احتفظ بـid، وأعد قراءة الوسيط بـGET /v1/media/{id}حين تحتاج إلى عنوان URL جديد.
الملف المرفوض يرد بـ 422 media_import_refused أو media_upload_refused، مع السبب في details والخطوات المتبعة في message.
التفويضات
Authorizationstringheaderمطلوبمفتاحك الشخصي أو رمز وصول OAuth، يُرسل كـ
Bearer <token>.
الترويسات
Idempotency-Keystringعند إعادة الطلب بالجسم نفسه يعيد الاستجابة نفسها دون استيراد ثانٍ. يشمل حقول النموذج لا بايتات الملف.
الجسم
establishmentIdstringمطلوبالمنشأة التي تستلم مكتبة وسائطها الوسائط
urlstringJSON: عنوان
httpsللوسائط، تجلبه Sofia بنفسها (دون ملف)filestring<binary>multipart/form-data: الملف (صورة أو فيديو)، دونurl
الاستجابة
الوسائط المضافة إلى المكتبة.
idstringمطلوبمعرّف الوسائط، لتمريره في
media[].idلمنشورtypestringمطلوبنوع الوسائط
القيم المسموحة:
imagevideourlstringمطلوبعنوان موقّع، صالح للنافذة الحالية