Layanan aktif — mediator broadcast SMS & RCS

Arcadia Broadcast Platform

Client API asinkron yang carrier-agnostic: submit campaign, terima status per penerima, dan biarkan Arcadia menangani routing, short link, serta delivery report ke carrier.

Asinkron Carrier-agnostic Idempotent by design Envelope JSON konsisten Katalog E-code
01

Quickstart

Contoh submit campaign dengan cURL. Header X-Idempotency-Key wajib untuk retry aman.

Request
curl -X POST https://<host>/v1/campaigns \
  -H "Authorization: Bearer ak_live_xxxxxxxx..." \
  -H "X-Idempotency-Key: <string bebas ≤ 80 char>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Promo Agustus",
    "channel": "SMS",
    "text": "Hai {{nama}}, diskon 30% sampai akhir bulan. {{link}}",
    "recipients": [
      { "msisdn": "081234567890", "variables": { "nama": "Budi" } }
    ]
  }'
Response — 201 Created
{
  "error": false,
  "message": "success",
  "data": {
    "public_id": "cmp_01J8ZQ...",
    "status": "SCHEDULED",
    "submitted_count": 1,
    "accepted_count": 1,
    "duplicate_count": 0,
    "invalid_count": 0
  }
}
02

Client API v1

Semua endpoint mengembalikan envelope JSON konsisten. Payload dibatasi 20 MB, maksimum praktis 50.000 penerima per campaign.

POST /v1/campaigns Submit campaign — async, carrier-agnostic.wajib Idempotency-Key
POST /v1/campaigns/validate Dry-run pipeline validasi tanpa persist ke database.
GET /v1/campaigns Daftar campaign milik client.
GET /v1/campaigns/:publicId Status & ringkasan campaign.
GET /v1/campaigns/:publicId/report Laporan agregat per campaign.
GET /v1/campaigns/:publicId/messages Status pesan per penerima (paginated).
POST /v1/campaigns/:publicId/export Enqueue job export Excel (.xlsx) asinkron.
GET /v1/exports/:id Status job export.
GET /v1/exports/:id/download Unduh hasil export (Excel .xlsx).
03

Autentikasi & Gerbang Keamanan

Client API memakai Bearer API key. Plaintext key hanya ditampilkan sekali saat dibuat via ops console — server menyimpan hash argon2id.

Header
Authorization: Bearer ak_live_xxx...
X-Idempotency-Key: <bebas, ≤ 80 char>
Envelope error
{
  "error": true,
  "code": "E4090",
  "message": "<pesan dari katalog E-code>"
}
E-codeHTTPKondisi
E4001401Key tidak dikenal / header kosong
E4002403IP tidak masuk allowlist key
E4003403Client berstatus SUSPENDED
E4010429Token bucket per key habis — lihat header Retry-After (detik)
E4090409Idempotency-Key sama dengan body berbeda
05

Ops Console

Console operasional di prefix /ops — login session browser (cookie ops_sid + CSRF) atau Basic Auth untuk curl/otomasi.

Dispatch & DR

Dispatch queue & konfirmasi, upload delivery report, resolusi konflik DR.

Kepatuhan

Suppression list dan audit trail untuk setiap aksi operasional.

Laporan

Dashboard performa, laporan pemakaian unit, dan export data campaign.

Client & Key

Manajemen client, API key (argon2id), kuota unit, dan IP allowlist.

Carrier

Konfigurasi carrier dan routing broadcast.

Autentikasi

Session browser 8 jam dengan CSRF, atau Basic Auth untuk otomasi.

Arcadia Ops Console

Kelola dispatch, DR, suppression, client, dan audit dari satu tempat.

Buka /ops/