API Documentation

Official REST API Documentation for ZakzzNokos

Authentication & Account

Satu akun • satu API Key • satu saldo — berlaku untuk semua layanan.

API Key

Login untuk mendapatkan API Key pribadi Anda.

Authorization
Authorization: Bearer YOUR_API_KEY

Sertakan header ini pada setiap request ke semua layanan.

Balance Endpoint
GET /api/account/balance

Saldo akun dalam satuan IDR — berlaku untuk semua layanan.

Rate Limit
300Request / Minute

Endpoint POST /orders/create dibatasi 20 req/menit. Retry-After: 60 detik.

Balance Response
200 OK
{
  "success": true,
  "data": {
    "currency": "IDR",
    "balance": 15768
  }
}
Order Status
Nokos Server 1 /api/v1
PENDINGNomor didapat — menunggu OTP masuk. Poll GET /orders/{id}.
SUCCESSOTP diterima (otp_code terisi) atau order selesai.
CANCELLEDDibatalkan user setelah 3 menit — saldo direfund 100%.
EXPIREDOTP tidak masuk dalam 20 menit — saldo direfund 100%.
Nokos Server 2 /api
ACTIVEMenunggu OTP — Nomor telepon berhasil didapat. Sistem sedang menunggu OTP masuk dari provider. Poll GET /orders/{id} setiap 5 detik.
OTP_RECEIVEDOTP Diterima — OTP berhasil diterima. Field otp_code dan otp_message sudah terisi. Gunakan OTP lalu panggil POST /orders/{id}/complete.
COMPLETEDSelesai — Order telah diselesaikan. OTP sudah digunakan. Status ini bersifat final.
CANCELEDDibatalkan — Order dibatalkan oleh user. Saldo dikembalikan 100%. Cancel hanya bisa dilakukan setelah 3 menit dari pembuatan order dan sebelum order expired (20 menit).
EXPIREDKedaluwarsa — Order kedaluwarsa karena OTP tidak masuk dalam 20 menit. Untuk layanan Nokos/OTP (Server 1 & 2), saldo direfund 100% secara otomatis sesuai nominal yang dibayarkan. Berbeda dengan App Premium yang tidak mendapatkan refund.
App Premium /api/app
PENDINGOrder dibuat — menunggu diproses provider.
PROCESSSedang diproses provider (termasuk setelah anti-spam 409).
SUCCESSSelesai — data akun (username/password) tersedia.
FAILEDGagal diproses — saldo dikembalikan otomatis.
REFUNDEDOrder digagalkan — saldo dikembalikan.
Global Error Codes
400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 422 Unprocessable Entity 429 Too Many Requests 500 Internal Server Error
Server 2 — Error Code String
BAD_REQUESTHTTP 400 · Parameter tidak valid atau format salah
INVALID_PRODUCTHTTP 400 · product_id tidak ditemukan — cek via GET /products
TOO_EARLYHTTP 400 · Cancel terlalu cepat (tunggu 3 menit sejak order)
UNAUTHORIZEDHTTP 401 · API Key tidak valid atau tidak disertakan
FORBIDDENHTTP 403 · Akun tidak aktif — hubungi admin
INSUFFICIENT_BALANCEHTTP 403 · Saldo tidak mencukupi — deposit terlebih dahulu
NOT_FOUNDHTTP 404 · Order tidak ditemukan atau bukan milik akun ini
CONFLICTHTTP 409 · Race condition — order sudah diproses sistem, coba lagi
OUT_OF_STOCKHTTP 422 · Stock produk kosong — coba product_id lain
PROVIDER_ERRORHTTP 422 · Provider menolak request (bukan masalah stock)
RATE_LIMITHTTP 429 · Terlalu banyak request — tunggu 1 menit
TIMEOUTHTTP 503 · Koneksi ke provider timeout — coba lagi dalam beberapa detik
SERVER_ERRORHTTP 500 · Internal server error — laporkan ke admin

Nokos Server 1 Live

Base URL https://zakzznokos.my.id/api/v1
Live & Aktif. Endpoint di bawah terhubung langsung ke backend Nokos Server 1 yang sedang berjalan. Struktur request/response mengikuti response asli provider setelah diproses (mapping/markup) oleh backend ZakzzNokos.
GET /countries List Countries LIVE

