Lewati ke konten

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 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.

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 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.

repeatDays menerbitkan post lagi setiap 1, 2, 3, 7, 14 atau 30 hari. null menghentikannya.

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.

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.

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.