Zona Pay
https://pay.zonaindonesia.com — Pusat pembayaran ekosistem. QRIS dan virtual account dengan verifikasi ganda.
POST
/api/v1/invoices
Terbitkan invoice
Membuat invoice bertanda tangan HMAC. Mengembalikan 201 Created beserta tautan pembayaran.
Contoh permintaan
{
"external_id": "MEET-PRO-2026",
"amount": 149000,
"description": "Zona Meet Pro",
"return_url": "https://meet.zonaindonesia.com/dash"
}
Contoh respons
{
"invoice": {
"id": "ZP-2026...",
"checkout_url": "https://pay.zonaindonesia.com/pay/ZP-2026..."
}
}
GET
/status/{id}
Periksa status invoice
Polling status sebagai cadangan realtime ketika webhook tidak tersedia. Status termasuk kedaluwarsa dan dibatalkan.
Contoh respons
{
"id": "ZP-2026...",
"status": "paid",
"verified_at": "2026-09-30T09:12:44Z"
}
POST
/api/v1/invoices/{id}/cancel
Batalkan invoice
Endpoint pembatalan menolak invoice yang sudah dibayar, sehingga status tidak pernah berubah dua kali.
Contoh respons
{
"id": "ZP-2026...",
"status": "cancelled"
}
Zona SMS Gateway
https://smsgateway.zonaindonesia.com — Gateway SMS transaksional dengan akses penuh REST API pada semua paket berbayar.
POST
/api/send
Kirim pesan
Mengirim SMS ke satu atau banyak nomor. Nomor international memakai format tanpa tanda plus di depan.
Contoh permintaan
{
"to": "6281234567890",
"message": "Kode OTP Anda: 123456",
"sender_id": "ZONAINDO"
}
Contoh respons
{
"status": "queued",
"message_id": "SM-2026...",
"credits_used": 1
}
POST
/api/blacklist/add
Tambahkan nomor ke daftar blokir
Menyaring nomor yang tidak ingin menerima pesan, menjaga reputasi gateway dan kepatuhan privasi.
Contoh permintaan
{
"number": "628999999999"
}
Contoh respons
{
"status": "ok",
"blacklisted": 1
}
Zona Broadcast
https://bm.zonaindonesia.com — Broadcast WhatsApp, SMS, dan email. Tarif mengikuti volume pesan dan channel yang dipakai.
POST
/api/campaigns
Buat kampanye
Menyimpan kampanye beserta daftar penerima dari berkas Excel atau CSV, lalu menjadwalkannya.
Contoh permintaan
{
"name": "Promo September",
"channel": "whatsapp",
"schedule_at": "2026-09-30T10:00:00+07:00"
}
Contoh respons
{
"id": "BC-2026...",
"status": "scheduled"
}