API Reference v1

Powering your Digital Business.

Otomatisasi bisnis Anda dengan integrasi API yang aman, cepat, dan handal. Kelola pesanan dan transaksi tanpa hambatan.

Alur Integrasi

1

Generate API Key

Buat API Key di menu API Settings pada dashboard member.

2

Request ke Endpoint

Lakukan request ke endpoint dengan POST method.

3

Terima Notifikasi

Terima notifikasi real-time via Webhook.


Format

JSON

Request & Response

Method

POST

Semua Endpoint

Keunggulan API

Otomatis 24/7

Non-stop tanpa intervensi manual

Data Terenkripsi

Keamanan transaksi terjamin

Uptime 99.9%

Server stabil & handal

Dukungan Teknis

Tim support siap membantu

Dokumentasi API

Integrasikan layanan Warung Rebahan langsung ke sistem Anda

Informasi Dasar

Base URL

https://warungrebahan.com/api/v1

Autentikasi

Sertakan API key Anda sebagai parameter api_key pada payload POST Anda.

"api_key": "YOUR_API_KEY"
POST /balance
Cek Saldo

Mengambil informasi saldo akun Anda yang tersedia saat ini.

Request Payload

{
  "api_key": "YOUR_API_KEY"
}

Response Example

{
  "success": true,
  "message": "Balance fetched successfully",
  "data": {
    "balance": 250000.00,
    "currency": "IDR"
  }
}
POST /products
Daftar Produk

Mengambil seluruh daftar produk aktif beserta varian dan harganya.

โ„น๏ธ Tentang Varian Hidden

Varian yang di-hide oleh admin tidak akan muncul di response ini. Jika admin meng-unhide varian tersebut, varian akan otomatis muncul kembali di response berikutnya. Gunakan mekanisme ini untuk menyinkronkan status produk Anda.

Request Payload

{
  "api_key": "YOUR_API_KEY"
}

Response Example

{
  "success": true,
  "message": "Products fetched successfully",
  "data": [
    {
      "id": "c6c25743-f544-11f0-abb4-246e9691c22c",
      "name": "CapCut Pro",
      "category": "Productivity",
      "description": "Deskripsi produk...",
      "variants": [
        {
          "id": "1e43001c-f5e2-11f0-abb4-246e9691c22c",
          "name": "Pro",
          "price": 5000,
          "duration": "7 Hari",
          "type": "Private",
          "warranty": "7 Hari",
          "stock": 50,
          "terms": "Syarat & ketentuan checkout", // nullable
          "delivery_terms": "S&K pengiriman akun" // nullable
        }
      ]
    }
  ]
}

Response Fields (per Variant)

Field Tipe Keterangan
id STRING ID varian, gunakan sebagai variant_id di /order.
name STRING Nama varian.
price NUMBER Harga dalam Rupiah.
duration STRING Durasi langganan (e.g. "30 Hari").
type STRING Tipe akun (e.g. "Private", "Sharing").
warranty STRING Durasi garansi.
stock INT Jumlah stok tersedia.
terms STRING|NULL Syarat & ketentuan saat checkout.
delivery_terms STRING|NULL S&K pengiriman akun di invoice.
POST /order
Buat Pesanan

Melakukan pembelian produk. Saldo Anda akan otomatis terpotong saat pesanan dibuat.

๐Ÿงช Sandbox Mode

Tambahkan "is_test": true untuk mencoba checkout tanpa mengurangi saldo. Semua validasi tetap berjalan, namun tidak ada order yang dibuat di sistem.

Parameter Tipe Wajib Keterangan
api_key STRING YA API Key Anda.
variant_id STRING YA ID varian produk (dari /products).
email_invite STRING OPTIONAL Email untuk di-invite (khusus tipe Invite).
quantity INT OPTIONAL Jumlah produk. Default: 1
voucher_code STRING OPTIONAL Kode voucher untuk diskon.
is_test BOOLEAN OPTIONAL Sandbox Mode: Set true untuk mencoba checkout gratis dengan data dummy. Saldo tidak akan terpotong.

Request Payload

{
  "api_key": "YOUR_API_KEY",
  "variant_id": "v-123",
  "quantity": 1,
  "voucher_code": "PROMONYTA",
  "is_test": true  // Hapus untuk order sungguhan
}

Response Success

{
  "success": true,
  "message": "Order created successfully",
  "data": {
    "order_id": "ORD-20260126-X8Y9Z",
    "status": "processing",
    "payment_status": "paid",
    "total_amount": 5000,
    "current_balance": 245000
  }
}

Response Sandbox Mode

{
  "success": true,
  "message": "Order created successfully (Sandbox Mode)",
  "data": {
    "order_id": "TEST-ORD-A7X9K2",
    "status": "processing",
    "payment_status": "paid",
    "total_amount": 5000,
    "current_balance": 250000, // Saldo tidak berubah
    "is_test": true
  }
}
POST /transactions
Riwayat

Mengambil 50 riwayat pesanan terakhir Anda.

Request Payload

{
  "api_key": "YOUR_API_KEY"
}

Response Example

{
  "success": true,
  "message": "Orders fetched successfully",
  "data": [
    {
      "order_id": "ORD-20260123-B5F739",
      "total_amount": 500,
      "status": "completed",
      "payment_status": "paid",
      "products": [...],
      "account_details": [...],
      "created_at": "2026-01-23 09:30:19"
    }
  ]
}
WEBHOOK Notifikasi Real-time

Webhook Notifications

Sistem akan mengirim POST request ke URL webhook Anda saat status order berubah. Konfigurasi webhook URL di halaman API Settings.

Event yang Dikirim

order.processing
order.completed
order.failed

Payload Example

{
  "event": "order.completed",
  "data": {
    "order_id": "ORD-123",
    "status": "completed",
    "total_amount": 35000
  }
}

Contoh Script Webhook (PHP)

<?php

// 1. Ambil Signature dan Payload
$signature = $_SERVER['HTTP_X_REBAHAN_SIGNATURE'] ?? '';
$json = file_get_contents('php://input');
$payload = json_decode($json, true);

// 2. Validasi Signature (Gunakan API Key sebagai Secret)
$secret = 'API_KEY_ANDA';
$expected = hash_hmac('sha256', $json, $secret);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    die('Invalid Signature');
}

// 3. Proses Event
$event = $payload['event'] ?? '';
$data = $payload['data'] ?? [];

switch ($event) {
    case 'order.processing':
        // Pesanan sedang diproses
        break;

    case 'order.completed':
        // Pesanan sukses
        $orderId = $data['order_id'];
        break;

    case 'order.failed':
        // Pesanan gagal/cancel
        break;
}

http_response_code(200);
echo json_encode(['status' => 'ok']);
?>

Siap Mengintegrasikan?

Daftar sebagai member untuk mendapatkan API Key

Daftar Sekarang
๐Ÿ›’
Orderan Masuk
โ€ข