Virtual OTP API

Nokos OTP

Streaming & Apps

Premium App

Pterodactyl Panel

Panel Pterodactyl

Bot & Digital Tools

Script / Digital

Authentication

Semua request wajib menyertakan API key di header. Generate API key di halaman profil reseller Anda.

// Headers wajib untuk setiap request
{
  "x-api-key": "AOC-YOUR_SECRET_KEY_HERE",
  "Content-Type": "application/json"
}
GET

/api/v1/nokos/services

Dapatkan daftar semua layanan OTP aktif beserta harga dan ID layanan yang dibutuhkan untuk order.

Response

{
  "success": true,
  "count": 4,
  "data": [
    {
      "id": "prod_abc123",
      "name": "WhatsApp OTP",
      "otpServiceId": "whatsapp",
      "price": 1500,       // Harga per nomor (termasuk margin)
      "isActive": true
    },
    {
      "id": "prod_def456",
      "name": "Telegram OTP",
      "otpServiceId": "telegram",
      "price": 1200,
      "isActive": true
    }
  ]
}
GET

/api/v1/nokos/rates/:serviceId

Ambil daftar negara dan operator yang tersedia untuk layanan OTP tertentu, beserta harga per operator.

💡 serviceId = nilai field otpServiceId dari endpoint GET /nokos/services, contoh: whatsapp

Path Parameter

ParameterTipeWajibKeterangan
serviceIdStringYaID layanan OTP (whatsapp, telegram, google, dll)

Response

{
  "success": true,
  "service": "whatsapp",
  "data": [
    {
      "countryName": "Indonesia",
      "countryCode": "id",
      "operators": [
        {
          "operatorName": "any",
          "cost": 1.2,       // Harga (dalam unit)
          "count": 5842    // Stok nomor tersedia
        }
      ]
    }
  ]
}
POST

/api/v1/nokos/order

Order nomor virtual OTP untuk layanan dan negara tertentu. Saldo akan dipotong dan nomor virtual langsung dikembalikan.

⚠️ Gunakan paymentType: "direct" untuk OTP. QRIS tidak didukung karena proses harus real-time.

Request Body

ParameterTipeWajibKeterangan
productIdStringYaID produk OTP dari /nokos/services
countryStringYaKode negara 2 huruf, contoh: id, us
operatorStringOptionalNama operator (default: any)
{
  "productId": "prod_abc123",
  "country": "id",
  "operator": "any"
}

Response (Sukses)

{
  "success": true,
  "orderId": "OTP-XYZ789",
  "phoneNumber": "+62812345678",  // Nomor virtual yang diterima
  "status": "pending",             // Menunggu kode OTP masuk
  "expiresAt": "2024-01-01T12:10:00Z"
}
GET

/api/v1/nokos/order/:orderId

Cek status order OTP dan ambil kode SMS yang sudah masuk. Poll endpoint ini tiap 3–5 detik hingga status: "completed".

✅ Bila status = completed, field otpCode berisi kode SMS yang berhasil diterima.

Response

{
  "success": true,
  "orderId": "OTP-XYZ789",
  "phoneNumber": "+62812345678",
  "status": "completed",
  "otpCode": "123456",          // Kode SMS OTP
  "service": "whatsapp"
}
POST

/api/v1/nokos/order/:orderId/cancel

Batalkan order nomor OTP yang masih berstatus pending. Saldo akan dikembalikan jika pembatalan berhasil.

⛔ Order yang sudah completed tidak bisa dibatalkan dan saldo tidak dikembalikan.

Response (Sukses)

{
  "success": true,
  "message": "Order cancelled. Balance refunded.",
  "refundAmount": 1500
}
GET

/api/v1/products?type=premium_app

Ambil daftar produk Premium App yang tersedia (Netflix, Spotify, YouTube Premium, dll) beserta stok tersisa.

💡 stock = -1 berarti unlimited. stock = 0 berarti habis / sold out.

Response

{
  "success": true,
  "count": 8,
  "data": [
    {
      "id": "prod_netflix_1m",
      "name": "Netflix Premium 1 Bulan",
      "price": 45000,
      "resellerPrice": 50000,  // Harga + margin reseller
      "stock": 24,             // Stok akun tersedia
      "appPlatform": "Netflix"
    }
  ]
}
POST

/api/v1/order

Order akun premium app. Setelah berhasil, data akun (email + password) langsung dikembalikan dalam response.

Request Body

ParameterTipeWajibKeterangan
productIdStringYaID produk dari /products?type=premium_app
paymentTypeStringYa"direct" (saldo) atau "qris"
voucherCodeStringOptionalKode voucher diskon
{
  "productId": "prod_netflix_1m",
  "paymentType": "direct"
}

