eWوثائق eWasl

إنشاء منشور

أنشئ منشوراً اجتماعياً جديداً، أو جدوله، أو انشره.

POST/api/v1/posts
posts:create

الطلب

استخدم هذه النقطة لإنشاء منشور. يمكنك النشر فوراً، أو الجدولة لاحقاً، أو الحفظ كمسودّة.

معاملات الجسم

contentstringRequired

المحتوى النصّي للمنشور. بحد أقصى 63,206 حرفاً. يُنقّى المحتوى تلقائياً — تُزال وسوم HTML.

accountIdsstring[]Required

مصفوفة معرّفات (UUID) للحسابات الاجتماعية المراد النشر إليها. يجب أن تخصّ المستخدم المُصادَق. احصل عليها من نقطة عرض الاتصالات.

publishNowbooleanOptional
Default: false

إن كان true، يُنشر المنشور فوراً إلى كل الحسابات المحدّدة. لا يمكن دمجه مع isDraft أو scheduledAt.

isDraftbooleanOptional
Default: false

إن كان true، يُحفظ المنشور كمسودّة. لا يمكن دمجه مع publishNow أو scheduledAt.

scheduledAtstringOptional

وقت ISO 8601 لموعد نشر المنشور. يجب أن يكون بعد دقيقة على الأقل من الآن. لا يمكن دمجه مع publishNow أو isDraft.

mediaUrlsstring[]Optional

مصفوفة روابط عامة لصور أو فيديوهات. بحد أقصى 10 روابط. تُتحقّق الروابط وتُنقّى.

platformCaptionsobjectOptional

تجاوزات محتوى لكل منصة. المفاتيح أسماء منصات بأحرف صغيرة، والقيم نصوص التعليقات. مثال: { "twitter": "Short tweet", "linkedin": "Longer professional post" }

tiktokSettingsobjectOptional

إعدادات نشر خاصة بـ TikTok. الحقول: privacyLevel (PUBLIC_TO_EVERYONE، PRIVATE، FRIENDSdisableDuet، disableComment، disableStitch، sendAsDraft، markAsAiGenerated.

youtubeTitlestringOptional

عنوان منفصل لمنشورات YouTube. بحد أقصى 100 حرف.

قواعد التحقّق

  • isDraft و publishNow و scheduledAt متنافية — اضبط واحداً فقط.
  • يجب أن يكون scheduledAt بعد دقيقة على الأقل من الآن.
  • يُتحقّق من المحتوى مقابل حدّ الأحرف لكل منصة مستهدفة.
  • يجب أن تخصّ كل accountIds المستخدم المُصادَق.

الاستجابة

يعيد كائن المنشور المُنشأ ضمن غلاف data. حالة HTTP 201 Created.

idstring

المعرّف الفريد (UUID) للمنشور المُنشأ.

contentstring

محتوى المنشور المُنقّى.

statusstring

الحالة: DRAFT أو SCHEDULED أو PUBLISHED أو PROCESSING أو FAILED أو PARTIALLY_PUBLISHED.

platformsstring[]

قائمة المنصّات المستهدفة (أحرف صغيرة).

mediaUrlsstring[]

مصفوفة روابط الوسائط المرفقة بالمنشور.

scheduledAtstring | null

طابع موعد النشر المجدول، أو null.

publishedAtstring | null

طابع النشر الفعلي، أو null.

createdAtstring

طابع وقت الإنشاء بصيغة ISO 8601.

publishingobject

يظهر فقط عند publishNow: true. يحتوي نتائج النشر لكل منصة مع total و success و failed ومصفوفة results.

أمثلة

{
  "content": "Just launched our new API! #devtools",
  "accountIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "publishNow": true,
  "mediaUrls": ["https://example.com/screenshot.png"]
}
{
  "content": "Happy Monday! Start your week with eWasl",
  "accountIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "scheduledAt": "2026-12-31T09:00:00Z"
}
{
  "content": "Work in progress...",
  "accountIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "isDraft": true
}

Response Example

{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "content": "Just launched our new API! #devtools",
    "status": "PUBLISHED",
    "platforms": ["twitter", "linkedin"],
    "mediaUrls": ["https://example.com/screenshot.png"],
    "scheduledAt": null,
    "publishedAt": "2026-03-01T12:00:05Z",
    "createdAt": "2026-03-01T12:00:00Z",
    "publishing": {
      "total": 2,
      "success": 2,
      "failed": 0,
      "results": [
        { "platform": "TWITTER", "success": true, "url": "https://x.com/ewasl/status/123" },
        { "platform": "LINKEDIN", "success": true, "url": "https://linkedin.com/feed/update/456" }
      ]
    }
  }
}

في هذه الصفحة