Mengambil daftar seluruh negara yang tersedia. Gunakan country_id sebagai referensi pada endpoint lain.

Endpoint https://zakzznokos.my.id/api/v1/countries
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/v1/countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Countries retrieved successfully",
  "data": [
    {
      "country_id": 6,
      "country_name": "Indonesia"
    },
    {
      "country_id": 7,
      "country_name": "Malaysia"
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 401,
    "details": "API Key tidak valid atau tidak disertakan"
  }
}
GET /services List Services LIVE

Mengambil daftar layanan (aplikasi) untuk sebuah negara beserta harga final (sudah termasuk markup) dan stok.

Endpoint https://zakzznokos.my.id/api/v1/services
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
country_idinteger Ya ID negara dari GET /countries
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/v1/services?country_id=6" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Services retrieved successfully",
  "data": [
    {
      "service_id": "wa",
      "service_name": "WhatsApp",
      "price": 19299,
      "stock": 274974,
      "estimated_time": "1-3 menit"
    },
    {
      "service_id": "tg",
      "service_name": "Telegram",
      "price": 11466,
      "stock": 249929,
      "estimated_time": "1-3 menit"
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 400,
    "details": "Parameter country_id wajib diisi"
  }
}
GET /numbers Check Available Numbers LIVE

Memeriksa ketersediaan nomor untuk kombinasi negara & layanan tertentu sebelum membuat order.

Endpoint https://zakzznokos.my.id/api/v1/numbers
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
country_idinteger Ya ID negara dari GET /countries
service_idstring Ya ID layanan dari GET /services
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/v1/numbers?country_id=6&service_id=wa" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Numbers available",
  "data": {
    "country_id": 6,
    "service_id": "wa",
    "service_name": "WhatsApp",
    "price": 19299,
    "stock": 274974,
    "estimated_time": "1-3 menit"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 422,
    "details": "Stok nomor untuk layanan ini sedang kosong"
  }
}
POST /orders Create Order LIVE

Membuat order baru untuk mendapatkan nomor telepon virtual. Saldo dipotong otomatis sesuai harga final layanan. Order aktif 20 menit.

Endpoint https://zakzznokos.my.id/api/v1/orders
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Content-Typeapplication/jsonYa
Body Request
FieldTipeWajibKeterangan
country_idinteger Ya ID negara dari GET /countries
service_idstring Ya ID layanan dari GET /services
REQUEST BODY · JSON
{
  "country_id": 6,
  "service_id": "wa"
}
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/v1/orders" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country_id":6,"service_id":"wa"}'
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Order created successfully",
  "data": {
    "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
    "status": "PENDING",
    "phone_number": "+6281234567890",
    "price": 19299,
    "otp_code": null,
    "otp_message": null,
    "expired_at": "2026-08-11T10:20:00.000Z",
    "created_at": "2026-08-11T10:00:00.000Z"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 403,
    "details": "Saldo tidak mencukupi untuk membuat order"
  }
}
GET /orders/{id} Get Order Detail / OTP LIVE

Mengambil detail order berdasarkan ID sekaligus memeriksa OTP. Poll endpoint ini setiap 5 detik hingga otp_code terisi. Status berubah menjadi SUCCESS begitu OTP tersedia.

Endpoint https://zakzznokos.my.id/api/v1/orders/{id}
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}stringYaID order dari response POST /orders (ObjectId MongoDB)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/v1/orders/65d8f3a1b2c3d4e5f6a7b8c9" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Order retrieved successfully",
  "data": {
    "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
    "status": "SUCCESS",
    "phone_number": "+6281234567890",
    "otp_code": "123456",
    "otp_message": "Your WhatsApp code is 123456",
    "price": 19299,
    "expired_at": "2026-08-11T10:20:00.000Z",
    "created_at": "2026-08-11T10:00:00.000Z"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 404,
    "details": "Order tidak ditemukan atau bukan milik akun ini"
  }
}
GET /history Transaction History LIVE

Mengambil riwayat transaksi order pada Server 1, diurutkan dari yang terbaru.