Response (Sukses - Direct)

{
  "success": true,
  "orderId": "API-ABC999",
  "status": "completed",
  "data": {
    "accountEmail": "user@netflix.com",
    "accountPassword": "P@ssw0rd123",
    "specialNotes": "Profil ke-2, jangan ubah bahasa"
  }
}
GET

/api/v1/products?type=pterodactyl

Ambil semua paket Server Pterodactyl yang tersedia, beserta spesifikasi RAM, disk, dan CPU.

Response

{
  "success": true,
  "data": [
    {
      "id": "prod_nodejs_1gb",
      "name": "Node.js Bot 1GB",
      "price": 15000,
      "resellerPrice": 20000,
      "specs": {
        "memory": 1024,    // MB
        "disk": 5120,      // MB
        "cpu": 100,        // %
        "databases": 1,
        "backups": 1
      }
    }
  ]
}
POST

/api/v1/order

Deploy server Pterodactyl secara otomatis. Username dan password panel bisa kamu tentukan sendiri atau sistem akan generate otomatis.

Request Body

ParameterTipeWajibKeterangan
productIdStringYaID produk dari /products?type=pterodactyl
paymentTypeStringYa"direct" atau "qris"
serverUsernameStringOptionalUsername login panel (default: username akun kamu)
serverPasswordStringOptionalPassword panel (default: random 12 karakter)
voucherCodeStringOptionalKode voucher diskon
{
  "productId": "prod_nodejs_1gb",
  "paymentType": "direct",
  "serverUsername": "user_bot_123",
  "serverPassword": "MySuperSecretPass!"
}

Response (Sukses)

{
  "success": true,
  "orderId": "API-PTR001",
  "status": "completed",
  "data": {
    "panelUrl": "https://panel.yourdomain.com",
    "serverUsername": "user_bot_123",
    "serverPassword": "MySuperSecretPass!",
    "serverId": "ptero_srv_9f3a"
  }
}
GET

/api/v1/products?type=script

Ambil daftar produk script / digital download yang tersedia. Setelah order, link download langsung dikembalikan.

💡 Semua produk script bersifat lifetime license. Stok selalu -1 (unlimited).
{
  "success": true,
  "data": [
    {
      "id": "prod_bot_wa",
      "name": "WhatsApp Bot Reseller v2",
      "price": 75000,
      "resellerPrice": 85000,
      "stock": -1,
      "type": "script"
    }
  ]
}
POST

/api/v1/order

Beli lisensi script. Link download dan instruksi instalasi langsung dikembalikan setelah order berhasil.

Request Body

ParameterTipeWajibKeterangan
productIdStringYaID produk dari /products?type=script
paymentTypeStringYa"direct" atau "qris"
voucherCodeStringOptionalKode voucher diskon
{
  "productId": "prod_bot_wa",
  "paymentType": "direct"
}

Response (Sukses)

{
  "success": true,
  "orderId": "API-SCR442",
  "status": "completed",
  "data": {
    "downloadUrl": "https://cdn.yourdomain.com/scripts/bot-wa-v2.zip",
    "instructions": "1. Extract zip\n2. npm install\n3. node index.js",
    "licenseKey": "LIC-XXXXXXXX-XXXXXXXX"
  }
}
GET

/api/v1/account

Cek saldo dan informasi akun reseller kamu.

{
  "success": true,
  "data": {
    "username": "AlxzyReseller",
    "role": "reseller",
    "balance": 150000,
    "margin": 5000
  }
}
POST

/api/v1/deposit

Generate QRIS untuk top-up saldo reseller kamu.

ParameterTipeWajibKeterangan
amountNumberYaJumlah deposit dalam Rupiah (min Rp 1.000)
{
  "success": true,
  "data": {
    "depositId": "DEP-XYZ123",
    "amount": 50000,
    "qris_data": "00020101021126570011ID.ESPAY...",
    "expiresAt": "2024-01-01T12:15:00Z"
  }
}
GET

/api/v1/order/:orderId

Cek status dan detail order berdasarkan Order ID yang didapat dari endpoint POST /order.

{
  "success": true,
  "data": {
    "orderId": "API-XYZ123",
    "status": "completed",  // pending | completed | failed | cancelled
    "productName": "Netflix Premium 1 Bulan",
    "paidAt": "2024-01-01T12:00:00Z",
    "data": { /* hasil sesuai kategori produk */ }
  }
}
AutoOrderCloud API Docs — Built for resellers 🚀