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.
Quickstart
Contoh submit campaign dengan cURL. Header X-Idempotency-Key wajib untuk retry aman.
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" } } ] }'
{
"error": false,
"message": "success",
"data": {
"public_id": "cmp_01J8ZQ...",
"status": "SCHEDULED",
"submitted_count": 1,
"accepted_count": 1,
"duplicate_count": 0,
"invalid_count": 0
}
}
Client API v1
Semua endpoint mengembalikan envelope JSON konsisten. Payload dibatasi 20 MB, maksimum praktis 50.000 penerima per campaign.
Autentikasi & Gerbang Keamanan
Client API memakai Bearer API key. Plaintext key hanya ditampilkan sekali saat dibuat
via ops console — server menyimpan hash argon2id.
Authorization: Bearer ak_live_xxx...
X-Idempotency-Key: <bebas, ≤ 80 char>
{
"error": true,
"code": "E4090",
"message": "<pesan dari katalog E-code>"
}
| E-code | HTTP | Kondisi |
|---|---|---|
| E4001 | 401 | Key tidak dikenal / header kosong |
| E4002 | 403 | IP tidak masuk allowlist key |
| E4003 | 403 | Client berstatus SUSPENDED |
| E4010 | 429 | Token bucket per key habis — lihat header Retry-After (detik) |
| E4090 | 409 | Idempotency-Key sama dengan body berbeda |
Short Link & Redirect Publik
Placeholder {{link}} pada teks campaign diganti short URL unik per penerima,
dilayani oleh layanan redirect terpisah (port tersendiri).
Endpoint
GET /c/:code → 302 ke link_target_url campaign.
Perilaku
- Satu kode unik per penerima — klik tercatat untuk laporan.
- Publik, tanpa autentikasi.
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.