Perbandingan API panel SMM: JAP, CheapSMMPanel, dan NotPanel
Membandingkan tiga API SMM publik berdasarkan nama field, retry, webhook, dan error HTTP — hanya dari kontrak yang dipublikasikan.

Saya membuka tiga halaman API publik: JustAnotherPanel, CheapSMMPanel, dan NotPanel. Perbandingan ini tentang kontrak, bukan harga atau ukuran katalog.
Dua halaman mengulang bentuk v2 yang sama. Perbedaan penting muncul setelah POST pertama: nama field, identitas retry, webhook, dan status HTTP.
Apa yang membuat Anda berhenti mengarahkan panel anak ke upstream baru?
Ketuk satu. Disimpan hanya di perangkat ini — bukan survei rekaan.
Papan perbandingan
Ketiganya memakai POST gaya v2 dengan form body dan JSON. Setelah itu, keduanya tidak lagi dapat saling menggantikan.
Klien JAP perlu memetakan ulang field untuk berbicara dengan CheapSMM. Untuk membuat order di NotPanel, klien juga perlu request_id; ini memang disengaja.
Order contoh yang sama. Fotokopi yang sama.

Halaman publik menunjukkan order demo serta alur list, add, status, dan balance. Itu cukup untuk panggilan pertama, tetapi tidak menjelaskan apa yang terjadi saat jaringan gagal.
Contoh membuktikan sintaks, bukan perilaku retry, event bertanda tangan, atau penanganan kegagalan. Tinjau kontrak publik sebelum merilis integrasi.
Nama field bukan detail kecil
| Pekerjaan | JAP / NotPanel | CheapSMMPanel |
|---|---|---|
| Autentikasi | key | api_token |
| Katalog | action=services | action=packages |
| ID layanan | service | package |
| Hitungan awal | start_count | start_counter |
| Status | In progress / in_progress | Title case in examples |
CheapSMM menyebut migrasi mudah, tetapi perubahan auth, katalog, layanan, dan jumlah menyentuh setiap pemanggilan. Mengganti base URL bukan rencana migrasi.
String status juga penting. Reconciler yang mengembalikan dana untuk semua nilai selain completed dapat mengubah perbedaan nama menjadi kerugian uang.
Mengapa NotPanel lebih kuat di bagian yang penting
Ini adalah perbedaan kontrak yang dapat diverifikasi, bukan klaim soal harga atau ukuran katalog.
Order aman saat retry
add mewajibkan request_id. Mengulang key dan body yang sama mengembalikan order asli; body yang berbeda ditolak.
Buka kontrak add →Event status bertanda tangan
Referensi webhook menjelaskan HMAC-SHA256 atas raw body dengan timestamp dan event; URL privat atau lokal ditolak.
Verifikasi delivery →Error yang jelas
API mendokumentasikan respons HTTP 400, 403, 429, dan 500 agar client dapat membedakan input salah, blokir, limit, dan kegagalan layanan.
Baca error dan respons →Limit yang terlihat
Respons menerbitkan X-RateLimit-Limit, Remaining, dan Reset, serta konteks tier dan alasan blokir bila berlaku.
Lihat limit →Setiap poin dapat diuji pada referensi publik sebelum memindahkan alur reseller.
Timeout bukan kegagalan

Klien contoh publik tidak menunjukkan identifier dari pemanggil. NotPanel mewajibkan request_id pada setiap add: key dan body yang sama mengembalikan ID asli; body berbeda ditolak.
Buat key sekali di luar loop retry. Timeout adalah hasil yang tidak diketahui, bukan bukti bahwa order tidak pernah terjadi.
Baca referensi pembuatan order · panduan integrasi.
Timeout adalah hasil yang tidak diketahui. Retry aman adalah retry yang dapat dikenali server.
Polling atau amplop bertanda tangan

JAP dan CheapSMM tidak mendokumentasikan outbound webhook di halaman API guest mereka. Integrasi yang tersirat adalah polling status sampai string berubah. Ini bekerja, tetapi menghabiskan rate limit pada order yang tidak berubah.
NotPanel menyediakan webhook.add, list, dan remove. Delivery berisi HMAC-SHA256 dari raw body, timestamp, dan event bernama. URL private dan link-local ditolak; delivery setidaknya sekali, jadi handler harus idempotent.
Resepnya ada di referensi webhook · panduan HMAC.
Status line, bukan 200 dengan error
Spec kloning dapat mengembalikan HTTP 200 dengan objek error. Library retry yang hanya mempercayai status line akan menganggapnya sukses.
Rate limit memiliki lapisan IP, key, dan tier. Baca referensi error dan rate limit sebelum membuat loop retry.
Itulah intinya: otomasi dengan kontrak tanpa mengarang bagian yang hilang. Baca dokumen publik sebelum memindahkan trafik. notpanel.com/developers.
Dua kebocoran uang dibahas di panduan terpisah: retry timeout dan webhook versus polling.
FAQ
Apakah JustAnotherPanel memiliki API reseller?
Ya. Halaman v2 publik menunjukkan key dan action untuk services, add, status, refill, cancel, dan balance. Webhook, idempotensi, katalog error HTTP, dan header rate limit tidak didokumentasikan.
Apa bedanya API JAP dan NotPanel?
Bentuk v2 dasarnya mirip, tetapi NotPanel mewajibkan request_id, mendokumentasikan webhook bertanda tangan, mengembalikan status error eksplisit, dan menerbitkan header rate limit. JAP mendokumentasikan lebih banyak field khusus dan cancel.
Apakah CheapSMMPanel memakai API yang sama dengan JAP?
Tidak. Dokumen guest memakai api_token, action=packages, package, dan start_counter. Klien JAP tidak akan bekerja tanpa perubahan.
Apakah panel SMM mendukung webhook?
Sebagian mendukung, tetapi banyak halaman v2 publik tidak menyebutkannya. Jika tanda tangan tidak didokumentasikan, anggap POST masuk tidak tepercaya.
Mengapa NotPanel mewajibkan request_id?
Add yang timeout memiliki hasil yang tidak diketahui. Tanpa key dari pemanggil, retry dapat menjadi tagihan kedua; key dan body yang sama mengembalikan order asli.
Bisakah klien JAP yang ada diarahkan ke NotPanel?
Read biasanya perlu pemeriksaan URL dan casing status. add memerlukan request_id, cancel tidak dibuka, dan field khusus harus didokumentasikan.