GerbangAPI Hub
Integrasi host-to-host buat reseller: buat order, cek status, lihat produk & saldo — semua pakai saldo wallet GerbangAPI kamu, tanpa perlu akun supplier sendiri. Base URL = domain backend GerbangAPI (tanya admin kalau belum tahu), semua path di bawah relatif ke situ.
Semua request wajib bawa header X-API-KEY. Key-mu ada di dashboard → Pengaturan Akun (bisa di-regenerate di sana; key lama langsung mati).
curl https://BASE_URL/h2h/v1/balance \
-H "X-API-KEY: GAH-xxxxxxxxxxxxxxxx"Rate limit: 60 request/menit per key (lebih dari itu → HTTP 429 + header Retry-After).
GET /h2h/v1/products
Daftar produk yang bisa dibeli (kode, nama, harga jual).
GET /h2h/v1/products/{code}/forms
Field input yang dibutuhkan produk itu (mis. User ID + Zone ID buat MLBB) — kirim balik lewat data saat order.
GET /h2h/v1/balance
{ "success": true, "data": { "balance": 1500000 } }POST /h2h/v1/order
Buat order. ref_id = ID transaksi versi kamu — alfanumerik/titik/strip/underscore, maks 64 karakter, unik per akun.
POST /h2h/v1/order
Content-Type: application/json
X-API-KEY: GAH-xxxxxxxxxxxxxxxx
{
"ref_id": "TRX-2026-0001",
"product_code": "ML86",
"customer_no": "123456789",
"data": [{ "key": "zone_id", "value": "1234" }]
}
// 201 Created
{
"success": true,
"message": "Order diterima",
"data": {
"ref_id": "TRX-2026-0001",
"status": "processing",
"sn": "",
"price": 25000,
"product_name": "ML 86 Diamonds"
}
}ref_id yang sama = balikin hasil order pertama, tidak di-charge ulang. Kalau order gagal dan mau coba lagi, pakai ref_id baru.GET /h2h/v1/order/{ref_id}
Cek status order. Order yang belum final dicek ulang ke supplier dulu — hasilnya selalu fresh.
{
"success": true,
"data": {
"ref_id": "TRX-2026-0001",
"status": "success",
"sn": "SN123456789",
"price": 25000,
"customer_no": "123456789",
"product_code": "ML86",
"created_at": "2026-07-26 10:00:00"
}
}| Status order | Arti |
|---|---|
| pending | Order diterima, belum diproses |
| processing | Sedang diproses supplier |
| success | Selesai — SN/kode ada di field sn |
| failed | Gagal — saldo otomatis di-refund ke wallet |
| HTTP | Arti |
|---|---|
| 401 | X-API-KEY kosong / salah / dicabut |
| 402 | Saldo wallet tidak cukup |
| 403 | Akun tidak aktif |
| 404 | Produk / order tidak ditemukan |
| 429 | Rate limit (60/menit) — coba lagi nanti |
Isi Webhook URL di Pengaturan Akun → tiap order H2H yang jadi success / failed di-POST ke URL kamu (retry 3× kalau gagal). Verifikasi keasliannya pakai header X-GAH-Signature: HMAC-SHA256 atas body mentah dengan API Secret kamu sebagai kunci (secret ditampilkan sekali saat regenerate key).
POST {webhook_url_kamu}
X-GAH-Event: order.success
X-GAH-Signature: sha256=hex(hmac_sha256(api_secret, body))
{
"event": "order.success",
"order_id": "1234",
"external_ref_id": "TRX-2026-0001",
"status": "success",
"sn": "SN123456789",
"amount": 25000,
"supplier": "gerbangapi",
"timestamp": "2026-07-26T10:05:00Z"
}Webhook bisa terkirim lebih dari sekali — proses secara idempoten berdasarkan external_ref_id. Jangan andalkan webhook doang: tetap sediakan polling GET /h2h/v1/order/{ref_id} sebagai fallback.