Membuat dan menjadwalkan post
Draft, waktu jadwal, antrean, caption dan opsi per akun, mengedit dan menghapus.
Sebuah post punya satu caption, media-nya, dan satu target untuk setiap akun tujuan. Tiap target memilih content type yang didukung akunnya, dan bisa mengganti caption, media dan opsi untuk akun itu.
{ "caption": "Grand opening Sabtu ini! 🎉", "mediaIds": ["m_1", "m_2"], "targets": [ { "socialAccountId": "acc_ig", "contentType": "ig_carousel", "options": { "firstComment": "#bali #grandopening" } }, { "socialAccountId": "acc_th", "contentType": "th_carousel", "captionOverride": "Grand opening Sabtu ini, mampir ya!" }, { "socialAccountId": "acc_tt", "contentType": "tt_photo", "options": { "tiktok": { "privacyLevel": "PUBLIC_TO_EVERYONE" } } } ], "tagIds": ["tag_promo"], "action": "schedule", "scheduledAt": "2026-11-07T10:00:00+08:00"}Action
Section titled “Action”action |
Yang terjadi |
|---|---|
draft |
Disimpan, tidak ada yang terbit. Pre-flight tidak berjalan, jadi draft boleh belum lengkap. Tambahkan scheduledAt agar tampil di kalender. |
schedule |
Diperiksa, lalu terbit pada scheduledAt. |
now |
Diperiksa, lalu langsung terbit. |
submit |
Disimpan sebagai draft yang menunggu persetujuan pemilik. Lihat Persetujuan. |
Periksa post tanpa menyimpannya dengan POST /posts/validate: body sama, action opsional.
Hasilnya berisi error dan warning setiap akun.
Kirim ISO 8601 dengan offset atau Z, misalnya 2026-11-07T10:00:00+08:00. Waktu tanpa offset ditolak, jadi tidak ada tebak-tebakan
zona waktu. GET /me mengembalikan zona waktu workspace, yang dipakai kalender dan antrean.
Slot antrean
Section titled “Slot antrean”Atur jam posting mingguan di menu kalender pada Queue slots, atau dengan PUT /queue. Kirim
"useNextSlot": true sebagai ganti scheduledAt dan PostFlow memilih slot kosong berikutnya (minimal 10 menit dari sekarang, dan
tidak dalam 30 menit dari post lain). GET /queue/next menunjukkan slot itu lebih dulu.
Opsi per akun
Section titled “Opsi per akun”| Opsi | Untuk |
|---|---|
firstComment |
Komentar yang diposting tepat setelah post (hashtag, link). Instagram, Facebook, Threads. |
followUps |
Sampai 5 komentar, atau thread Threads, masing-masing delayMinutes setelah yang sebelumnya. |
link |
Post link di Facebook. |
shareToFeed |
Reels Instagram: tampil juga di feed. |
instagram.collaborators |
Sampai 3 username yang diundang sebagai kolaborator. |
tiktok.privacyLevel |
Siapa yang bisa melihat, mis. PUBLIC_TO_EVERYONE, SELF_ONLY. Plus disableComment, disableDuet, disableStitch, brandContent, brandOrganic. |
youtube.title, privacy, madeForKids, tags, categoryId, thumbnailMediaId |
Upload YouTube. |
cover.offsetMs / cover.mediaId |
Cover video dari satu momen di video atau dari gambar, kalau platformnya mengizinkan. |
Post berulang
Section titled “Post berulang”repeatDays menerbitkan post lagi setiap 1, 2, 3, 7, 14 atau 30 hari. null menghentikannya.
Mengedit
Section titled “Mengedit”PUT /posts/{id} mengganti isi post: kirim semua field, seperti saat membuat. Akun yang sudah menerbitkannya tetap seperti adanya.
Kirim version yang Anda baca sebagai expectedVersion agar mendapat 409 CONFLICT alih-alih menimpa perubahan seseorang di aplikasi.
Untuk mengganti waktunya saja, pakai POST /posts/{id}/reschedule dengan { "scheduledAt": "…" }.
Untuk langsung menerbitkan draft atau post terjadwal, pakai POST /posts/{id}/publish.
Menghapus
Section titled “Menghapus”DELETE /posts/{id} menghapus post dari PostFlow. Yang sudah tayang di platform tetap ada di sana. Post yang sedang diterbitkan
saat itu mengembalikan 409; coba lagi semenit kemudian. POST /posts/delete menghapus sampai 50
sekaligus dan melaporkan yang dilewati.
Melihat yang direncanakan
Section titled “Melihat yang direncanakan”GET /calendar?from=…&to=…: semua post dalam rentang sampai 92 hari, plus slot antrean yang masih kosong.GET /posts?status=…:scheduled,published,failed,attentionataudrafts, difilteraccountIdatautagId. Lihat Status post.
TikTok
Section titled “TikTok”Sebelum posting ke akun TikTok pribadi, baca pengaturannya dengan
GET /accounts/{id}/tiktok-creator-info lalu pilih options.tiktok.privacyLevel
dari privacyLevelOptions. TikTok mewajibkan creator memilihnya; tidak ada nilai default. Lihat TikTok.