CLIMengelola postingan

CLI

Mengelola postingan

Buat, jadwalkan, daftar, ubah, dan hapus postingan dari terminal: draf, beberapa jaringan, media, uji coba, dan isi JSON lengkap.

Setiap postingan milik sebuah usaha, jadi Anda memberi id-nya dengan -e. Temukan dengan sofia establishments:list (lihat akun).

Membuat postingan

Publikasikan postingan

Tanpa tanggal, postingan langsung terbit.

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

Opsi

OpsiFungsi
-e, --establishmentId usaha (wajib, kecuali dengan --json).
-p, --platformsJaringan, dipisahkan koma (instagram,facebook,x,linkedin,tiktok); wajib, kecuali dengan --json.
-c, --contentTeks postingan.
-s, --dateTanggal jadwal (ISO 8601); tanpa tanggal, postingan langsung terbit.
-m, --mediaId media atau alamat https, dipisahkan koma.
-f, --formatFormat: post, reel, story, carousel…
-a, --accountAkun terhubung yang dipakai untuk menerbitkan.
--draftMenyimpan draf yang tidak dikirim ke mana pun.
--dry-runMemeriksa postingan tanpa menulis apa pun.
--idempotency-keyMengulang permintaan yang sama sebagai satu permintaan.
-j, --jsonFile berisi body lengkap; menggantikan opsi konten.

Jadwalkan postingan

Berikan tanggal ISO 8601 dengan -s, --date.

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

Simpan draf

--draft menyimpan postingan tanpa memublikasikan atau menjadwalkannya.

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

Tambahkan media

-m, --media menerima id media dari pustaka Anda atau alamat https, dipisahkan koma.

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

Untuk alamat, jenisnya diambil dari ekstensi: video untuk mp4, mov, webm, dan m4v, selain itu gambar. Untuk mengunggah dulu, lihat media.

Beberapa jaringan sekaligus

Tulis jaringan dipisahkan koma di -p, --platforms. Masing-masing menerima teks yang sama.

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

Uji coba

--dry-run memeriksa postingan sesuai aturan tiap jaringan dan tidak memublikasikan apa pun. Lihat Uji coba.

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

Idempotensi

Jalankan ulang perintah dengan aman lewat --idempotency-key: kunci yang sama menghasilkan postingan yang sama, tidak pernah dua. Lihat Idempotensi.

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

Isi lengkap dari berkas

Untuk teks per jaringan, beberapa media, atau jadwal sekaligus, tulis seluruh isi di berkas lalu berikan dengan -j, --json. Ini menggantikan opsi konten.

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"
}

Daftar postingan

Saring daftar dengan opsi berikut. Jawabannya berhalaman: lihat Paginasi.

  • -e, --establishment: hanya usaha ini.
  • --status: hanya postingan dengan status ini.
  • --limit dan --cursor: ukuran halaman dan titik lanjut.
sofia posts:list -e $ESTABLISHMENT_ID --status scheduled --limit 20

Memfilter menurut periode

--from dan --to: rentang tanggal.

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

Memfilter menurut penulis

--created-by me|app: postingan buatan Anda sendiri atau yang dibuat lewat API.

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

Membaca dan mengubah postingan

posts:update mengubah tanggal (-s), status (draft atau scheduled), atau seluruh isi dengan -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

Mengubah status postingan

posts:update --status memindahkan postingan dari draf ke terjadwal, dan sebaliknya.

sofia posts:update $POST_ID --status draft
sofia posts:update $POST_ID --status scheduled -s 2026-11-08T09:00:00Z
  • --status scheduled -s <tanggal> menjadwalkan draf pada tanggal itu.
  • --status draft mengembalikan postingan terjadwal menjadi draf: kontennya tetap, tanggalnya hilang, dan postingan tidak akan terbit lagi.

Menghapus postingan

sofia posts:delete $POST_ID

Skrip dengan jq

Karena keluarannya JSON, jq bisa mengambil yang Anda butuhkan: id, status, kursor halaman berikutnya.

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

Selanjutnya: akun dan media.

Apakah halaman ini membantu?