Developer API
Akses layanan Artapedia secara programatik — beli nomor OTP, cek saldo, lacak pesanan — langsung dari kode kamu.
Pengenalan
Semua endpoint berada di bawah base URL berikut. Semua response menggunakan format application/json.
Base URL: https://artapedianokosmurahid.vercel.app/api/v1
API Key auth
Autentikasi via header Bearer atau query param
JSON body
Request body dan response selalu JSON
REST
Endpoint stateless standar REST
API Key Artapedia
API key adalah kunci pribadimu untuk memakai API — satu akun satu key (32 karakter heksadesimal). Semua yang dilakukan lewat key (saldo terpotong, pesanan, deposit) tercatat atas akunmu, jadi perlakukan seperti kata sandi.
🔑 Cara mendapatkan key
- Masuk ke akunmu di web Artapedia.
- Buka halaman API Key (menu Dashboard → API Key).
- Tekan Buat / Buat ulang API key, lalu salin — key utuh hanya tampil saat dibuat.
🛡️ Aturan keamanan key
- Kirim lewat header
Authorization: Bearer, jangan lewat URL. - Jangan taruh di aplikasi frontend publik atau repository.
- Bocor? Buat ulang key — key lama langsung mati.
- Akun yang dibekukan (anti-curang) tidak bisa memakai API.
Authentication
Semua endpoint v1 memerlukan API key. API key berupa string 32 karakter hex yang bisa kamu generate atau regenerate di halaman Dashboard → bagian API Key.
Cara mengirim API key:
1. Header Authorization: Bearer (direkomendasikan)
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://artapedianokosmurahid.vercel.app/api/v1/me
2. Query parameter ?api_key=
curl "https://artapedianokosmurahid.vercel.app/api/v1/me?api_key=YOUR_API_KEY"
⚠️ Jaga kerahasiaan API key
Jangan expose API key di frontend publik atau repository. Jika bocor, segera regenerate di Dashboard.
Rate Limit API Key
Setiap API key dibatasi per 60 detik (jendela bergulir). Batas dihitung per key, bukan per IP, dan melindungi akunmu serta server dari permintaan berlebihan.
Semua endpoint v1 (baca): me, servers, services, countries, orders, deposit status & methods
POST /v1/order — membuat pesanan OTP (ikut hitungan 60/menit di atas)
POST /v1/deposit — membuat QRIS deposit (ikut hitungan 60/menit di atas)
Header di setiap respons
// HTTP 429 — melewati batas
{
"error": "Rate limit exceeded: maks 60 request per menit untuk API key ini. Coba lagi dalam 23 detik.",
"retryAfter": 23
}💡 Untuk menunggu OTP, polling /v1/orders/status tiap 3–5 detik (bukan tiap detik) agar jatah cukup. Saat menerima 429, tunggu sesuai Retry-After lalu coba lagi.
Error Codes
Saat terjadi error, response akan memiliki field error berisi pesan deskriptif.
Bad Request
Parameter kurang atau tidak valid
Unauthorized
API key tidak ada, salah format, atau tidak ditemukan
Forbidden
Akun ditangguhkan
Not Found
Resource (pesanan dll) tidak ditemukan
Too Many Requests
Melewati rate limit API key — lihat header Retry-After
Server Error
Kesalahan internal, coba lagi nanti
// Contoh response error
{
"error": "API key not found or revoked."
}Akun
/api/v1/meAuth requiredInformasi akun
Mengembalikan nama, saldo, dan tanggal bergabung untuk API key yang diberikan.
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://artapedianokosmurahid.vercel.app/api/v1/me
// 200 OK
{
"name": "John Doe",
"balance": 50000,
"joinedAt": "2024-01-15T08:30:00.000Z"
}Server Nokos
Artapedia menyambung ke beberapa provider sekaligus. Tiap provider disebut server, punya daftar aplikasi, negara, dan harga sendiri. Semua endpoint katalog & order menerima parameter server. Kalau tidak dikirim, nilainya otomatis rumahotp.
rumahotpServer Nokos Murah
Harga paling hemat, cakupan aplikasi & negara terluas.
warungnokos_s1Server Plus
Jalur utama WarungNokos (H2H), stok melimpah & rate sukses tertinggi.
warungnokos_s2Server Express
Server2 WarungNokos, dipakai saat stok server utama kosong.
dibananaOTP Fast Murah
OTP masuk cepat & murah. Negara: ID, MY, SG, US, UK.
Perhatian: admin bisa mematikan salah satu server kapan saja. Server yang mati tidak muncul di /v1/servers dan request ke server itu dibalas 503. Selalu ambil daftar server dulu, jangan hardcode.
/api/v1/serversAuth requiredDaftar server aktif
Mengembalikan server nokos yang sedang aktif beserta nama dan deskripsinya.
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://artapedianokosmurahid.vercel.app/api/v1/servers
// 200 OK
{
"items": [
{ "server": "rumahotp", "name": "Server Nokos Murah", "badge": "Murah", "provider": "RumahOTP" },
{ "server": "warungnokos_s1", "name": "Server Plus", "badge": "Utama", "provider": "WarungNokos" },
{ "server": "warungnokos_s2", "name": "Server Express", "badge": "Global", "provider": "WarungNokos S2" },
{ "server": "dibanana", "name": "OTP Fast Murah", "badge": "Fast", "provider": "dibanana" }
]
}Layanan OTP
/api/v1/servicesAuth requiredDaftar layanan OTP per server
Mengembalikan aplikasi yang tersedia di satu server (WhatsApp, Telegram, Shopee, dll). Tiap server punya daftar yang berbeda.
Parameters
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://artapedianokosmurahid.vercel.app/api/v1/services?server=dibanana"
// 200 OK
{
"server": "dibanana",
"items": [
{ "service_code": "wa", "service_name": "WhatsApp", "service_img": null, "server": "dibanana" },
{ "service_code": "tg", "service_name": "Telegram", "service_img": null, "server": "dibanana" }
]
}Negara & Harga
Endpoint ini yang memberi kamu numberId, providerId, dan harga jual final. Nilai sell_price sudah termasuk markup — itulah nominal yang dipotong dari saldo. price adalah harga modal, jangan dipakai untuk menghitung tagihan.
/api/v1/countriesAuth requiredDaftar negara, stok, dan harga
Mengembalikan negara yang tersedia untuk satu layanan di satu server, lengkap dengan pricelist-nya.
Parameters
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://artapedianokosmurahid.vercel.app/api/v1/countries?server=dibanana&service_id=wa"
// 200 OK — server "dibanana"
{
"server": "dibanana",
"items": [
{
"number_id": "bn:id",
"name": "Indonesia",
"flag": "🇮🇩",
"pricelist": [
{
"provider_id": "bn:id:0",
"provider_name": "Paket Termurah",
"price": 900,
"sell_price": 1100,
"stock": 245,
"country_id": "id",
"providerIndex": 0,
"server": "dibanana"
}
]
}
]
}Riwayat Pesanan
/api/v1/ordersAuth requiredDaftar pesanan
Mengembalikan daftar pesanan OTP milik akun yang terautentikasi, diurutkan terbaru dulu.
Parameters
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://artapedianokosmurahid.vercel.app/api/v1/orders?limit=10&page=1"
Status Pesanan
/api/v1/orders/statusAuth requiredCek status pesanan
Cek status terbaru pesanan OTP spesifik, termasuk kode OTP jika sudah tersedia.
Parameters
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://artapedianokosmurahid.vercel.app/api/v1/orders/status?order_id=123456"
// 200 OK (OTP sudah diterima)
{
"orderId": "123456",
"status": "success",
"otpCode": "483921",
"otpMsg": "Your WhatsApp code is 483921",
"phoneNumber": "+62812xxxxxxx",
"price": 3500,
"refunded": false,
"createdAt": "2024-06-01T12:00:00.000Z"
}Buat Pesanan OTP
💡 Alur pembelian
- Ambil server aktif:
GET /v1/servers. - Ambil aplikasi:
GET /v1/services?server=…→ pakaiservice_codesebagaiserviceId. - Ambil negara & harga:
GET /v1/countries?server=…&service_id=…. - POST
/v1/orderdengan parameter sesuai server (tabel di bawah). - Polling
GET /v1/orders/status?order_id=…sampai OTP masuk.
Parameter wajib per server
rumahotpserviceId, numberId, providerId
opsional: operatorId
warungnokos_s1 / warungnokos_s2serviceId, countryId, providerId
opsional: operatorId (default: any)
dibananaserviceId, countryId, providerIndex
opsional: —
Harga selalu dihitung ulang di server. Nominal yang dipotong adalah sell_price terbaru dari provider, bukan angka yang kamu kirim. Kalau nomor gagal didapat, saldo dikembalikan penuh secara otomatis.
/api/v1/orderAuth requiredBuat pesanan nomor OTP
Memotong saldo dan memesan nomor OTP baru dari provider. Pastikan saldo mencukupi.
Parameters
Response fields
curl -X POST https://artapedianokosmurahid.vercel.app/api/v1/order \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"server": "dibanana",
"serviceId": "wa",
"countryId": "id",
"providerIndex": 0,
"serviceName": "WhatsApp",
"countryName": "Indonesia"
}'
# Server rumahotp memakai numberId + providerId:
# -d '{"server":"rumahotp","serviceId":"1","numberId":"62","providerId":"5"}'
# Server WarungNokos memakai countryId:
# -d '{"server":"warungnokos_s1","serviceId":"wa","countryId":"6"}'// 200 OK
{
"orderId": "789012",
"server": "dibanana",
"phoneNumber": "+62812xxxxxxx",
"price": 3500,
"expiredAt": 1717235400000,
"createdAt": "2024-06-01T12:00:00.000Z",
"balance": 46500
}Deposit Otomatis
Isi saldo akunmu lewat API: buat tagihan QRIS, bayar, dan saldo masuk otomatis begitu pembayaran terkonfirmasi — tanpa admin. Cocok untuk bot atau aplikasi yang mengisi saldo secara terjadwal.
💡 Alur deposit otomatis
GET /v1/deposit/methods→ pilihprovideraktif dan lihat batas min/max.POST /v1/deposit→ dapatqr_image/qr_string(QRIS) dantotal_amount.- Bayar persis
total_amountlewat aplikasi bank/e-wallet apa pun sebelumexpired_at. - Cek
GET /v1/deposit?order_id=…tiap 5 detik sampaistatus=completed— saldo sudah bertambah saat itu juga.
Sistem juga memeriksa deposit yang menggantung secara berkala, jadi saldo tetap masuk walau kamu tidak sempat memanggil endpoint status.
Status: pending · completed · expired · canceled · failed. QRIS manual (dicek admin) tidak tersedia lewat API.
/api/v1/deposit/methodsAuth requiredMetode deposit otomatis
Daftar metode QRIS otomatis yang aktif beserta batas nominal.
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://artapedianokosmurahid.vercel.app/api/v1/deposit/methods
/api/v1/depositAuth requiredBuat deposit QRIS
Membuat tagihan QRIS otomatis. Batas: 6 permintaan/menit. Maksimal beberapa QRIS belum dibayar per akun.
Parameters
provider dari /v1/deposit/methods.Response fields
curl -X POST https://artapedianokosmurahid.vercel.app/api/v1/deposit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 20000, "provider": "pakasir"}'/api/v1/depositAuth requiredStatus deposit / riwayat
Dengan ?order_id=… memeriksa status ke provider dan langsung mengkreditkan saldo bila sudah dibayar. Tanpa parameter: 20 deposit terakhir.
Parameters
Response fields
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://artapedianokosmurahid.vercel.app/api/v1/deposit?order_id=DP1727700000000123"
Coba Sekarang
Masukkan API key kamu dan klik Test untuk langsung mencoba endpoint /v1/me.
Belum punya API key? Buka Dashboard → bagian API Key untuk generate.
📌 Catatan
- Semua waktu dalam format ISO 8601 UTC.
- Saldo selalu dalam Rupiah (IDR) tanpa desimal.
- API key bersifat privat — 1 key per akun. Regenerate di Dashboard kapan saja.
- Batas laju per key: 60 request/menit (order 20/menit, buat deposit 6/menit) — lihat bagian Rate Limit.
- Butuh bantuan? Buka tiket di halaman Dashboard → Support.