Endpoint https://zakzznokos.my.id/api/v1/history
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
pageinteger Tidak Nomor halaman (default: 1)
limitinteger Tidak Jumlah item per halaman (default: 20)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/v1/history?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "History retrieved successfully",
  "data": [
    {
      "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
      "service": "WhatsApp Indonesia",
      "status": "SUCCESS",
      "price": 19299,
      "created_at": "2026-08-11T10:00:00.000Z"
    },
    {
      "order_id": "65d8f3a1b2c3d4e5f6a7b8c8",
      "service": "Telegram Indonesia",
      "status": "CANCELLED",
      "price": 11466,
      "created_at": "2026-08-10T16:12:00.000Z"
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 401,
    "details": "API Key tidak valid atau tidak disertakan"
  }
}
POST /orders/{id}/cancel Cancel Order LIVE

Membatalkan order yang masih aktif. Saldo dikembalikan 100%. Cancel hanya bisa dilakukan setelah 3 menit sejak order dibuat dan sebelum order expired.

Endpoint https://zakzznokos.my.id/api/v1/orders/{id}/cancel
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}stringYaID order yang akan dibatalkan (contoh: 65d8f3a1b2c3d4e5f6a7b8c9)
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/v1/orders/65d8f3a1b2c3d4e5f6a7b8c9/cancel" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Order cancelled successfully",
  "data": {
    "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
    "status": "CANCELLED",
    "price": 19299
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 400,
    "details": "Order belum bisa dibatalkan, tunggu beberapa saat lagi"
  }
}

Nokos Server 2 Live

Base URL https://zakzznokos.my.id/api
Live & Aktif. Endpoint di bawah terhubung langsung ke backend Nokos Server 2 yang sedang berjalan. Struktur request/response mengikuti response asli provider setelah diproses (mapping/markup) oleh backend ZakzzNokos.
GET / Root Info PUBLIC

Informasi dasar API Server 2 beserta daftar endpoint. Tidak memerlukan API Key.

Endpoint https://zakzznokos.my.id/api/
Authorization Tidak diperlukan
Headers
HeaderValueWajib
Authorization— (opsional, diabaikan)Tidak
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "ZakzzNokos API Server 2 is running",
  "version": "1.0",
  "base_url": "https://zakzznokos.my.id/api",
  "auth": "Authorization: Bearer YOUR_API_KEY  —or—  ?api_key=YOUR_API_KEY",
  "flow": [
    "GET /api/countries",
    "GET /api/services?countries_id={id}",
    "GET /api/products?countries_id={id}&services_id={id}",
    "POST /api/orders/create",
    "GET /api/orders/{id}",
    "POST /api/orders/{id}/complete | /cancel | /resend"
  ],
  "endpoints": {
    "catalog": [
      "/api/countries",
      "/api/services",
      "/api/products"
    ],
    "account": [
      "/api/account/balance"
    ],
    "orders": [
      "/api/orders/create",
      "/api/orders/list",
      "/api/orders/active",
      "/api/orders/{id}",
      "/api/orders/{id}/cancel",
      "/api/orders/{id}/complete",
      "/api/orders/{id}/resend"
    ]
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "SERVER_ERROR",
    "message": "Terjadi kesalahan server"
  }
}
GET /health Health Check PUBLIC

Pengecekan status layanan. Tidak memerlukan API Key.

Endpoint https://zakzznokos.my.id/api/health
Authorization Tidak diperlukan
Headers
HeaderValueWajib
Authorization— (opsional, diabaikan)Tidak
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/health" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "status": "healthy",
  "service": "Nokos Server 2 API",
  "timestamp": "2026-08-11T10:00:00.000Z"
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "SERVER_ERROR",
    "message": "Terjadi kesalahan server"
  }
}
GET /account/balance Get Balance LIVE

Mengambil saldo akun dalam satuan IDR. Berlaku untuk semua layanan.

Endpoint https://zakzznokos.my.id/api/account/balance
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/account/balance" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "currency": "IDR",
    "balance": 15768
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API Key tidak valid atau tidak terdaftar"
  }
}
GET /countries List Countries LIVE

Mengambil daftar negara yang tersedia. Gunakan field id sebagai countries_id pada endpoint lain.

Endpoint https://zakzznokos.my.id/api/countries
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": [
    {
      "id": 7,
      "code": "ID",
      "name": "Indonesia",
      "dial_code": "+62",
      "emoji": "🇮🇩",
      "active": true
    },
    {
      "id": 8,
      "code": "MY",
      "name": "Malaysia",
      "dial_code": "+60",
      "emoji": "🇲🇾",
      "active": true
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API Key tidak valid atau tidak terdaftar"
  }
}
GET /services List Services LIVE

