REST API · v1 · Live

API Documentation

Integrasikan layanan nomor virtual, deposit, dan OTP KingRockOTP langsung ke sistem atau bot kamu sendiri — satu API key, response JSON yang konsisten, siap dipakai dalam hitungan menit.

Base URL: https://KingRockOTP.my.id/api/v1
Auth: x-api-key: dp_xxxxxx
Format: application/json
28
Endpoint
4
Server Nokos
JSON
Response Format
99.9%
Uptime

API Key Kamu

Login dulu buat lihat API key kamu langsung di sini. Masuk / Daftar →

1. Dapatkan API Key

Login via endpoint berikut untuk mendapatkan API Key. Simpan api_key dari response dan gunakan sebagai header di setiap request.

Request
POST https://KingRockOTP.my.id/api/login
Content-Type: application/json

{
  "username": "budi123",
  "password": "rahasia"
}
Response 200
{
  "success": true,
  "user": {
    "id":       123,
    "username": "budi123",
    "balance":  50000,
    "api_key":  "dp_xxxxxxxxxxxxxxxx"
  }
}
GET

Cek Saldo

/balance

Mengambil saldo aktif akun. Tidak memerlukan body parameter.

Request
GET https://KingRockOTP.my.id/api/v1/balance
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success":  true,
  "balance":  50000,
  "username": "budi123"
}
POST

Buat Deposit QRIS

/deposit/create

Membuat tagihan deposit QRIS baru. QR code aktif selama 5 menit. Saldo masuk otomatis setelah pembayaran dikonfirmasi.

Parameter Body
ParameterTipeWajibKeterangan
amount integer ✅ Ya Nominal deposit dalam Rupiah. Minimal 500
Request
POST https://KingRockOTP.my.id/api/v1/deposit/create
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "amount": 50000
}
Response 200
{
  "success": true,
  "deposit": {
    "id":            "DPxxx123",
    "amount":        50000,
    "total_payment": 52500,
    "qr_image":      "https://...",
    "status":        "pending"
  }
}
GET

Cek Status Deposit

/deposit/status/:deposit_id

Mengecek apakah deposit sudah dibayar. Polling tiap 5–10 detik disarankan hingga status success.

Request
GET https://KingRockOTP.my.id/api/v1/deposit/status/DP123456
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "status":  "success",
  "message": "Deposit berhasil!"
}
POST

Batalkan Deposit

/deposit/cancel

Membatalkan deposit yang masih berstatus pending.

Parameter Body
ParameterTipeWajibKeterangan
deposit_id string ✅ Ya ID deposit dari response /deposit/create
Request
POST https://KingRockOTP.my.id/api/v1/deposit/cancel
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "deposit_id": "DP123456"
}
Response 200
{
  "success": true,
  "message": "Deposit dibatalkan"
}
Nokos — Server 1

Server kualitas premium dengan banyak pilihan operator per negara. Alur: ambil services → countries (berisi pricelist) → numbers untuk daftar operator → order dengan provider_id + operator_id.

GET

Daftar Layanan

/s1/nokos/services

service_code dipakai sebagai service_id pada endpoint berikutnya.

Request
GET https://KingRockOTP.my.id/api/v1/s1/nokos/services
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "service_code": 13,
      "service_name": "WhatsApp",
      "service_img":  "https://assets.cindigital.id/apps/wa.png"
    }
  ]
}
GET

Daftar Negara

/s1/nokos/countries

Berisi pricelist per negara. price_with_markup dihitung dari item pertama pricelist + MARKUP_S1.

Query Parameter
ParameterTipeWajibKeterangan
service_idinteger✅ Yaservice_code dari /services
Request
GET https://KingRockOTP.my.id/api/v1/s1/nokos/countries
    ?service_id=13
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "number_id":  340437,
      "name":       "Indonesia",
      "prefix":     "+62",
      "stock_total": 103,
      "pricelist": [
        {
          "provider_id": "3837",
          "stock":      103,
          "price":      1100,
          "available": true
        }
      ],
      "price_with_markup": 2100,
      "original_price":    1100
    }
  ]
}
GET

Operator & Harga

/s1/nokos/numbers

Mengambil daftar operator untuk satu provider/negara, lengkap dengan harga + markup.

