@extends('root') @section('title', 'Reseller API Documentation') @section('content')
@include('components.breadcrumb', [ 'title' => 'Reseller API Documentation', 'links' => [ ['url' => route('dashboard'), 'label' => 'Dashboard'], ['url' => route('documentation.index'), 'label' => 'API Documentation'], ], 'current' => 'Reseller API' ])

Reseller API Documentation

Dokumentasi lengkap API khusus untuk Reseller. Endpoint untuk mengelola margin, monitoring transaksi, dan client management.

Kembali
Reseller API Overview

API ini digunakan oleh Reseller untuk mengelola margin dedicated number, memonitor transaksi client, dan melihat pendapatan dari margin.

  • Base URL: {{ url('/api') }}
  • Format: JSON
  • Authentication: Bearer Token
Fitur Reseller API
Margin Management
  • Set margin per nomor (fixed/percent)
  • Update margin yang sudah ada
  • Hapus margin
Revenue Report
  • Total pendapatan margin
  • Laporan bulanan
  • History transaksi
Client Management
  • Lihat daftar client
  • Detail client
  • Statistik per client
Monitor Assignments
  • Lihat nomor yang di-assign ke client
  • Track status assignment
Authentication
Reseller menggunakan Bearer Token yang dikirim via HTTP Header.
Header yang Diperlukan
Authorization: Bearer {your_reseller_token}
Content-Type: application/json
Contoh Request
curl -X GET {{ url('/api/reseller/number-margins') }} \
  -H "Authorization: Bearer your_token_here" \
  -H "Content-Type: application/json"
Number Margin Management API
GET /api/reseller/number-margins

Deskripsi: Melihat daftar margin yang sudah di-set

Response:
{
  "status": true,
  "data": [
    {
      "id": 1,
      "waba_pool_id": 5,
      "phone_number": "628123456789",
      "base_price": 500000,
      "margin_amount": 50000,
      "margin_percent": 0,
      "final_price": 550000,
      "is_active": true
    }
  ]
}
POST /api/reseller/number-margins

Deskripsi: Menambahkan margin untuk nomor dedicated

Request Body (Fixed Amount):
{
  "waba_pool_id": 5,
  "margin_amount": 50000
}
Request Body (Percentage):
{
  "waba_pool_id": 5,
  "margin_percent": 10
}
Response Success:
{
  "status": true,
  "message": "Margin berhasil disimpan",
  "data": {
    "id": 3,
    "waba_pool_id": 5,
    "margin_amount": 50000,
    "margin_percent": 0,
    "is_active": true
  }
}
PUT /api/reseller/number-margins/{id}

Deskripsi: Mengubah margin yang sudah ada

Request Body:
{
  "margin_amount": 75000,
  "is_active": true
}
DELETE /api/reseller/number-margins/{id}

Deskripsi: Menghapus margin

Perhitungan Margin
Fixed Amount
Base Price:     Rp 500.000
Margin Amount:  Rp  50.000
─────────────────────────
Total Price:    Rp 550.000  ← Dibayar client
Percentage
Base Price:       Rp 500.000
Margin (10%):     Rp  50.000
─────────────────────────
Total Price:      Rp 550.000  ← Dibayar client
Dedicated Number Monitoring API
GET /api/reseller/dedicated-numbers

Deskripsi: Melihat nomor yang di-assign ke client di bawah reseller

Response:
{
  "status": true,
  "data": [
    {
      "id": 1,
      "client_id": 10,
      "client_name": "PT Client Satu",
      "phone_number": "628123456789",
      "label": "Nomor CS Utama",
      "status": "active",
      "price": 550000,
      "assigned_at": "2025-12-01T10:00:00Z"
    }
  ]
}
GET /api/reseller/dedicated-numbers/available

Deskripsi: Melihat nomor yang tersedia dengan harga termasuk margin

Transactions & Revenue Report API
GET /api/reseller/dedicated-numbers/transactions

Deskripsi: Melihat riwayat transaksi assign nomor

Query Parameters:
date_fromFilter dari tanggal
date_toFilter sampai tanggal
client_idFilter berdasarkan client
Response:
{
  "status": true,
  "data": {
    "transactions": [
      {
        "id": 101,
        "client_name": "PT Client Satu",
        "phone_number": "628123456789",
        "type": "assign",
        "base_price": 500000,
        "margin": 50000,
        "total_amount": 550000,
        "created_at": "2025-12-01T10:00:00Z"
      }
    ]
  }
}
GET /api/reseller/dedicated-numbers/report

Deskripsi: Laporan pendapatan margin

Response:
{
  "status": true,
  "data": {
    "total_margin_earned": 1250000,
    "formatted_margin": "Rp 1.250.000",
    "total_transactions": 15,
    "active_assignments": 12
  }
}
Client Management API
GET /api/reseller/clients

Deskripsi: Melihat daftar client di bawah reseller

Response:
{
  "status": true,
  "data": [
    {
      "id": 10,
      "name": "PT Client Satu",
      "email": "client1@example.com",
      "balance": 1500000,
      "dedicated_numbers_count": 2,
      "status": "active"
    }
  ]
}
Ringkasan Endpoint Reseller
Method Endpoint Deskripsi
GET /api/reseller/number-margins Lihat margin yang di-set
POST /api/reseller/number-margins Tambah margin baru
PUT /api/reseller/number-margins/{id} Update margin
DELETE /api/reseller/number-margins/{id} Hapus margin
GET /api/reseller/dedicated-numbers Lihat assignment client
GET /api/reseller/dedicated-numbers/transactions History transaksi
GET /api/reseller/dedicated-numbers/report Laporan pendapatan
GET /api/reseller/clients Daftar client
@endsection