Partner API Documentation

Dokumentasi teknis untuk Partner White Label yang ingin mengintegrasikan ekosistem OtoLive ke dashboard atau billing system pihak ketiga.

⚠️ PERHATIAN: API Endpoints ini hanya bisa diakses oleh akun dengan Role partner atau admin yang memiliki Session Token aktif.

1. Authentication

POST/api/auth

Digunakan untuk login dan memperoleh session cookie berbasis HTTP-Only (Tokenless secara eksplisit).

Payload JSON:

{
  "email": "partner@yourdomain.com",
  "password": "yourpassword",
  "action": "login"
}

Response sukses `200 OK` akan secara otomatis men-set HTTP cookie pada client Anda.

2. License Generation

POST/api/partners/licenses

Digunakan oleh Partner untuk menggenerate/membeli license key baru bagi usernya. Saldo (Deposit) partner akan otomatis terpotong sesuai harga Plan (Basic/Pro/Lifetime) x Quantity.

Payload JSON:

{
  "plan_id": 2,          // Int ID plan (misal 2 untuk Pro)
  "quantity": 1          // Jumlah key yang ingin di-generate
}

Response JSON (200 OK):

{
  "success": true,
  "licenses": [
    {
      "key": "OTLV-XXXX-YYYY-ZZZZ",
      "plan_id": 2,
      "max_accounts": 5,
      "expires_at": "2026-04-03T18:00:00.000Z"
    }
  ]
}

3. Dashboard Statistics

GET/api/dashboard

Mengambil kumpulan data statistik Partner, termasuk Sisa Saldo (Deposit), jumlah Lisensi Aktif, Laba Kotor Lisensi, dan Total Pengguna/Customer dari Partner tersebut.

Response JSON (200 OK):

{
  "stats": {
    "totalUsers": 124,
    "activeLicenses": 98,
    "userGrowth": "+12%",
    "revenue": "Rp 24,000,000", /* Total lisensi yg di-generate / profit partner */
    "partnerBalance": 4500000 /* Detail khusus jika role = partner */
  }
}