wila.

Mitra H2H

Dokumentasi API

Semua permintaan memakai JSON dan header X-Api-Key. Kunci diterbitkan admin setelah saldo pertama masuk.

Alamat dasar: https://wila.web.id/api/v1

Batas 120 permintaan per menit per kunci. Melebihi batas dibalas 429.

1. Cek saldo

Dipakai untuk memastikan saldo cukup sebelum membuat pesanan.

curl https://wila.web.id/api/v1/saldo \
  -H "X-Api-Key: KUNCI_KAMU"
{
  "success": true,
  "data": { "saldo": 150000 }
}

2. Daftar produk

Harga yang tampil sudah memakai markup mitra. Saring dengan ?game=slug kalau hanya butuh satu kategori.

curl "https://wila.web.id/api/v1/produk?game=mobile-legends" \
  -H "X-Api-Key: KUNCI_KAMU"
{
  "success": true,
  "data": [
    { "sku": "ml5", "nama": "MOBILE LEGENDS 5 Diamond", "game": "mobile-legends", "harga": 1700, "tersedia": true }
  ]
}

3. Buat pesanan

ref_id adalah kode unik dari sistemmu. Kalau dikirim dua kali dengan ref_id yang sama, pesanan kedua tidak dibuat — jawabannya pesanan yang pertama dengan "idempoten": true.

curl -X POST https://wila.web.id/api/v1/pesanan \
  -H "X-Api-Key: KUNCI_KAMU" \
  -H "Content-Type: application/json" \
  -d '{
    "sku": "ml5",
    "target_id": "123456789",
    "target_zone": "2001",
    "ref_id": "INV-2026-0001"
  }'

target_zone hanya untuk game yang memerlukannya, misalnya Mobile Legends dan Magic Chess.

{
  "success": true,
  "message": null,
  "data": {
    "ref_id": "INV-2026-0001",
    "kode_pesanan": "WILA-8R4OGX5C",
    "sku": "ml5",
    "status": "success",
    "serial_number": "MOBILE LEGENDS 5 Diamond",
    "harga": 1700,
    "dibuat": "2026-11-02T10:15:00+07:00",
    "idempoten": false
  }
}

4. Cek status pesanan

curl https://wila.web.id/api/v1/pesanan/INV-2026-0001 \
  -H "X-Api-Key: KUNCI_KAMU"

5. Atur URL callback

Callback dikirim setiap status pesanan berubah. Kosongkan dengan null kalau belum siap.

curl -X PATCH https://wila.web.id/api/v1/pengaturan \
  -H "X-Api-Key: KUNCI_KAMU" \
  -H "Content-Type: application/json" \
  -d '{"callback_url": "https://situsmu.com/callback"}'

Status pesanan

Callback

Kiriman berupa POST JSON ke URL callback-mu, dengan header X-Signature berisi HMAC-SHA256 dari isi body memakai secret mitra. Secret dikirim terpisah saat kunci diterbitkan.

{
  "ref_id": "INV-2026-0001",
  "order_code": "WILA-8R4OGX5C",
  "sku": "ml5",
  "status": "success",
  "serial_number": "MOBILE LEGENDS 5 Diamond",
  "message": null,
  "price": 1700,
  "updated_at": "2026-11-02T10:15:30+07:00"
}

Contoh memeriksa tanda tangan di PHP:

$body = file_get_contents("php://input");
$harap = hash_hmac("sha256", $body, $secret);
$terima = $_SERVER["HTTP_X_SIGNATURE"] ?? "";

if (! hash_equals($harap, $terima)) {
    http_response_code(401);
    exit;
}

Balas dengan HTTP 2xx. Kalau callback gagal, status pesanan tetap bisa dicek lewat endpoint pesanan.

Kode jawaban

Belum punya kunci? Ajukan jadi mitra.