Query Parameter
ParameterTipeWajibKeterangan
country_idinteger✅ Yanumber_id dari /countries
service_idinteger✅ Yaservice_code dari /services
provider_idstringOpsionalID provider dari pricelist. Default item pertama.
Request
GET https://KingRockOTP.my.id/api/v1/s1/nokos/numbers
    ?country_id=340437&service_id=13&provider_id=3837
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "operator_id":       1,
      "operator_name":     "any",
      "label":             "any",
      "provider_id":       "3837",
      "price":             1100,
      "price_with_markup": 2100
    },
    {
      "operator_id":       3,
      "operator_name":     "telkomsel",
      "label":             "telkomsel",
      "provider_id":       "3837",
      "price":             1100,
      "price_with_markup": 2100
    }
  ]
}
POST

Order Nomor Virtual

/s1/nokos/order

Membuat order nomor virtual. Wajib menyertakan provider_id & operator_id dari /numbers.

Parameter Body
ParameterTipeWajibKeterangan
service_codestring✅ Yacontoh: "13"
service_namestring✅ Yacontoh: "WhatsApp"
country_idinteger✅ Yanumber_id negara, contoh: 340437
country_namestring✅ Yacontoh: "Indonesia"
provider_idstring✅ Yadari /numbers, contoh: "3837"
operator_idstring✅ Yadari /numbers, contoh: "1"
price_originalinteger✅ Yaharga asli (tanpa markup) dari /numbers
Request
POST https://KingRockOTP.my.id/api/v1/s1/nokos/order
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "service_code":   "13",
  "service_name":   "WhatsApp",
  "country_id":     340437,
  "country_name":   "Indonesia",
  "provider_id":    "3837",
  "operator_id":    "1",
  "price_original": 1100
}
Response 200
{
  "success": true,
  "order": {
    "id":           "RO0004647717",
    "server":       "s1",
    "phone_number": "+62 858 4441 4442",
    "status":       "pending",
    "price":        2100
  }
}
GET

Cek Status OTP

/s1/nokos/status

Mengecek status order & kode OTP. Lakukan polling tiap 10 detik hingga status received.

Query Parameter
ParameterTipeWajibKeterangan
order_idstring✅ YaID order dari response /order
Request
GET https://KingRockOTP.my.id/api/v1/s1/nokos/status
    ?order_id=RO0004647717
x-api-key: dp_xxxxxxxxxxxxxx
Response — OTP Diterima
{
  "success": true,
  "data": {
    "status":      "received",
    "otp_code":    "949708",
    "otp_message": "Your WhatsApp code: 949-708"
  }
}
POST

Batalkan Order

/s1/nokos/cancel

Membatalkan order & mengembalikan saldo. Minimal 10 menit setelah order dibuat.

Parameter Body
ParameterTipeWajibKeterangan
order_idstring✅ YaID order yang akan dibatalkan
Request
POST https://KingRockOTP.my.id/api/v1/s1/nokos/cancel
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "order_id": "RO0004647717"
}
Response 200
{
  "success": true,
  "message": "Order dibatalkan, saldo dikembalikan"
}
Nokos — Server 2
GET

Daftar Layanan

/s2/nokos/services

Mengambil semua layanan OTP yang tersedia di server 2. Gunakan id sebagai service_code saat order.

Request
GET https://KingRockOTP.my.id/api/v1/s2/nokos/services
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "id":   "13",
      "name": "WhatsApp"
    },
    {
      "id":   "5",
      "name": "Telegram"
    }
  ]
}
GET

Daftar Negara

/s2/nokos/countries

Mengambil daftar negara yang tersedia. Gunakan number_id sebagai country_id saat order.

Request
GET https://KingRockOTP.my.id/api/v1/s2/nokos/countries
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "number_id": 6,
      "name":      "Indonesia"
    },
    {
      "number_id": 1,
      "name":      "United States"
    }
  ]
}
GET

Provider & Harga

/s2/nokos/numbers

Mengambil daftar provider yang tersedia beserta harga untuk kombinasi layanan dan negara tertentu.

Query Parameter
ParameterTipeWajibKeterangan
service_code string ✅ Ya ID layanan dari /services
country_id integer ✅ Ya ID negara dari /countries
Request
GET https://KingRockOTP.my.id/api/v1/s2/nokos/numbers
    ?service_code=13&country_id=6
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "provider_id": "p1",
      "label":       "Provider A",
      "price":       2800,
      "count":       142
    }
  ]
}
POST

Order Nomor Virtual

/s2/nokos/order

Membuat order nomor virtual baru. Saldo dipotong otomatis sesuai harga provider. Simpan id dari response untuk cek OTP.