Mengambil daftar layanan. Gunakan field id sebagai services_id (alias platform_id) pada GET /products.

Endpoint https://zakzznokos.my.id/api/services
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
countries_idinteger Tidak ID negara dari GET /countries (opsional)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/services?countries_id=7" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": [
    {
      "id": 1,
      "code": "whatsapp",
      "name": "WhatsApp",
      "active": true
    },
    {
      "id": 2,
      "code": "telegram",
      "name": "Telegram",
      "active": true
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API Key tidak valid atau tidak terdaftar"
  }
}
GET /products List Products LIVE

Mengambil produk, stok, dan harga final (sudah termasuk markup). Gunakan field id sebagai product_id saat membuat order. Field available = stok saat ini. Response juga menyertakan field tambahan provider (catalog_product_id, operator_id, operator_name).

Endpoint https://zakzznokos.my.id/api/products
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
countries_idinteger Tidak ID negara (opsional)
services_idinteger Tidak ID layanan / platform (opsional)
pageinteger Tidak Nomor halaman (opsional)
limitinteger Tidak Item per halaman (default 100, maks 1000)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/products?countries_id=7&services_id=1" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": [
    {
      "id": 1369310681,
      "name": "WhatsApp - 🇮🇩 Indonesia",
      "country_id": 7,
      "platform_id": 1,
      "available": 4865,
      "price": 2321,
      "active": true,
      "catalog_product_id": 450,
      "operator_id": null,
      "operator_name": null
    }
  ],
  "meta": {
    "count": 1,
    "total": 1
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "SERVER_ERROR",
    "message": "Gagal mengambil data produk dari provider"
  }
}
POST /orders/create Create Order LIVE

Membuat order baru untuk mendapatkan nomor virtual dan OTP. Saldo dipotong sesuai harga produk (sudah markup). Order aktif 20 menit.

Endpoint https://zakzznokos.my.id/api/orders/create
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Content-Typeapplication/jsonYa
Body Request
FieldTipeWajibKeterangan
product_idinteger Ya ID produk dari GET /products
country_idinteger Tidak ID negara (disarankan agar akurat)
platform_idinteger Tidak ID layanan / platform (disarankan)
REQUEST BODY · JSON
{
  "product_id": 1369310681,
  "country_id": 7,
  "platform_id": 1
}
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/orders/create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":1369310681,"country_id":7,"platform_id":1}'
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "id": 31415926,
    "status": "ACTIVE",
    "created_at": "2026-08-11T10:00:00.000Z",
    "product_id": 1369310681,
    "phone_number": "+6281234567890",
    "amount": 2321,
    "otp_code": null,
    "otp_message": null,
    "otp_received_at": null,
    "expires_at": "2026-08-11T10:20:00.000Z",
    "canceled_at": null,
    "failed_reason": null
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Saldo tidak mencukupi. Dibutuhkan Rp2.321, saldo Anda Rp1.000."
  }
}
GET /orders/active Active Orders LIVE

Mengambil semua order yang sedang aktif (ACTIVE atau OTP_RECEIVED) milik akun Anda.

Endpoint https://zakzznokos.my.id/api/orders/active
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/orders/active" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": [
    {
      "id": 31415926,
      "status": "ACTIVE",
      "created_at": "2026-08-11T10:00:00.000Z",
      "product_id": 1369310681,
      "phone_number": "+6281234567890",
      "amount": 2321,
      "otp_code": null,
      "otp_message": null,
      "otp_received_at": null,
      "expires_at": "2026-08-11T10:20:00.000Z",
      "canceled_at": null,
      "failed_reason": null
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API Key tidak valid atau tidak terdaftar"
  }
}
GET /orders/list Transaction History LIVE

Mengambil riwayat seluruh order Server 2 milik akun Anda, diurutkan dari terbaru.

