HTTP API
Lakukan autentikasi, temukan alat, dan konfirmasi perubahan melalui HTTP API yang tersedia.
Kirim permintaan API produk ke origin Influence tepercaya, misalnya https://influence.so. Domain dokumentasi tidak menerima permintaan API produk. Gunakan jalur persis di bawah tanpa parameter kueri.
Buat kunci API dengan izin yang sesuai
Di pengaturan Influence, buka Aplikasi dan otomatisasi → Kunci API. Pilih izin yang dibutuhkan dan waktu kedaluwarsa. Simpan kunci yang hanya ditampilkan sekali dalam penyimpanan rahasia sebagai PUBLISH_API_TOKEN. Kirim melalui Authorization: Bearer …, jangan lewat URL, isi permintaan, atau chat. Cabut kunci saat tidak diperlukan lagi.
Temukan alat dan baca data
Atur PUBLISH_API_URL ke origin tepercaya. Contoh ini menganggap proses sudah memiliki PUBLISH_API_TOKEN. accountList memerlukan integrations:read; ikuti kolom paginasi untuk mengambil halaman selanjutnya.
export PUBLISH_API_URL="https://influence.so"
curl "$PUBLISH_API_URL/api/v1/tools" \
-H "Authorization: Bearer $PUBLISH_API_TOKEN"
curl "$PUBLISH_API_URL/api/v1/tools/accountList/call" \
-H "Authorization: Bearer $PUBLISH_API_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"input":{}}'
Jalur permintaan
| Metode | Jalur | Tujuan |
|---|---|---|
GET |
/api/v1/tools |
Menampilkan alat yang tersedia untuk kredensial ini. |
POST |
/api/v1/tools/{tool}/call |
Memanggil alat hanya-baca. |
POST |
/api/v1/tools/{tool}/prepare |
Menyiapkan perubahan yang tepat tanpa menjalankannya. |
POST |
/api/v1/tools/{tool}/confirm |
Mengonfirmasi perubahan yang sudah disiapkan. |
POST |
/api/v1/media/import |
Mengonfirmasi unggahan biner gambar kecil yang telah disiapkan. |
Permintaan alat JSON memakai Content-Type: application/json dan isi yang hanya memuat input: {"input":{…}}. Dapatkan skema masukan setiap alat dari katalog alat terbaru.
Siapkan dan konfirmasi perubahan
- Kirim masukan operasi yang persis ke
/prepare. Respons berhasil memuatstatus: "confirmation_required",confirmationCapability,expiresAt,inputDigest, dansummaryjika tersedia. - Sebelum kedaluwarsa, kirim masukan yang sama ke
/confirm. Masukkan nilai konfirmasi yang diterima keX-Publish-Confirmationdan kunci baru buatan klien keIdempotency-Key. - Simpan masukan, nilai konfirmasi, dan kunci bersama-sama. Jika konfirmasi terputus atau hasilnya belum pasti, gunakan ketiganya lagi untuk permintaan yang sama. Jangan menyiapkan operasi pengganti untuk memulihkan hasil yang belum pasti.
Kunci idempotensi berisi 16–200 karakter dari A–Z, a–z, 0–9, ., _, :, dan -. Nilai konfirmasi adalah rahasia opak. Kunci yang dikirim ke /call atau /prepare tidak mencadangkan perubahan terkonfirmasi.
Konfirmasi permintaan berbeda dari persetujuan publikasi. Untuk menerbitkan atau mengubah jadwal, buat dan tampilkan tinjauan lengkap yang terbaru. Teks memerlukan persetujuan baru setelah tinjauan ditampilkan. Gambar dan video memerlukan persetujuan visual orang tersebut melalui antarmuka yang mendukungnya atau setelah masuk ke Influence. Menyiapkan tinjauan tidak menerbitkan apa pun. Baca hasil tersimpan sebelum melanjutkan; needs_review berarti perlu memastikan apa yang terjadi, bukan mengirim ulang.
Tangani error dan hasil yang belum pasti
Periksa status HTTP dan isi respons. Keberhasilan mengembalikan {"ok":true,"toolName":"…","output":{…}}. Kegagalan alat mengembalikan {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} dan bisa disertai HTTP 200. Kegagalan transport memakai {"error":{"code":"…","message":"…","retryable":false}} tanpa ok atau toolName.
401 berarti autentikasi diperlukan: periksa kedaluwarsa atau pencabutan. Izin yang kurang memerlukan pemberian akses yang sesuai, bukan permintaan berulang. 503 berarti API tidak tersedia di lingkungan tersebut. Ikuti error dan petunjuk percobaan ulang. Batas waktu habis tidak membuktikan perubahan gagal: simpan data konfirmasinya dan baca status sebelum mengirim ulang. Diterima, dijadwalkan, dan diterbitkan adalah hasil yang berbeda.
Unggah media
Untuk berkas lokal, utamakan uploadMedia dari SDK atau media:upload dari CLI. Keduanya memakai alat unggahan multipart yang sama dan mempertahankan clientKey yang stabil untuk percobaan ulang. Hanya hasil siap dengan assetId yang bisa dilampirkan. Gunakan mediaImport untuk referensi berkas HTTPS yang diizinkan; jalur lokal bukan URL unduhan.
POST /api/v1/media/import mendukung transport gambar kecil yang sudah ada: siapkan mediaImport dengan deskriptor unggahan yang persis, lalu kirim bita yang sama sebagai application/octet-stream. Sertakan X-Publish-Confirmation, Idempotency-Key, dan X-Publish-Upload berisi deskriptor JSON yang dikodekan untuk URI. Bita harus sesuai dengan ukuran dan SHA-256-nya. Batasnya 3 MiB; gunakan helper unggahan untuk berkas lebih besar yang didukung. Unggahan tidak pernah memberi persetujuan publikasi.