Parameter Body
ParameterTipeWajibKeterangan
service_code string ✅ Ya ID layanan, contoh: "13"
service_name string ✅ Ya Nama layanan, contoh: "WhatsApp"
country_id integer ✅ Ya ID negara, contoh: 6
country_name string ✅ Ya Nama negara, contoh: "Indonesia"
provider_id string Opsional ID provider spesifik. Kosongkan untuk auto-pilih.
price_original integer ✅ Ya Harga asli dari provider (tanpa markup).
Request
POST https://KingRockOTP.my.id/api/v1/s2/nokos/order
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "service_code":  "13",
  "service_name":  "WhatsApp",
  "country_id":    6,
  "country_name":  "Indonesia",
  "provider_id":   "",
  "price_original":2800
}
Response 200
{
  "success": true,
  "order": {
    "id":           "S6-abc123",
    "phone_number": "628123456789",
    "status":       "waiting",
    "price":        2800
  }
}
GET

Cek Status OTP

/s2/nokos/status

Mengecek status order dan mengambil kode OTP jika sudah tersedia. Lakukan polling tiap 10 detik hingga status received.

Query Parameter
ParameterTipeWajibKeterangan
order_id string ✅ Ya ID order dari response /order
Request
GET https://KingRockOTP.my.id/api/v1/s2/nokos/status
    ?order_id=S6-abc123
x-api-key: dp_xxxxxxxxxxxxxx
Response — OTP Diterima
{
  "success": true,
  "data": {
    "status":       "received",
    "otp_code":     "847291",
    "otp_msg":      "Your code is 847291",
    "phone_number": "628123456789"
  }
}
POST

Batalkan Order

/s2/nokos/cancel

Membatalkan order yang masih aktif. Saldo dikembalikan otomatis jika OTP belum pernah diterima. Order hanya bisa dibatalkan minimal 10 menit setelah dibuat.

Parameter Body
ParameterTipeWajibKeterangan
order_id string ✅ Ya ID order yang akan dibatalkan
Request
POST https://KingRockOTP.my.id/api/v1/s2/nokos/cancel
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "order_id": "S6-abc123"
}
Response 200
{
  "success":  true,
  "message":  "Order berhasil dibatalkan",
  "refunded": true
}
Nokos — Server 3
GET

Daftar Layanan

/s3/nokos/services

Mengambil daftar layanan/aplikasi yang tersedia di server ini.

Request
GET https://KingRockOTP.my.id/api/v1/s3/nokos/services
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    { "id": "1", "code": "1", "name": "WhatsApp" },
    { "id": "2", "code": "2", "name": "Telegram" }
  ]
}
GET

Daftar Negara

/s3/nokos/countries

Mengambil daftar negara yang tersedia.

Request
GET https://KingRockOTP.my.id/api/v1/s3/nokos/countries
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    { "number_id": 6, "name": "Indonesia" },
    { "number_id": 1, "name": "Malaysia" }
  ]
}
GET

Provider & Harga

/s3/nokos/numbers

Mengambil daftar provider/operator beserta harga untuk kombinasi layanan & negara tertentu.

Query Parameter
ParameterTipeWajibKeterangan
service_codestring✅ YaKode layanan dari /services
country_idstring✅ Yanumber_id dari /countries
Request
GET https://KingRockOTP.my.id/api/v1/s3/nokos/numbers?service_code=1&country_id=6
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "provider_id": "881",
      "label": "Nomor Virtual",
      "price": 2500,
      "price_with_markup": 3500
      
    }
  ]
}
POST

Order Nomor

/s3/nokos/order

Membuat order nomor virtual. Wajib menyertakan provider_id dari /numbers.

Parameter Body
ParameterTipeWajibKeterangan
service_codestring✅ YaKode layanan
service_namestring❌ OpsionalNama layanan (untuk histori)
country_idstring✅ YaID negara
country_namestring❌ OpsionalNama negara (untuk histori)
provider_idstring✅ YaDari response /numbers
price_originalnumber✅ YaHarga asli (sebelum markup) dari /numbers
Request
POST https://KingRockOTP.my.id/api/v1/s3/nokos/order
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "service_code": "1",
  "service_name": "WhatsApp",
  "country_id": "6",
  "country_name": "Indonesia",
  "provider_id": "881",
  "price_original": 2500
}
Response 200
{
  "success": true,
  "order": {
    "id": "NUSA-812345",
    "phone_number": "+62812xxxxxxx",
    "price": 3500,
    "status": "pending",
    "expires_at": 1735900000000
  }
}
GET

Cek OTP

/s3/nokos/status

