Icyriel API

Dokumentasi API reseller. Integrasikan sistem kamu untuk top up, cek produk, dan kelola pesanan secara otomatis.

Mulai dari mana?

Semua request pakai header X-API-KEY. Dapetin API key dari admin.

Base URL: https://api.icyriel.id

Untuk test tanpa potong saldo, tambahkan header X-ENVIRONMENT: sandbox.

Format response standar:

Response Format
{
  "success": true,
  "data": { ... }
}

// atau kalau error:
{
  "success": false,
  "error": "Pesan error"
}
🔑

Autentikasi

POST/api/reseller/v1/auth

Login pakai API key + secret. Response-nya token yang valid 1 jam. Pakai token ini di header untuk request lain.

Request Body

ParameterTipeWajibKeterangan
api_keystringYaAPI key dari admin
api_secretstringYaAPI secret dari admin

Response

JSON
{
  "success": true,
  "data": {
    "token": "a1b2c3d4e5f6...",
    "expires_at": "2026-09-07T12:00:00Z"
  }
}
cURL
curl -X POST https://api.icyriel.id/api/reseller/v1/auth \
  -H "Content-Type: application/json" \
  -d '{"api_key": "YOUR_KEY", "api_secret": "YOUR_SECRET"}'
💰

Cek Saldo

GET/api/reseller/v1/balance

Ambil saldo akun kamu. Balikannya saldo dalam Rupiah.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "balance": 150000,
    "currency": "IDR"
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/balance \
  -H "X-API-KEY: api_key_kamu"
📦

Daftar Produk

GET/api/reseller/v1/products

List semua produk yang aktif. Bisa filter per kategori. Tiap produk punya harga per tier (bronze, silver, gold, platinum).

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Query Parameters

ParameterTipeWajibKeterangan
categorystringOpsionalSlug kategori (misal: pulsa, game)

Response

JSON
{
  "success": true,
  "data": {
    "products": [
      {
        "product_code": "TELKOM5",
        "product_name": "Telkomsel 5.000",
        "price_bronze": 5500,
        "price_silver": 5300,
        "price_gold": 5100,
        "price_platinum": 4900,
        "category": "pulsa"
      }
    ]
  }
}
cURL
# Semua produk
curl https://api.icyriel.id/api/reseller/v1/products \
  -H "X-API-KEY: api_key_kamu"

# Filter kategori
curl "https://api.icyriel.id/api/reseller/v1/products?category=pulsa" \
  -H "X-API-KEY: api_key_kamu"
🛒

Buat Pesanan

POST/api/reseller/v1/order

Bikin pesanan baru. Saldo dipotong otomatis kalau pakai metode balance. Kalau pakai QRIS, kamu dapet payment_url untuk bayar.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu
X-ENVIRONMENTstringOpsionalsandbox

Request Body

ParameterTipeWajibKeterangan
product_codestringYaKode produk (contoh: TELKOM5)
target_idstringYaNomor tujuan / ID game
zone_idstringOpsionalZone ID (kalau ada)
payment_methodstringOpsionalbalance atau qris (default: balance)

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "abc-123-def",
    "status": "processing",
    "product_code": "TELKOM5",
    "target_id": "08123456789",
    "amount": 5500
  }
}
cURL
curl -X POST https://api.icyriel.id/api/reseller/v1/order \
  -H "X-API-KEY: api_key_kamu" \
  -H "Content-Type: application/json" \
  -d '{
    "product_code": "TELKOM5",
    "target_id": "08123456789",
    "payment_method": "balance"
  }'
🔍

Cek Status Pesanan

GET/api/reseller/v1/order/:id

Cek status pesanan berdasarkan order ID. Status bisa: pending, processing, success, atau failed.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "abc-123-def",
    "status": "success",
    "product_code": "TELKOM5",
    "product_name": "Telkomsel 5.000",
    "target_id": "08123456789",
    "amount": 5500,
    "created_at": "2026-09-07T10:30:00Z",
    "updated_at": "2026-09-07T10:30:15Z"
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/order/abc-123-def \
  -H "X-API-KEY: api_key_kamu"
📋

Riwayat Transaksi

GET/api/reseller/v1/transactions

List semua transaksi kamu. Bisa filter status dan pakai pagination.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Query Parameters

ParameterTipeWajibKeterangan
pagenumberOpsionalHalaman (default: 1)
limitnumberOpsionalJumlah per halaman (default: 20, max: 100)
statusstringOpsionalFilter: pending, processing, success, failed

Response

JSON
{
  "success": true,
  "data": {
    "transactions": [
      {
        "order_id": "abc-123-def",
        "status": "success",
        "product_code": "TELKOM5",
        "product_name": "Telkomsel 5.000",
        "target_id": "08123456789",
        "amount": 5500,
        "payment_method": "balance",
        "created_at": "2026-09-07T10:30:00Z"
      }
    ],
    "total": 45,
    "page": 1,
    "limit": 20
  }
}
cURL
curl "https://api.icyriel.id/api/reseller/v1/transactions?page=1&limit=10&status=success" \
  -H "X-API-KEY: api_key_kamu"
🔔

Webhook

POST/api/reseller/v1/webhook

Endpoint untuk terima update status pesanan dari sistem eksternal. Diamankan pakai X-WEBHOOK-SECRET header.

