Dokumentasi API SMM Panel

Semua fungsi panel bisa diakses lewat dua API terpisah. Keduanya memakai akun, saldo, dan katalog yang sama; bedanya ada pada format dan kemampuannya.

Semua fungsi panel bisa diakses lewat dua API terpisah. Keduanya memakai akun, saldo, dan katalog yang sama; bedanya ada pada format dan kemampuannya.

Kenapa ada dua API?

API reseller klasik (v2) yang dipakai seluruh industri mengirim form ke satu endpoint dan selalu menjawab HTTP 200. Format inilah yang diharapkan software panel siap pakai, jadi API ini dibiarkan apa adanya. Namun developer yang membangun sistem sendiri terus terbentur batasannya: error tidak bisa dibedakan satu sama lain, katalog datang dalam satu paket besar, dan status pesanan harus dicek berulang kali tanpa henti. v3 dibuat untuk mereka.

API legacy tidak akan dimatikan. Tidak ada tanggal penghentian; integrasi yang sudah berjalan tidak perlu Anda ubah sama sekali.

Perbandingan

FiturLegacy (v2)Baru (v3)
BentukSatu endpoint, kirim form, parameter actionREST berbasis resource, body JSON
Status HTTPSelalu 200, bahkan saat gagalKode yang sebenarnya (400, 401, 402, 404, 409, 429, 502)
ErrorTeks bebastype + code yang stabil + pesan sesuai bahasa + param + doc_url
Status pesananHanya teks yang diterjemahkanNilai mesin yang stabil plus label tampilan terpisah
Deskripsi layananTidak adaDeskripsi dalam 16 bahasa, waktu rata-rata, platform, kategori
Field pesananDitebak dari nama tipeSetiap layanan menerbitkan skema field-nya sendiri
Satuan hargaTidak disebutkan (sumber salah hitung 1.000 kali lipat pada paket)Tertulis jelas: per_1000 atau per_order
KatalogSemua layanan dalam satu responseFilter plus paginasi cursor
Perlindungan duplikatTidak adaIdempotency-Key
Pembaruan statusPolling terus-menerusWebhook bertanda tangan atau event stream
SkemaTidak adaOpenAPI 3.1
BahasaInggris dan Turki (URL terpisah)16 bahasa (lewat header atau parameter)
Kualitas layananTidak adaSkor, tingkat keyakinan, dan bukti per layanan; daftar pendek berperingkat

Mana yang sebaiknya saya pakai?

Legacy (v2)

Pilih API legacy jika Anda memakai software panel siap pakai, bot, atau panel reseller. Sebagian besar hanya meminta Anda mengganti URL API dan API key, lalu langsung berjalan dalam hitungan menit.

API baru (v3)

Pilih v3 jika Anda membangun aplikasi, toko online, atau otomasi sendiri. Penanganan error, perlindungan duplikat, dan notifikasi sudah menjadi fitur bawaan, dan form pesanan bisa Anda buat langsung dari skema layanan.

Cara memulai

  1. 1Buat API key di tab API key.
  2. 2Ambil daftar layanan, lalu baca id dan skema field layanan yang Anda butuhkan.
  3. 3Validasi pesanan dulu dengan preview, baru kemudian buat pesanannya.
  4. 4Daftarkan webhook, atau baca event stream, untuk memantau perubahan status.

Error (48)

KodeStatusDeskripsi
missing_api_key401Tidak ada API key yang dikirim. Kirim sebagai 'Authorization: Bearer <key>'.
invalid_api_key401API key yang Anda kirim tidak valid.
revoked_api_key401API key ini sudah dicabut dan tidak bisa dipakai lagi.
account_banned403Akun ini diblokir.
account_suspended403Akun ini ditangguhkan.
insufficient_scope403API key ini tidak punya izin untuk endpoint ini.
invalid_json400Body request bukan JSON yang valid.
unsupported_content_type415Content-Type tidak didukung. Gunakan application/json atau application/x-www-form-urlencoded.
method_not_allowed405Metode HTTP ini tidak diizinkan pada endpoint ini.
payload_too_large413Body request terlalu besar.
missing_parameter400Ada parameter wajib yang tidak dikirim.
invalid_parameter400Nilai salah satu parameter tidak valid.
invalid_quantity400Jumlah bukan bilangan bulat positif yang valid.
quantity_out_of_range400Jumlah di luar batas yang diizinkan layanan ini.
invalid_comments400Field komentar kosong atau barisnya terlalu banyak.
invalid_username400Nama pengguna tidak valid untuk layanan ini.
invalid_subscription400Parameter langganan tidak valid.
invalid_runs400Nilai 'runs' tidak valid untuk drip-feed.
invalid_interval400Nilai 'interval' tidak valid untuk drip-feed.
dripfeed_not_supported400Layanan ini tidak mendukung drip-feed.
missing_required_field400Field yang wajib untuk jenis layanan ini tidak ada atau tidak valid.
service_inactive400Layanan ini sedang tidak bisa dipesan.
invalid_cursor400Cursor paginasi tidak valid.
invalid_limit400Parameter 'limit' di luar rentang yang diizinkan.
invalid_webhook_url400URL webhook harus berupa alamat https:// publik.
invalid_events400Satu atau beberapa jenis event yang diminta tidak dikenal.
batch_too_large400Terlalu banyak item dalam satu request batch.
cancel_not_supported400Layanan ini tidak mendukung pembatalan.
refill_not_supported400Layanan ini tidak menyediakan refill.
unknown_endpoint404Endpoint tidak dikenal. Lihat referensi API untuk daftar route yang tersedia.
service_not_found404Tidak ada layanan dengan id ini.
order_not_found404Tidak ada pesanan dengan id ini di akun Anda.
refill_not_found404Tidak ada refill dengan id ini di akun Anda.
webhook_not_found404Tidak ada endpoint webhook dengan id ini di akun Anda.
order_not_cancelable409Pesanan ini tidak bisa dibatalkan lagi karena statusnya saat ini.
cancel_rejected409Provider menolak permintaan pembatalan.
order_not_completed409Refill hanya bisa diminta untuk pesanan yang sudah selesai.
idempotency_key_reuse409Idempotency-Key ini sudah dipakai dengan body request yang berbeda.
idempotency_in_progress409Request dengan Idempotency-Key ini masih diproses. Coba lagi dalam beberapa saat.
webhook_limit_reached409Anda sudah mencapai jumlah maksimum endpoint webhook.
insufficient_balance402Saldo tidak cukup untuk pesanan ini.
rate_limit_exceeded429Batas request terlampaui. Lihat header response Retry-After.
provider_error502Provider mengembalikan error. Coba lagi.
refill_failed502Permintaan refill ditolak oleh provider.
service_temporarily_unavailable503Layanan ini sedang tidak tersedia untuk sementara. Coba lagi nanti.
internal_error500Terjadi kesalahan tak terduga di sistem kami.