CLI
管理貼文
在終端機中建立、排程、列出、修改和刪除貼文,支援草稿、多個網路、媒體、試執行,以及完整的 JSON 請求主體內容。
每篇貼文都屬於某個店家,所以要用 -e 傳入店家 id。可以用 sofia establishments:list 查到(見帳號)。
發佈貼文
不指定日期時,貼文會立即發佈。
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"排程發佈
用 -s, --date 傳入 ISO 8601 格式的日期。
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同時發佈到多個網路
在 -p, --platforms 中用逗號分隔多個網路,每個網路都會收到相同的文字。
sofia posts:create -e $ESTABLISHMENT_ID -p instagram,facebook,linkedin -c "Tarte tatin du jour"媒體、格式和帳號也是共用的。可以用這些選項來調整貼文:
-c, --content:貼文的文字。-f, --format:格式(post、reel、story、carousel等)。-a, --account:用於發佈的已連結帳號。
加入媒體
-m, --media 接受媒體庫中的媒體 id 或 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 為影片,其他為圖片。如需先上傳,請看媒體。
試執行
--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 傳入。它會取代內容類選項。
{
"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"
}sofia posts:create --json post.json列出貼文
可以用下列選項篩選清單。回應是分頁的,見分頁。
-e, --establishment:僅此店家。--status:僅此狀態的貼文。--from和--to:日期範圍。--created-by me|app:你自己寫的貼文,或透過 API 建立的貼文。--limit和--cursor:每頁數量和繼續讀取的位置。
sofia posts:list -e $ESTABLISHMENT_ID --status scheduled --from 2026-11-01 --to 2026-11-30 --limit 20查看、修改、刪除
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 --status draft
sofia posts:delete $POST_ID搭配 jq 撰寫腳本
因為輸出是 JSON,所以 jq 能取出你需要的內容:id、狀態、下一頁的游標。
sofia posts:list -e $ESTABLISHMENT_ID --status scheduled | jq '.data[] | {id, status}'
sofia posts:list -e $ESTABLISHMENT_ID | jq -r '.nextCursor'這個頁面對你有幫助嗎?