PostinganPublikasikan postingan

Postingan

Publikasikan postingan

Aplikasi live memublikasikan langsung, menjadwalkan, atau menyimpan draf; aplikasi uji hanya mensimulasikan. Dengan ?dry_run=true semua dicek tanpa menulis.

POSThttps://api.sofia-post.com/api/v1/posts
POST/v1/posts

Permintaan ini bertindak pada akun asli Anda.

curl -X POST 'https://api.sofia-post.com/api/v1/posts' \
  -H "Authorization: Bearer $SOFIA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"establishmentId":"cmvy2k3m40001ms4rest00000","targets":[{"platform":"instagram","text":"Tarte tatin du jour","format":"post","accountId":"cmvy2k3m40001ms4rig000000"}],"scheduledAt":"2026-11-02T10:00:00.000Z"}'

Otorisasi

  • Authorizationstringwajib

    Kunci pribadi atau access token OAuth Anda, dikirim sebagai Bearer <token>.

Parameter query

  • dry_runstring

    true: menjalankan setiap pemeriksaan yang dilakukan pengiriman (aturan jaringan, akun, media, pembuatan, langganan live) tanpa menulis apa pun. Mengembalikan 200 ready atau 422 post_refused.

    Nilai yang diizinkan: truefalse

Header

  • Idempotency-Keystring

    Bila diulang dengan body yang sama, permintaan mengembalikan respons yang sama tanpa membuat postingan kedua. Dry run tidak memakai kunci ini.

Body

application/json

  • establishmentIdstringwajib

    Usaha, di Workspace grant token (GET /v1/establishments)

  • targetsobject[]wajib

    Satu jaringan per target

    Tampilkan atribut turunan
    • platformstringwajib

      Jaringan yang dituju

      Nilai yang diizinkan: instagramfacebookxlinkedintiktok

    • textstringwajib

      Caption yang dipublikasikan di jaringan ini

    • mediaobject[]

      Media terlampir

      Tampilkan atribut turunan
      • idstring

        Pengenal media di pustaka usaha (jika tidak, url dan type)

      • urlstring

        Alamat publik media (https di live); tanpa pengenal

      • typestring

        Jenis media yang diberikan lewat alamat

        Nilai yang diizinkan: imagevideo

    • formatstring

      Format (post, reel, story, carousel...); default-nya yang akan disajikan jaringan

    • accountIdstring

      Live: akun terhubung yang memublikasikan, bila usaha memiliki beberapa di jaringan ini (GET /v1/establishments/:id/accounts)

  • scheduledAtstring<date-time>

    Tanggal penjadwalan (ISO 8601), di masa depan; tidak diisi: publikasikan segera. Tidak boleh bersama status draft

  • statusstring

    draft: sebuah draf (hanya live), dibuat tanpa tanggal, tidak ada yang dikirim; PATCH /v1/posts/:id menjadwalkannya

    Nilai yang diizinkan: draft

Respons

200application/json

Dry run: semua pemeriksaan lolos.

  • statusstringwajib

    Selalu ready

    Nilai yang diizinkan: ready

  • dryRunbooleanwajib

    Selalu true

    Nilai yang diizinkan: true

  • targetsobject[]wajib

    Target yang diperiksa

    Tampilkan atribut turunan
    • platformstringwajib

      Jaringan target

    • statestringwajib

      Selalu ready

      Nilai yang diizinkan: ready

    • accountIdstring

      Live: akun yang akan memublikasikan

    • handlestring

      Live: handle yang ditampilkan

201application/json

Live: publishing atau scheduled. Uji: simulated.

  • idstringwajib

    Pengenal postingan, untuk dibaca ulang dengan GET /v1/posts/:id

  • statusstringwajib

    Status postingan saat dibuat

    Nilai yang diizinkan: draftpublishingscheduled

  • establishmentIdstringwajib

    Usaha pemilik postingan

  • targetsobject[]wajib

    Target postingan

    Tampilkan atribut turunan
    • platformstringwajib

      Jaringan target

    • accountIdstringwajib

      Akun yang memublikasikan

    • statestringwajib

      Status target saat dibuat

      Nilai yang diizinkan: draftpublishingscheduledfailed

  • scheduledAtstring<date-time>

    Kapan postingan dijadwalkan untuk dipublikasikan

400

Body salah format.

401

Token tidak ada, tidak dikenal, kedaluwarsa, atau dicabut.

402

subscription_required (live, termasuk dry run).

403

Token tidak memiliki scope posts:write.

404

establishment_not_found: di luar Workspace token.

422application/json

post_refused: sebuah jaringan, usaha, atau pembuatan akan menolak; media_import_refused (live) beserta alasannya; idempotency_key_reused.

4XXapplication/json

Kesalahan lain apa pun, dalam amplop kesalahan.