Mengecek status & kode OTP dari sebuah order. Panggil secara berkala (polling) sampai status menjadi received.

Query Parameter
ParameterTipeWajibKeterangan
order_idstring✅ YaID order dari /order
Request
GET https://KingRockOTP.my.id/api/v1/s3/nokos/status?order_id=NUSA-812345
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": {
    "status": "received",
    "otp_code": "482910"
  }
}
POST

Batalkan Order

/s3/nokos/cancel

Membatalkan order yang masih aktif. Saldo dikembalikan otomatis jika OTP belum pernah diterima. Order hanya bisa dibatalkan minimal 10 menit setelah dibuat.

Parameter Body
ParameterTipeWajibKeterangan
order_idstring✅ YaID order yang akan dibatalkan
Request
POST https://KingRockOTP.my.id/api/v1/s3/nokos/cancel
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "order_id": "NUSA-812345"
}
Response 200
{
  "success":  true,
  "message":  "Order berhasil dibatalkan"
}
Endpoint /s3/nokos/status pada Server 3 mengecek status dari database internal kami (yang diperbarui otomatis tiap beberapa detik), bukan realtime langsung ke provider — jadi tetap lakukan polling seperti biasa.
Nokos — Server 4
GET

Daftar Layanan

/s4/nokos/services

Mengambil daftar layanan/aplikasi yang tersedia di server ini.

Request
GET https://KingRockOTP.my.id/api/v1/s4/nokos/services
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    { "id": "1", "code": "1", "name": "WhatsApp" },
    { "id": "2", "code": "2", "name": "Telegram" }
  ]
}
GET

Daftar Negara

/s4/nokos/countries

Mengambil daftar negara yang tersedia.

Request
GET https://KingRockOTP.my.id/api/v1/s4/nokos/countries
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    { "number_id": 6, "name": "Indonesia" },
    { "number_id": 1, "name": "Malaysia" }
  ]
}
GET

Provider & Harga

/s4/nokos/numbers

Mengambil daftar provider/operator beserta harga untuk kombinasi layanan & negara tertentu.

Query Parameter
ParameterTipeWajibKeterangan
service_codestring✅ YaKode layanan dari /services
country_idstring✅ Yanumber_id dari /countries
Request
GET https://KingRockOTP.my.id/api/v1/s4/nokos/numbers?service_code=1&country_id=6
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": [
    {
      "provider_id": "881",
      "label": "Nomor Virtual",
      "price": 2500,
      "price_with_markup": 3500,
      "available": true
    }
  ]
}
POST

Order Nomor

/s4/nokos/order

Membuat order nomor virtual. Wajib menyertakan provider_id dari /numbers.

Parameter Body
ParameterTipeWajibKeterangan
service_codestring✅ YaKode layanan
service_namestring❌ OpsionalNama layanan (untuk histori)
country_idstring✅ YaID negara
country_namestring❌ OpsionalNama negara (untuk histori)
provider_idstring✅ YaDari response /numbers
price_originalnumber✅ YaHarga asli (sebelum markup) dari /numbers
Request
POST https://KingRockOTP.my.id/api/v1/s4/nokos/order
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "service_code": "1",
  "service_name": "WhatsApp",
  "country_id": "6",
  "country_name": "Indonesia",
  "provider_id": "881",
  "price_original": 2500
}
Response 200
{
  "success": true,
  "order": {
    "id": "SMSC-812345",
    "phone_number": "+62812xxxxxxx",
    "price": 3500,
    "status": "pending",
    "expires_at": 1735900000000
  }
}
GET

Cek OTP

/s4/nokos/status

Mengecek status & kode OTP dari sebuah order. Panggil secara berkala (polling) sampai status menjadi received.

Query Parameter
ParameterTipeWajibKeterangan
order_idstring✅ YaID order dari /order
Request
GET https://KingRockOTP.my.id/api/v1/s4/nokos/status?order_id=SMSC-812345
x-api-key: dp_xxxxxxxxxxxxxx
Response 200
{
  "success": true,
  "data": {
    "status": "received",
    "otp_code": "482910"
  }
}
POST

Batalkan Order

/s4/nokos/cancel

Membatalkan order yang masih aktif. Saldo dikembalikan otomatis jika OTP belum pernah diterima. Order hanya bisa dibatalkan minimal 10 menit setelah dibuat.

Parameter Body
ParameterTipeWajibKeterangan
order_idstring✅ YaID order yang akan dibatalkan
Request
POST https://KingRockOTP.my.id/api/v1/s4/nokos/cancel
x-api-key: dp_xxxxxxxxxxxxxx
Content-Type: application/json

