CLI
مقدمة
ثبّت الأمر sofia وسجّل الدخول وانشر من الطرفية: المنشورات والوسائط والحسابات والإحصاءات وwebhooks، بمخرجات JSON جاهزة للبرمجة النصية.
تغلّف أداة Sofia CLI واجهة Sofia API v1 في أمر واحد هو sofia. يُكتب كل أمر بالشكل المورد:الإجراء وكل ردّ هو JSON، فيمكنك ربطه مع jq ومهام cron وخطوط CI.
التثبيت
تُنشر الأداة على npm باسم الحزمة sofia-post، والأمر الذي تثبّته هو sofia.
npm install -g sofia-postpnpm install -g sofia-postyarn global add sofia-postتحقّق من التثبيت واعرض كل الأوامر. أضف --help إلى أي أمر لعرض خياراته.
sofia --help
sofia posts:create --help
sofia --versionبداية سريعة
سجّل الدخول من المتصفح، ثم ابحث عن منشأتك وانشر أول منشور.
sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"الأوامر
| الأمر | وظيفته |
|---|---|
auth:login, auth:status, auth:logout | تسجيل الدخول عبر المتصفح، ومعرفة هويتك، وتسجيل الخروج. |
me | يعرض الحساب الذي تعمل الأداة باسمه. |
platforms:list | يعرض الشبكات التي تنشر Sofia عليها وقواعدها. |
establishments:list | يعرض منشآتك. |
accounts:list, accounts:connect | يعرض الحسابات المرتبطة أو يعطيك رابطًا لربط حساب. |
posts:create, posts:list, posts:get, posts:update, posts:delete | نشر المنشورات وجدولتها وعرضها وتعديلها وحذفها. |
media:upload, media:list, media:get, media:delete | يرفع ملفًا أو عنوان https إلى مكتبة الوسائط ويديرها. |
insights:get | يقرأ إحصاءات المنشأة. |
webhooks:create, webhooks:list, webhooks:delete, webhooks:test | تسجيل webhooks وعرضها وحذفها واختبارها. |
مخرجات JSON
يطبع كل أمر جسم JSON القادم من الواجهة على stdout بمسافات بادئة. مرّره إلى jq لاستخراج ما تحتاجه.
sofia establishments:list | jq '.data[].id'عند الفشل يُرسَل غلاف الخطأ الخاص بالواجهة (أو خطأ محلي بالشكل نفسه) إلى stderr ويكون رمز الخروج 1.
{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }يردّ الحذف بـ { "deleted": true, "id": "…" }. التالي: المصادقة ثم المنشورات.