CLIإدارة المنشورات

CLI

إدارة المنشورات

أنشئ المنشورات وجدولها واعرضها وعدّلها واحذفها من الطرفية: مسودات وعدة شبكات ووسائط وتجربة بلا نشر وجسم JSON كامل.

ينتمي كل منشور إلى منشأة، لذلك تمرّر معرّفها بالخيار -e. اعثر عليه بـ sofia establishments:list (انظر الحسابات).

إنشاء المنشورات

نشر منشور

بدون تاريخ يُنشر المنشور فورًا.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"

الخيارات

الخيارالدور
-e, --establishmentمعرّف المنشأة (إلزامي، إلا مع --json).
-p, --platformsالشبكات مفصولة بفواصل (instagram,facebook,x,linkedin,tiktok)؛ إلزامي، إلا مع --json.
-c, --contentنص المنشور.
-s, --dateتاريخ الجدولة (ISO 8601)؛ من دونه يُنشر المنشور فورًا.
-m, --mediaمعرّفات وسائط أو عناوين https مفصولة بفواصل.
-f, --formatالتنسيق: post وreel وstory وcarousel…
-a, --accountالحساب المتصل الذي يُنشر منه.
--draftيحفظ مسودة لا يُرسلها شيء.
--dry-runيتحقق من المنشور دون كتابة أي شيء.
--idempotency-keyيعيد تنفيذ الطلب نفسه كطلب واحد.
-j, --jsonملف يحمل الجسم الكامل؛ يحل محل خيارات المحتوى.

جدولة منشور

مرّر تاريخًا بصيغة ISO 8601 عبر -s, --date.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Brunch ce samedi" -s 2026-11-07T09:00:00Z

حفظ مسودة

يحفظ --draft المنشور دون نشره أو جدولته.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Brunch ce samedi" --draft

إضافة وسائط

يقبل -m, --media معرّفات وسائط من مكتبتك أو عناوين https مفصولة بفواصل.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" \
  -m $MEDIA_ID,https://images.example.com/tarte-tatin.jpg

بالنسبة إلى العنوان يُستنتج النوع من الامتداد: فيديو لـ mp4 وmov وwebm وm4v، وصورة فيما عدا ذلك. للرفع أولًا انظر الوسائط.

عدة شبكات في وقت واحد

اكتب الشبكات مفصولة بفواصل في -p, --platforms. تحصل كل شبكة على النص نفسه.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram,facebook,linkedin -c "Tarte tatin du jour"

تجربة بلا نشر

يتحقق --dry-run من المنشور وفق قواعد كل شبكة دون نشر أي شيء. انظر التجربة بلا نشر.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" --dry-run

عدم تكرار التنفيذ

أعد تنفيذ الأمر بأمان عبر --idempotency-key: المفتاح نفسه يعطي المنشور نفسه، لا منشورين. انظر عدم تكرار التنفيذ.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" \
  --idempotency-key brunch-2026-11-07

جسم كامل من ملف

لنص مختلف لكل شبكة أو عدة وسائط أو جدولة دفعة واحدة، اكتب الجسم كاملًا في ملف ومرّره بـ -j, --json. يحلّ محل خيارات المحتوى.

sofia posts:create --json post.json
{
  "establishmentId": "$ESTABLISHMENT_ID",
  "targets": [
    {
      "platform": "instagram",
      "text": "Tarte tatin du jour",
      "media": [{ "id": "$MEDIA_ID" }],
      "format": "post"
    },
    {
      "platform": "tiktok",
      "text": "Tarte tatin du jour",
      "media": [{ "url": "https://images.example.com/tarte-tatin.mp4", "type": "video" }]
    }
  ],
  "scheduledAt": "2026-11-07T09:00:00Z",
  "status": "scheduled"
}

عرض المنشورات

صفِّ القائمة بهذه الخيارات. الردّ مقسّم إلى صفحات: انظر ترقيم الصفحات.

  • -e, --establishment: هذه المنشأة فقط.
  • --status: المنشورات بهذه الحالة فقط.
  • --limit و--cursor: حجم الصفحة ونقطة المتابعة.
sofia posts:list -e $ESTABLISHMENT_ID --status scheduled --limit 20

التصفية حسب الفترة

--from و--to: نطاق تاريخ.

sofia posts:list -e $ESTABLISHMENT_ID --from 2026-11-01 --to 2026-11-30

التصفية حسب الكاتب

--created-by me|app: ما كتبته بنفسك أو ما أُنشئ عبر الواجهة.

sofia posts:list -e $ESTABLISHMENT_ID --created-by app

قراءة منشور وتعديله

يغيّر posts:update التاريخ (-s) أو الحالة (draft أو scheduled) أو الجسم كاملًا بـ -j.

sofia posts:get $POST_ID
sofia posts:update $POST_ID -s 2026-11-08T09:00:00Z
sofia posts:update $POST_ID --json post.json

تغيير حالة منشور

ينقل posts:update --status المنشور من مسودة إلى مجدول، والعكس.

sofia posts:update $POST_ID --status draft
sofia posts:update $POST_ID --status scheduled -s 2026-11-08T09:00:00Z
  • يجدول --status scheduled -s <التاريخ> المسودة في ذلك التاريخ.
  • يعيد --status draft المنشور المجدول إلى مسودة: يحتفظ بمحتواه ويفقد تاريخه ولن يُنشر بعد الآن.

حذف منشور

sofia posts:delete $POST_ID

البرمجة النصية مع jq

بما أن المخرجات JSON، يستخرج jq ما تحتاجه: المعرّفات والحالات ومؤشر الصفحة التالية.

sofia posts:list -e $ESTABLISHMENT_ID --status scheduled | jq '.data[] | {id, status}'
sofia posts:list -e $ESTABLISHMENT_ID | jq -r '.nextCursor'

التالي: الحسابات والوسائط.

هل كانت هذه الصفحة مفيدة؟