FlazzHub drop-in compatible dengan format JSON API Digiflazz. Jika kamu sudah punya integrasi Digiflazz, cukup arahkan sistemmu ke base URL FlazzHub dan pakai API key FlazzHub — format request & response tetap sama. Pakai modul Otomax? Lihat Koneksi Otomax.
Production : https://api.flazzhub.com/v1
Sandbox : gunakan customer_no uji (lihat bagian Testing)Ada dua cara, bisa dipakai bergantian:
X-API-Key: flz_live_xxx. Paling sederhana untuk endpoint privat.sign adalah md5 dari gabungan string berikut:| Endpoint | Formula sign |
|---|---|
| Price list | md5(username + api_key + "pricelist") |
| Transaksi & cek status | md5(username + api_key + ref_id) |
Kamu juga bisa membatasi akses per API key dengan IP whitelist dari dashboard (Koneksi API).
Ambil daftar produk beserta harga efektif untuk akunmu (sudah termasuk diskon-grup bila ada).
POST /v1/price-list
Content-Type: application/json
{
"cmd": "prepaid",
"username": "USERNAME",
"sign": "md5(USERNAME + API_KEY + 'pricelist')"
}Respons (envelope standar):
{
"success": true,
"data": {
"products": [
{
"product_name": "Telkomsel 10.000",
"category": "Pulsa",
"brand": "TELKOMSEL",
"type": "prepaid",
"seller_name": "FlazzHub",
"price": 11500,
"buyer_sku_code": "tsel10",
"buyer_product_status": true,
"desc": "Pulsa Telkomsel Rp 10.000"
}
]
},
"error": null,
"meta": { "request_id": "uuid" }
}Gunakan ref_id unik per order sebagai idempotency key. Retry dengan ref_id yang sama akan mengembalikan transaksi awal (tanpa dobel charge).
POST /v1/transaction
Content-Type: application/json
{
"username": "USERNAME",
"buyer_sku_code": "tsel10",
"customer_no": "081234567890",
"ref_id": "order-2026-05-001",
"sign": "md5(USERNAME + API_KEY + 'order-2026-05-001')"
}Respons:
{
"success": true,
"data": {
"ref_id": "order-2026-05-001",
"customer_no": "081234567890",
"buyer_sku_code": "tsel10",
"status": "Sukses",
"rc": "00",
"sn": "1234567890",
"price": 11500,
"buyer_last_saldo": 88500,
"message": "SUKSES"
},
"error": null,
"meta": { "request_id": "uuid" }
}Bila status = Pending, selesaikan lewat polling cek status atau tunggu webhook.
POST /v1/transaction/status
Content-Type: application/json
{
"username": "USERNAME",
"ref_id": "order-2026-05-001",
"sign": "md5(USERNAME + API_KEY + 'order-2026-05-001')"
}Set URL & secret webhook di dashboard (Koneksi API). Saat status transaksi final, FlazzHub mengirim POST ke URL kamu dengan tanda tangan HMAC.
POST https://webhook-kamu.com/callback
X-Hub-Signature: sha1=HMAC-SHA1(body, secret)
X-Digiflazz-Event: update
{
"data": {
"ref_id": "order-2026-05-001",
"customer_no": "081234567890",
"buyer_sku_code": "tsel10",
"status": "Sukses",
"rc": "00",
"sn": "1234567890",
"price": 11500,
"buyer_last_saldo": 88500,
"message": "SUKSES"
}
}Verifikasi tanda tangan: hitung HMAC-SHA1(raw_body, secret) lalu bandingkan dengan header X-Hub-Signature (prefiks sha1=). Balas 200 untuk acknowledge; pengiriman gagal akan di-retry otomatis.
FlazzHub memakai kode kompatibel Digiflazz agar sistem lamamu langsung mengerti:
| rc | Arti |
|---|---|
00 | Sukses |
03 | Pending / sedang diproses |
01 | Gagal (umum) |
43 | SKU tidak ditemukan / non-aktif |
44 | Saldo tidak cukup |
53 | Produk seller tidak tersedia (toko tutup) |
55 | Gangguan / dependency error |
58 | Sedang cut-off |
69 | Harga melebihi batas (max price) buyer |
85 | Melebihi batas transaksi harian |
Kirim "testing": true di body request untuk menguji tanpa transaksi nyata. FlazzHub memvalidasi bahwa buyer_sku_code ada di katalogmu lalu membalas status sukses uji — cocok untuk memverifikasi koneksi & pemetaan SKU sebelum live.
POST /v1/transaction
Content-Type: application/json
{
"username": "USERNAME",
"buyer_sku_code": "tsel10",
"customer_no": "081234567890",
"ref_id": "test-001",
"testing": true,
"sign": "md5(USERNAME + API_KEY + 'test-001')"
}Lihat Referensi API untuk spesifikasi lengkap setiap endpoint, atau Panduan Buyer untuk mengatur koneksi dan routing dari dashboard.