Headers

ParameterTipeWajibKeterangan
X-WEBHOOK-SECRETstringYasecret_kamu

Request Body

ParameterTipeWajibKeterangan
order_idstringYaID pesanan
statusstringYaStatus baru: success atau failed

Response

JSON
{
  "success": true
}
cURL
curl -X POST https://api.icyriel.id/api/reseller/v1/webhook \
  -H "X-WEBHOOK-SECRET: secret_kamu" \
  -H "Content-Type: application/json" \
  -d '{"order_id": "abc-123", "status": "success"}'
🎁

Harga Gift Starlight

GET/api/reseller/v1/gift/pricing

Ambil harga Gift Starlight (Basic & Premium) dari sistem ICYNC. Harga bersifat dinamis dan bisa berubah sewaktu-waktu.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "basic": { "price": 100000, "name": "Starlight Basic" },
    "premium": { "price": 300000, "name": "Starlight Premium" }
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/gift/pricing \
  -H "X-API-KEY: ***
🎁

Buat Pesanan Gift

POST/api/reseller/v1/gift/order

Bikin pesanan Gift Starlight. Pilih Basic atau Premium. Saldo dipotong otomatis atau bayar pakai QRIS.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu
X-ENVIRONMENTstringOpsionalsandbox

Request Body

ParameterTipeWajibKeterangan
target_idstringYaID user Mobile Legends tujuan
zone_idstringOpsionalZone ID tujuan
product_codestringYasl_basic atau sl_prem
target_nickstringOpsionalNickname target (default: target_id)
buyer_wastringOpsionalNomor WhatsApp pembeli
payment_methodstringOpsionalbalance atau qris (default: balance)
gateway_channelstringOpsionalChannel pembayaran Duitku (wajib kalau qris)

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "req-abc-123",
    "status": "processing",
    "product": "sl_basic",
    "target_id": "123456789",
    "amount": 100000
  }
}
cURL
curl -X POST https://api.icyriel.id/api/reseller/v1/gift/order \
  -H "X-API-KEY: *** \
  -H "Content-Type: application/json" \
  -d '{
    "target_id": "123456789",
    "zone_id": "2001",
    "product_code": "sl_basic",
    "target_nick": "PlayerName",
    "buyer_wa": "08123456789",
    "payment_method": "balance"
  }'
🔍

Cek Status Gift Order

GET/api/reseller/v1/gift/order/:id

Cek status pesanan Gift Starlight. Status bisa: pending_payment, paid, processing, success, failed.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "req-abc-123",
    "status": "paid",
    "product": "sl_basic",
    "target_id": "123456789",
    "target_nick": "PlayerName",
    "amount": 100000,
    "created_at": "2026-09-07T10:30:00Z",
    "updated_at": "2026-09-07T10:30:15Z"
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/gift/order/req-abc-123 \
  -H "X-API-KEY: ***
🏆

Slot Squad Verif

GET/api/reseller/v1/squad/slots

List slot Squad Verification yang tersedia. Data diambil dari Google Apps Script (GAS).

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "slots": [
      { "squad_name": "Squad Alpha", "available": true },
      { "squad_name": "Squad Beta", "available": false }
    ]
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/squad/slots \
  -H "X-API-KEY: ***
🏆

Buat Pesanan Squad Verif

POST/api/reseller/v1/squad/order

Bikin pesanan Squad Verification. Pilih durasi 5/7/15/30/60 hari. Saldo dipotong otomatis atau bayar pakai QRIS.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu
X-ENVIRONMENTstringOpsionalsandbox

Request Body

ParameterTipeWajibKeterangan
squad_namestringYaNama squad yang akan diverifikasi
durationnumberYaDurasi: 5, 7, 15, 30, atau 60 hari
target_idstringOpsionalID user (opsional)
zone_idstringOpsionalZone ID (opsional)
payment_methodstringOpsionalbalance atau qris (default: balance)
gateway_channelstringOpsionalChannel pembayaran Duitku (wajib kalau qris)

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "sqd-abc-123",
    "status": "processing",
    "squad_name": "Squad Alpha",
    "duration": 30,
    "amount": 55000
  }
}
cURL
curl -X POST https://api.icyriel.id/api/reseller/v1/squad/order \
  -H "X-API-KEY: *** \
  -H "Content-Type: application/json" \
  -d '{
    "squad_name": "Squad Alpha",
    "duration": 30,
    "payment_method": "balance"
  }'
🔍

Cek Status Squad Verif

GET/api/reseller/v1/squad/order/:id

Cek status pesanan Squad Verification. Status bisa: pending_payment, processing, success, failed.

Headers

ParameterTipeWajibKeterangan
X-API-KEYstringYaapi_key_kamu

Response

JSON
{
  "success": true,
  "data": {
    "order_id": "sqd-abc-123",
    "status": "processing",
    "squad_name": "Squad Alpha",
    "duration": 30,
    "amount": 55000,
    "created_at": "2026-09-07T10:30:00Z",
    "updated_at": "2026-09-07T10:30:15Z"
  }
}
cURL
curl https://api.icyriel.id/api/reseller/v1/squad/order/sqd-abc-123 \
  -H "X-API-KEY: ***

Butuh bantuan integrasi? Hubungi admin via WhatsApp

HUBUNGI CS