Rasel / Docs
AR
POST/api/v2/templates/media

رفع وسائط هيدر القالب

ارفع صورة أو فيديو أو مستنداً لهيدر واتساب. أرجع assetId إلى headerAssetId. لواتساب الرسمي يمكن إرسال mediaUrl بدل الملف. لواتساب ويب ضع targetProvider=user_session.

متى تستخدمه. اختياري: للرفع المنفصل قبل الإنشاء. يمكن أيضاً إرفاق الملف مباشرة في POST /api/v2/templates.

مثال الطلب

مثال صحيح: رفع صورة هيدر

curl --location 'https://raselsms.com/api/v2/templates/media' \--header 'X-API-Key: YOUR_API_KEY' \--header 'Content-Type: application/json' \--data '{"mediaType":"image","file":"<multipart binary>","note":"Content-Type: multipart/form-data"}'

مثال الاستجابة

201 — رفع صورة هيدر

{  "success": true,  "data": {    "media": {      "assetId": "6800asset123def4567890aaaa",      "mimeType": "image/png",      "size": 18432    }  }}

401 — مفتاح API مفقود أو غير صالح.

{  "success": false,  "requestId": "msgreq_1739012345678_abc123",  "code": "UNAUTHORIZED",  "error": "Missing or invalid API key"}

403 — الهاتف غير موثّق أو الصلاحية غير كافية (غالباً messages:create أو api_keys:read).

{  "success": false,  "requestId": "msgreq_1739012345678_abc123",  "code": "FORBIDDEN",  "error": "Phone not verified or missing permission"}

429 — تم تجاوز حد الطلبات. انتظر Retry-After إن وُجد.

{  "success": false,  "requestId": "msgreq_1739012345678_abc123",  "code": "RATE_LIMITED",  "error": "Rate limit exceeded",  "retryAfterSeconds": 30}

طلب HTTP

POST /api/v2/templates/media

ترويسات الطلب

الترويسةالنوعالوصف
X-API-Keystringمفتاح Rasel API. أرسله في كل طلب موثّق ما عدا الويب هوك الوارد. *

جسم الطلب

الحقلالنوعالوصفمثال
mediaTypeimage | video | documentنوع وسائط الهيدر: image أو video أو document. *
filestring (binary)الملف المرفوع. مرادف headerMedia في إنشاء أو إرسال multipart.
mediaUrlstringرابط HTTP(S) عام لهيدر الوسائط عند عدم إرفاق ملف. واتساب الرسمي فقط في مسار الرفع.
targetProvideruser_session | eshaar | metaهدف الرفع: user_session أو eshaar أو meta.

حقول الاستجابة

الحقلالنوعالوصفمثال
successbooleanصحيح عندما ينجح الإجراء، أو عندما ينجح مستلم واحد على الأقل في الدفعة.
dataobjectالبيانات الأساسية في مسارات القوائم وملخص الحساب.
data.mediaobjectوسائط الترويسة المحفوظة لهذا القالب.
data.media.assetIdstringمعرّف الملف المحفوظ. أعده كـ headerAssetId عند إنشاء قالب.
data.media.mediaHandlestringمقبض الوسائط عند المزوّد عندما يعيده الرفع.
data.media.previewUrlstringرابط لمعاينة الملف المحفوظ.
data.media.mimeTypestringنوع MIME للملف المحفوظ.
data.media.sizeintegerحجم الملف بالبايت.
data.media.sourcestringمصدر حركة المحفظة مثل usage أو admin_topup أو topup_request. في رفع الوسائط هو أصل الأصل المخزّن.
messagestringرسالة نتيجة مقروءة بعد الإنشاء أو الرفع.

رموز الحالة

الحالةالوصف
201تم الإنشاء.
400طلب غير صالح، أو خطأ تحقق، أو المورد لا يمكن استخدامه في هذه الحالة.
401مفتاح API مفقود أو غير صالح.
403الهاتف غير موثّق، أو الصلاحية ناقصة، أو الحساب لا يستطيع تنفيذ هذا الإجراء.
429تم تجاوز حد المعدل، أو وصل عدد محاولات التحقق إلى الحد الأقصى.

حالات يجب أن تعرفها

  • هذا المسار multipart وليس JSON.

جرّب الطلب

هذا المسار يقبل رفع ملف (multipart/form-data). أرسله من خادمك أو من أداة تدعم الملفات — جرّب الطلب ينفّذ طلبات JSON فقط.