Endpoint https://zakzznokos.my.id/api/orders/list
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
pageinteger Tidak Nomor halaman (default: 1)
limitinteger Tidak Item per halaman (default 100, maks 500)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/orders/list?page=1&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": [
    {
      "id": 31415926,
      "status": "OTP_RECEIVED",
      "created_at": "2026-08-11T10:00:00.000Z",
      "product_id": 1369310681,
      "phone_number": "+6281234567890",
      "amount": 2321,
      "otp_code": "123456",
      "otp_message": "Your verification code is 123456",
      "otp_received_at": "2026-08-11T10:05:00.000Z",
      "expires_at": "2026-08-11T10:20:00.000Z",
      "canceled_at": null,
      "failed_reason": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 100,
    "count": 1,
    "total": 1
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API Key tidak valid atau tidak terdaftar"
  }
}
GET /orders/{id} Get Order / Check OTP LIVE

Mengambil detail order & OTP berdasarkan ID. Poll setiap 5 detik hingga otp_code terisi.

Endpoint https://zakzznokos.my.id/api/orders/{id}
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}integerYaID order numerik dari POST /orders/create (contoh: 31415926)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/orders/31415926" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "id": 31415926,
    "status": "OTP_RECEIVED",
    "created_at": "2026-08-11T10:00:00.000Z",
    "product_id": 1369310681,
    "phone_number": "+6281234567890",
    "amount": 2321,
    "otp_code": "123456",
    "otp_message": "Your verification code is 123456",
    "otp_received_at": "2026-08-11T10:05:00.000Z",
    "expires_at": "2026-08-11T10:20:00.000Z",
    "canceled_at": null,
    "failed_reason": null
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Order tidak ditemukan"
  }
}
POST /orders/{id}/cancel Cancel Order LIVE

Membatalkan order aktif. Saldo dikembalikan 100%. Cancel tersedia setelah 3 menit sejak order dibuat dan sebelum expired.

Endpoint https://zakzznokos.my.id/api/orders/{id}/cancel
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}integerYaID order numerik yang akan dibatalkan (contoh: 31415926)
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/orders/31415926/cancel" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "order_id": 31415926,
    "status": "CANCELED",
    "refund_amount": 2321,
    "new_balance": 13447
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "TOO_EARLY",
    "message": "Order belum bisa dibatalkan"
  }
}
POST /orders/{id}/complete Finish Order LIVE

Menandai order selesai setelah OTP digunakan agar slot nomor dibebaskan.

Endpoint https://zakzznokos.my.id/api/orders/{id}/complete
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}integerYaID order numerik yang akan diselesaikan (contoh: 31415926)
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/orders/31415926/complete" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "order_id": 31415926,
    "status": "COMPLETED"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Order tidak ditemukan"
  }
}
POST /orders/{id}/resend Resend OTP LIVE

Meminta provider mengirim ulang OTP untuk order yang masih aktif (status ACTIVE).

Endpoint https://zakzznokos.my.id/api/orders/{id}/resend
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}integerYaID order numerik yang akan dikirim ulang OTP-nya (contoh: 31415926)
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/orders/31415926/resend" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "data": {
    "order_id": 31415926,
    "status": "ACTIVE",
    "resent": true
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Order tidak dalam status ACTIVE"
  }
}

App Premium Live

Base URL https://zakzznokos.my.id/api/app
Live & Aktif. Endpoint di bawah terhubung langsung ke backend App Premium yang sedang berjalan. Struktur request/response mengikuti response asli provider setelah diproses (mapping/markup) oleh backend ZakzzNokos.
GET /products List Products LIVE

Mengambil daftar produk App Premium beserta harga final (sudah termasuk markup), stok, dan status.

Endpoint https://zakzznokos.my.id/api/app/products
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
categorystring Tidak Filter berdasarkan kategori (opsional)
pageinteger Tidak Nomor halaman (opsional)
limitinteger Tidak Item per halaman (default 100, maks 500)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/app/products?category=streaming&page=1" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Products retrieved successfully",
  "data": [
    {
      "product_id": "5",
      "product_name": "Spotify 1 Bulan Bergaransi",
      "category": null,
      "thumbnail": "https://cdn.premku.com/img/spotify.png",
      "price": 22200,
      "stock": 12,
      "status": "AVAILABLE",
      "description": "1 BULAN FAMILY PLAN / INDPLAN RANDOM, GARANSI 20 HARI, WAJIB IKUTIN SNK YANG NANTI MUNCUL SETELAH ORDER. JANGAN GANTI EMAIL! GANTI EMAIL = NO GARANSI."
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 401,
    "details": "API Key tidak valid atau tidak disertakan"
  }
}
GET /products/{id} Get Product Detail LIVE