{
  "order_id": "SMSC-812345"
}
Response 200
{
  "success":  true,
  "message":  "Order berhasil dibatalkan"
}
Syarat & Ketentuan

Dokumentasi & Ketentuan Layanan KingRockOTP OTP

1. Tentang Layanan

KingRockOTP OTP menyediakan layanan penyewaan nomor virtual untuk menerima kode verifikasi (OTP) dari berbagai aplikasi yang didukung. Kami hanya bertindak sebagai penyedia nomor virtual dan tidak memiliki hubungan dengan aplikasi pihak ketiga.

2. Ketentuan Akun

  • Setiap pengguna wajib mendaftar akun.
  • Pengguna bertanggung jawab atas keamanan akun dan password.
  • Dilarang membagikan API Key kepada pihak lain.
  • Aktivitas yang dilakukan menggunakan akun menjadi tanggung jawab pemilik akun.

3. Saldo & Deposit

  • Deposit yang telah berhasil masuk tidak dapat dikembalikan (Non Refundable).
  • Pastikan nominal deposit sesuai.
  • Kesalahan transfer akibat kelalaian pengguna bukan tanggung jawab KingRockOTP OTP.
  • Deposit otomatis akan diproses apabila pembayaran berhasil terverifikasi.

4. Pemesanan Nomor

  • Nomor hanya berlaku untuk satu transaksi sesuai layanan yang dipilih.
  • Masa aktif nomor mengikuti timer pada website.
  • Nomor yang telah dibeli tidak dapat diganti kecuali sistem gagal memberikan layanan.
  • Harga layanan dapat berubah sewaktu-waktu.

5. Refund

Refund hanya diberikan apabila:

  • Nomor gagal menerima OTP.
  • Nomor dibatalkan oleh sistem.
  • Provider mengalami gangguan sebelum OTP diterima.

Refund tidak berlaku apabila:

  • Pengguna salah memilih negara/operator.
  • Pengguna membatalkan pesanan sendiri.
  • OTP sudah berhasil diterima.
  • Akun tujuan meminta verifikasi tambahan selain SMS.

6. Penggunaan API

  • API hanya boleh digunakan untuk kebutuhan yang sah.
  • Dilarang melakukan spam request.
  • Dilarang menyebarkan API Key.
  • Gunakan fitur Whitelist IP agar API lebih aman.
  • Penyalahgunaan API dapat menyebabkan API dinonaktifkan.

7. Larangan

Pengguna dilarang menggunakan layanan untuk:

  • Penipuan.
  • Spam.
  • Aktivitas ilegal.
  • Penyalahgunaan identitas.
  • Pelanggaran hukum yang berlaku.

Pelanggaran dapat mengakibatkan akun diblokir permanen tanpa pengembalian saldo.

8. Ketersediaan Layanan

KingRockOTP OTP berusaha menjaga uptime setinggi mungkin, namun tidak menjamin:

  • Semua layanan selalu tersedia.
  • Semua aplikasi selalu menerima nomor virtual.
  • Semua OTP pasti masuk tepat waktu.

Gangguan provider berada di luar kendali kami.

9. API Rate Limit

Untuk menjaga stabilitas server:

  • Request berlebihan dapat dibatasi.
  • Aktivitas mencurigakan akan diblokir sementara.
  • Abuse API dapat menyebabkan suspend akun.

10. Keamanan

Disarankan:

  • Aktifkan Whitelist IP.
  • Hubungkan akun Telegram agar mendapat notifikasi transaksi.
  • Jangan membagikan password maupun API Key.

11. Perubahan Harga

Harga layanan dapat berubah sewaktu-waktu mengikuti harga dari provider tanpa pemberitahuan sebelumnya.

12. Perubahan Ketentuan

KingRockOTP OTP berhak mengubah syarat layanan kapan saja. Perubahan akan berlaku setelah dipublikasikan pada website.

13. Bantuan

Apabila mengalami kendala:

  • Hubungi Customer Service melalui Telegram.
  • Sertakan ID Pesanan agar proses pengecekan lebih cepat.

14. Disclaimer

Dengan menggunakan KingRockOTP OTP, pengguna dianggap telah membaca, memahami, dan menyetujui seluruh syarat dan ketentuan yang berlaku. KingRockOTP OTP tidak bertanggung jawab atas penyalahgunaan layanan oleh pengguna maupun pelanggaran terhadap ketentuan platform pihak ketiga.