Pengembang produk
Tambahkan publikasi ke produk Anda.
Aplikasi jurnal fiktif menambahkan tindakan yang dikonfirmasi pengguna untuk menjadwalkan postingan sosial dan menampilkan hasil.
PRODUK ANDA + SOSOAPI
Ilustrasi alur integrasi- Produk AndaSiapkan dan konfirmasikan
- SosoAPIJadwalkan satu postingan terkonfirmasi
- Akun sosialIkuti hasilnya
Tiga langkah
Siapkan konten
Kumpulkan teks dan gambar di dalam produk Anda.
Biarkan pengguna mengonfirmasi
Tampilkan akun, konten, dan waktu sebelum menjadwalkan.
Kembalikan hasil
Tampilkan progres dan hasil akhir publikasi.
Publikasi sosial menjadi bagian produk Anda.
Lihat panduan lengkap
Skenario
Tambahkan tindakan “jadwalkan pembaruan ini” yang disengaja dan dapat ditinjau ke produk jurnal fiktif. Pertahankan ruang kerja pengguna dan akun terhubung persisnya tetap terlihat, serta tampilkan status yang dikembalikan tanpa menyiratkan publikasi penyedia.

Sebelum memulai
- Buat dan verifikasi akun SosoAPI, lalu pilih ruang kerja yang dituju.
- Buat kunci API di Pengaturan Aplikasi → Agents & API Access. Simpan sebagai SOSOAPI_API_KEY di lingkungan server; contoh JavaScript ini menggunakan Node.js 20+ dan tidak memerlukan repositori sumber SosoAPI.
- Pilih UUID ruang kerja nyata dan UUID akun sosial Threads hanya dari cakupan berizin saat ini. Akun harus memenuhi syarat untuk postingan teks Threads.
- Pemilik kunci API memerlukan akses editor atau pemilik ke ruang kerja terpilih. Simpan kunci di server, di luar kode browser, JSON permintaan, dan log.
Contoh input
- Produk fiktif
- Harborlight Journal · konsep aplikasi jurnal pribadi; tidak mengklaim integrasi nyata.
- Maksud pengguna
- Jadwalkan satu catatan produk yang ditinjau untuk akun Threads terpilih pada waktu lokal mendatang.
- Contoh teks
- “Catatan kecil untuk nanti: Harborlight Journal memberi ruang bagi refleksi harian yang lebih singkat. Simpan satu pikiran; biarkan sisanya untuk besok.”
- Cakupan runtime yang diwajibkan
- <workspace-uuid> dan <threads-social-account-uuid> dari cakupan yang saat ini diizinkan pengguna; jangan pernah menebak ID.
- Jadwalkan
- <future ISO-8601 instant with offset>, dengan display_timezone diatur ke Asia/Hong_Kong.
- Identitas percobaan ulang
- <unique stable idempotency key for this one user intent>; gunakan kembali hanya saat mencoba ulang permintaan yang sama dengan aman.
Panduan langkah demi langkah
Rancang konfirmasi produk sebelum panggilan API
Buka bagian ini di SosoAPIDi aplikasi SosoAPI, pilih ruang kerja yang dituju dan tinjau akun terhubungnya. Dalam mockup produk Anda, tampilkan ruang kerja dan akun pilihan pengguna yang sama alih-alih memilihnya diam-diam.
Tampilkan caption persis, akun, waktu lokal, dan zona waktu pada langkah konfirmasi. Wajibkan orang tersebut memilih Jadwalkan; membuka formulir tidak boleh mengirim apa pun.
Yang dapat diharapkan
Manusia dapat melihat target dan waktu sebelum penulisan. Mockup produk fiktif adalah latihan desain, bukan integrasi pelanggan yang terpasang.
Baca Scheduled Posts terkini dari server Anda
Ganti <workspace-uuid> dengan ID ruang kerja pilihan Anda, lalu jalankan permintaan hanya baca ini di server:
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/list", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({"workspace_id":"<workspace-uuid>"}) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Gunakan data yang dikembalikan untuk menyegarkan daftar produk Anda. Pisahkan konfirmasi pengguna dari pembacaan ini.
Yang dapat diharapkan
Anda menerima postingan terkini ruang kerja atau kesalahan otorisasi/validasi. Permintaan hanya baca ini tidak membuat postingan.
Kirim hanya setelah konfirmasi eksplisit pengguna
Buka Kalender dan pilih Postingan Baru untuk membandingkan langkah tinjauan dengan tindakan yang sama di aplikasi.
Ganti setiap placeholder dengan ID yang diizinkan, timestamp ISO mendatang dengan offset, dan kunci idempotensi unik. Tinjau akun, teks, dan waktu sebelum menjalankan permintaan sisi server ini.
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({ "workspace_id": "<workspace-uuid>", "social_account_id": "<threads-social-account-uuid>", "caption": "A small note for later: Harborlight Journal is making room for shorter daily reflections. Keep one thought; leave the rest for tomorrow.", "hashtags": [], "media": [], "provider_payload": {"platform": "threads", "publish_options": {"post_type": "TEXT"}}, "scheduled_at": "<future ISO-8601 instant with offset>", "display_timezone": "Asia/Hong_Kong", "idempotency_key": "<unique-stable-key-for-this-intent>" }) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Menjalankan permintaan ini membuat jadwal nyata. Kirim hanya setelah pengguna mengonfirmasi, dan jangan pernah mengekspos kunci API ke browser.
Yang dapat diharapkan
Respons diterima yang valid mengidentifikasi Scheduled Post yang dihasilkan; bukan bukti penyedia telah memublikasikannya. Kemampuan ditolak, cakupan/akun tidak valid, payload tidak didukung, atau jadwal ditolak harus ditampilkan sebagai kesalahan, bukan keberhasilan.
Tampilkan status yang dikembalikan dan berikan tindak lanjut aman kepada pengguna
Buka bagian ini di SosoAPISimpan ID Scheduled Post yang dikembalikan dan tampilkan status terkini, tujuan, serta jadwalnya dalam produk.
Arahkan pengguna ke detail Scheduled Post terkait. Jika pengiriman memerlukan manusia, tautkan item Needs Attention alih-alih diam-diam mengirim ulang.
Jangan beri label dipublikasikan sampai status akhir yang dikonfirmasi penyedia tercatat.
Yang dapat diharapkan
Produk membedakan bukti penerimaan permintaan dari pengamatan terjadwal, sedang dipublikasikan, dipublikasikan, gagal, dan tidak diketahui. Hasil tidak diketahui direkonsiliasi dengan postingan yang ada sebelum penulisan baru.
Bukti penerimaan permintaan. Lalu hasil publikasi.
Contoh di bawah menampilkan kolom respons API terpilih dengan nilai fiktif. Setelah membuat jadwal, simpan post.id dan gunakan untuk memeriksa hasil postingan tersebut.
1. Respons create
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "scheduled",
"scheduled_at": "2100-01-05T10:00:00+08:00",
"published_at": null,
"permalink": null
},
"deduped": false
}2. Baca postingan yang sama
POST /studio-api/scheduled-posts/get
{
"id": "10000000-0000-4000-8000-000000000001"
}Setelah konfirmasi penyedia, respons detail dapat menyertakan:
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "published",
"published_at": "2100-01-05T02:00:08Z",
"permalink": "https://www.threads.net/@example/post/EXAMPLE"
},
"delivery": {
"stage": "terminal",
"message": "Published on Threads."
}
}post.status- Gunakan status sebenarnya, seperti scheduled, publishing, published, atau failed. Jika koneksi terputus, baca postingan yang sama sebelum menyimpulkan yang terjadi.
post.permalink- Tautan postingan penyedia jika tersedia; dapat bernilai null. URL di atas adalah contoh.
delivery / outcomes- Respons detail menunjukkan progres publikasi dan hasil platform yang tersedia untuk postingan. Jika gagal, periksa detail tersebut dan Needs Attention sebelum memilih langkah selanjutnya.
Ini contoh kolom, bukan bukti publikasi nyata. Halaman ini tidak melakukan panggilan API.
Arti setiap status
SubmittedRespons permintaan- Permintaan Anda telah diterima. Periksa status postingan saat ini sebelum menganggapnya terjadwal atau dipublikasikan.
ScheduledDetail postingan- Scheduled Post diterima untuk waktu mendatang. Pertahankan tujuan dan waktu terjadwalnya terlihat selama menunggu.
PublishingDetail postingan- Pengiriman sedang berlangsung. Tunggu hasil akhir; status sedang diproses bukan berarti berhasil.
PublishedDetail postingan- Gunakan hanya setelah SosoAPI mencatat konfirmasi akhir penyedia untuk Scheduled Post.
FailedDetail postingan- Kegagalan akhir perlu ditinjau. Periksa detail postingan dan tindakan yang tersedia sebelum memutuskan perubahan atau percobaan ulang.
UnknownYang ditampilkan aplikasi- Jika koneksi terputus dan hasil belum jelas, periksa Scheduled Posts dan Needs Attention sebelum mengirim ulang.
Panduan terkait
Panduan menyertakan contoh API sisi server. Konfigurasikan ID berizin dan kunci API sebelum menjalankannya; halaman ini sendiri tidak mengirim permintaan.
Coba alur kerja pertama Anda.
Buat akun Anda dan mulai dengan Free.