Mengambil detail sebuah produk App Premium berdasarkan product_id.

Endpoint https://zakzznokos.my.id/api/app/products/{id}
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}stringYaproduct_id dari GET /products (contoh: 5)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/app/products/5" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Product retrieved successfully",
  "data": {
    "product_id": "5",
    "product_name": "Spotify 1 Bulan Bergaransi",
    "category": null,
    "thumbnail": "https://cdn.premku.com/img/spotify.png",
    "price": 22200,
    "stock": 12,
    "status": "AVAILABLE",
    "description": "1 BULAN FAMILY PLAN / INDPLAN RANDOM, GARANSI 20 HARI, WAJIB IKUTIN SNK YANG NANTI MUNCUL SETELAH ORDER."
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 404,
    "details": "Produk tidak ditemukan"
  }
}
POST /orders Create Order LIVE

Membeli produk App Premium. Saldo dipotong otomatis. Status awal PROCESS — data akun (username/password) dikirim pada response bila order sudah SUCCESS. Poll GET /orders/{id} untuk mengecek status.

Endpoint https://zakzznokos.my.id/api/app/orders
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Content-Typeapplication/jsonYa
Body Request
FieldTipeWajibKeterangan
product_idstring Ya product_id dari GET /products
quantityinteger Tidak Jumlah pembelian (default: 1)
REQUEST BODY · JSON
{
  "product_id": "5",
  "quantity": 1
}
Contoh Request
BASH
curl -X POST "https://zakzznokos.my.id/api/app/orders" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"5","quantity":1}'
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Order created successfully",
  "data": {
    "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
    "product_id": "5",
    "product_name": "Spotify 1 Bulan Bergaransi",
    "price": 22200,
    "status": "PROCESS",
    "serial_key": null,
    "username": null,
    "password": null,
    "expired": null,
    "created_at": "2026-08-11T10:00:00.000Z"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 403,
    "details": "Saldo tidak mencukupi untuk membeli produk ini"
  }
}
GET /orders/{id} Get Order Detail LIVE

Mengambil detail order App Premium berdasarkan ID, termasuk data akun (username/password) bila sudah terbit.

Endpoint https://zakzznokos.my.id/api/app/orders/{id}
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Path Parameter
ParameterTipeWajibKeterangan
{id}stringYaorder_id dari POST /orders (ObjectId MongoDB)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/app/orders/65d8f3a1b2c3d4e5f6a7b8c9" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "Order retrieved successfully",
  "data": {
    "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
    "product_id": "5",
    "product_name": "Spotify 1 Bulan Bergaransi",
    "price": 22200,
    "status": "SUCCESS",
    "serial_key": null,
    "username": "user@example.com",
    "password": "secret123",
    "expired": null,
    "created_at": "2026-08-11T10:00:00.000Z"
  }
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 404,
    "details": "Order tidak ditemukan atau bukan milik akun ini"
  }
}
GET /history Transaction History LIVE

Mengambil riwayat transaksi App Premium, diurutkan dari yang terbaru.

Endpoint https://zakzznokos.my.id/api/app/history
Authorization Bearer YOUR_API_KEY required
Headers
HeaderValueWajib
AuthorizationBearer YOUR_API_KEYYa
Query Parameters
ParameterTipeWajibKeterangan
pageinteger Tidak Nomor halaman (default: 1)
limitinteger Tidak Item per halaman (default: 20)
Contoh Request
BASH
curl -X GET "https://zakzznokos.my.id/api/app/history?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Success Response 200 OK
JSON
{
  "success": true,
  "message": "History retrieved successfully",
  "data": [
    {
      "order_id": "65d8f3a1b2c3d4e5f6a7b8c9",
      "service": "Spotify 1 Bulan Bergaransi",
      "status": "SUCCESS",
      "price": 22200,
      "created_at": "2026-08-11T10:00:00.000Z"
    }
  ]
}
Error Response 4xx / 5xx
JSON
{
  "success": false,
  "message": "Error",
  "error": {
    "code": 401,
    "details": "API Key tidak valid atau tidak disertakan"
  }
}