Ringkasan utama
Cara mengirim permintaan API v2 panel SMM standar, 6 action, contoh respons, pesan error, dan batas permintaan untuk reseller.
API panel SMM adalah cara menghubungkan panel lain atau program buatan sendiri untuk membuat pesanan otomatis dan mengecek statusnya. 1PANEL PLUS memakai API v2 panel SMM standar, jadi jika Anda sudah punya kode yang terhubung ke panel lain, cukup ganti alamat dan key untuk langsung terhubung. API dan situs web memakai layanan yang sama, harga per 1,000 yang sama, dan saldo yang sama.
Siapa yang memakai API panel SMM?
- Reseller: memasang layanan di panel sendiri dan meneruskan pesanan pelanggan secara otomatis
- Agensi: memasukkan pesanan banyak channel sekaligus pada waktu yang ditentukan
- Developer: membuat skrip yang memesan saat siaran dimulai atau video baru diunggah
- Operator: menampilkan saldo dan status pesanan di layar pengelolaan sendiri
Bagaimana cara mendapatkan API key?
Buat di layar API key pada dasbor setelah top up pertama Anda masuk. Key hanya ditampilkan satu kali saat dibuat, jadi segera salin dan simpan di tempat aman. Begitu key baru dibuat, key sebelumnya langsung tidak bisa dipakai, jadi jika Anda merasa key bocor, buat key baru untuk menggantinya.
Bagaimana mengirim permintaan API?
Semua permintaan dikirim dengan POST ke satu alamat, https://1panelplus.com/api/v2. Gunakan field form (application/x-www-form-urlencoded atau multipart) atau body JSON (Content-Type: application/json), mana yang lebih mudah, dan sertakan key dan action di setiap permintaan. Semua respons dalam format JSON.
Contoh permintaan (field form): key=YOUR_API_KEY&action=balance
Contoh permintaan (JSON): {"key": "YOUR_API_KEY", "action": "balance"}
| action | Nilai yang dikirim bersama | Nilai yang diterima |
|---|---|---|
| services | Tidak ada | Daftar layanan |
| add | service, link, quantity atau comments | order (nomor pesanan) |
| status | satu order atau orders (hingga 100, dipisah koma) | charge, start_count, status, remains, currency |
| refill | order | refill (nomor refill) |
| refill_status | refill | status |
| balance | Tidak ada | balance, currency |
- action
- services
- Nilai yang dikirim bersama
- Tidak ada
- Nilai yang diterima
- Daftar layanan
- action
- add
- Nilai yang dikirim bersama
- service, link, quantity atau comments
- Nilai yang diterima
- order (nomor pesanan)
- action
- status
- Nilai yang dikirim bersama
- satu order atau orders (hingga 100, dipisah koma)
- Nilai yang diterima
- charge, start_count, status, remains, currency
- action
- refill
- Nilai yang dikirim bersama
- order
- Nilai yang diterima
- refill (nomor refill)
- action
- refill_status
- Nilai yang dikirim bersama
- refill
- Nilai yang diterima
- status
- action
- balance
- Nilai yang dikirim bersama
- Tidak ada
- Nilai yang diterima
- balance, currency
Bagaimana mendapatkan daftar layanan dengan services?
Kirim action=services untuk menerima semua layanan yang tersedia dalam bentuk array. Setiap layanan berisi service (nomor layanan), name, type, category, rate, min, max, refill, dan cancel. rate adalah harga per 1,000 (USD), dan jika type adalah Package, itu harga untuk 1 paket. refill bernilai true untuk layanan dengan masa refill, dan cancel selalu false. category berisi nama platform beserta kategorinya, jadi Anda bisa langsung membuat kategori yang sama di panel Anda.
Contoh respons: [{"service": SERVICE_ID, "name": "Nama layanan", "type": "Default", "category": "YouTube - Nama kategori", "rate": "Harga per 1,000", "min": "Jumlah minimum", "max": "Jumlah maksimum", "refill": true, "cancel": false}]
Harga dan layanan bisa berubah, jadi jika Anda reseller, sebaiknya ambil ulang services secara berkala untuk menyesuaikan harga dan jumlah minimum serta maksimum di panel Anda.
Bagaimana membuat pesanan dengan add?
Kirim action=add bersama service (nomor layanan), link (link publik), dan quantity (jumlah), maka pesanan diterima dan totalnya langsung dipotong dari saldo. order dalam respons adalah nomor pesanan, jadi simpan nomor ini untuk dipakai di status dan refill. Pesanan bisa dibuat oleh akun yang top up pertamanya sudah masuk.
- Layanan biasa: kirim service, link, dan quantity
- Layanan Custom Comments: kirim comments sebagai pengganti quantity. Satu komentar per baris, maksimal 500 karakter per baris, dan jumlah baris menjadi kuantitas
- Layanan Package: jumlah tidak perlu dikirim. Dipesan sebagai satu paket
Contoh permintaan: key=YOUR_API_KEY&action=add&service=SERVICE_ID&link=https://www.youtube.com/watch?v=videoid&quantity=1000
Contoh respons: {"order": ORDER_ID}
Bagaimana mengecek status pesanan dengan status?
Kirim action=status dengan order (satu nomor pesanan) untuk menerima status pesanan tersebut, atau kirim orders berisi nomor pesanan yang dipisah koma untuk mengecek hingga 100 sekaligus. Jika Anda mengelola banyak pesanan, menggabungkannya dengan orders bisa sangat menghemat jumlah permintaan.
Contoh respons (satu): {"charge": "Jumlah yang dibayar", "start_count": "Angka awal", "status": "In progress", "remains": "Sisa jumlah", "currency": "USD"}
Contoh respons (banyak): {"ORDER_ID_1": {"charge": "...", "start_count": "...", "status": "Completed", "remains": "0", "currency": "USD"}, "ORDER_ID_2": {"error": "Incorrect order ID"}}
| Nilai status | Arti |
|---|---|
| Pending | Diterima dan menunggu dimulai atau sedang masuk ke proses |
| In progress | Sedang dikirim |
| Completed | Semua sudah terkirim |
| Partial | Sebagian terkirim dan sisa dana kembali ke saldo |
| Canceled | Tidak dapat diproses dan seluruh dana kembali ke saldo |
- Nilai status
- Pending
- Arti
- Diterima dan menunggu dimulai atau sedang masuk ke proses
- Nilai status
- In progress
- Arti
- Sedang dikirim
- Nilai status
- Completed
- Arti
- Semua sudah terkirim
- Nilai status
- Partial
- Arti
- Sebagian terkirim dan sisa dana kembali ke saldo
- Nilai status
- Canceled
- Arti
- Tidak dapat diproses dan seluruh dana kembali ke saldo
charge adalah jumlah yang dibayar dikurangi jumlah yang dikembalikan, jadi setelah Partial atau Canceled, jumlah yang benar-benar terpakai langsung terlihat. Status pesanan diperbarui otomatis sekitar setiap 1 menit, jadi cukup cek status dengan jeda sekitar 1 menit.
Bagaimana memakai refill dan refill_status?
Kirim action=refill dengan order untuk meminta refill dan menerima refill (nomor refill). Permintaan diterima untuk pesanan Completed atau Partial dari layanan dengan masa refill, dalam masa refill sejak pesanan berakhir, jika tidak ada refill yang sedang berjalan dan sudah 24 jam sejak permintaan terakhir. Kirim action=refill_status dengan refill untuk mendapatkan status berupa salah satu dari Pending, In progress, Completed, atau Rejected.
Contoh respons: {"refill": REFILL_ID} dan {"status": "Completed"}
Aturan refill sama dengan di situs web. Syarat lengkapnya kami rangkum di Mengenal masa refill.
Bagaimana mengecek saldo dengan balance?
Kirim action=balance untuk menerima saldo saat ini dan mata uangnya (USD). Jika Anda reseller, cek saldo sebelum meneruskan pesanan dan buat notifikasi saat saldo di bawah jumlah tertentu agar pesanan terus berjalan tanpa terputus.
Contoh respons: {"balance": "Saldo saat ini", "currency": "USD"}
Apa arti pesan error API?
Error dikirim sebagai JSON dengan kalimat bahasa Inggris di field error. Setiap kalimat memiliki penyebab yang tetap, jadi program Anda bisa langsung membandingkan dan menanganinya.
| Nilai error | Arti |
|---|---|
| Invalid API key | Key kosong atau tidak cocok |
| Too many requests | Melebihi jumlah permintaan per menit. Kirim lagi sebentar kemudian |
| Add funds first | Pesanan bisa dibuat setelah top up pertama masuk |
| Incorrect service ID | Bukan nomor layanan yang tersedia |
| Incorrect link | Format link tidak sesuai |
| Quantity out of range | Jumlah di luar rentang minimum dan maksimum layanan |
| Incorrect comments | Baris komentar kosong atau ada baris lebih dari 500 karakter |
| Not enough funds on balance | Saldo lebih kecil dari total pesanan |
| Incorrect order ID | Bukan nomor pesanan akun ini |
| Incorrect refill ID | Bukan nomor refill akun ini |
| Incorrect action | Nilai action bukan salah satu dari 6 pilihan |
- Nilai error
- Invalid API key
- Arti
- Key kosong atau tidak cocok
- Nilai error
- Too many requests
- Arti
- Melebihi jumlah permintaan per menit. Kirim lagi sebentar kemudian
- Nilai error
- Add funds first
- Arti
- Pesanan bisa dibuat setelah top up pertama masuk
- Nilai error
- Incorrect service ID
- Arti
- Bukan nomor layanan yang tersedia
- Nilai error
- Incorrect link
- Arti
- Format link tidak sesuai
- Nilai error
- Quantity out of range
- Arti
- Jumlah di luar rentang minimum dan maksimum layanan
- Nilai error
- Incorrect comments
- Arti
- Baris komentar kosong atau ada baris lebih dari 500 karakter
- Nilai error
- Not enough funds on balance
- Arti
- Saldo lebih kecil dari total pesanan
- Nilai error
- Incorrect order ID
- Arti
- Bukan nomor pesanan akun ini
- Nilai error
- Incorrect refill ID
- Arti
- Bukan nomor refill akun ini
- Nilai error
- Incorrect action
- Arti
- Nilai action bukan salah satu dari 6 pilihan
Untuk permintaan refill, respons yang mungkin adalah Refill is not available for this service (layanan tanpa masa refill), Order is not finished yet (pesanan belum berakhir), Refill period has ended (masa refill pesanan sudah lewat), dan Refill already requested, try again later (ada refill yang sedang berjalan atau belum lewat 24 jam).
Berapa banyak permintaan API yang bisa dikirim?
Satu key bisa mengirim hingga 300 permintaan per menit. Jika pengecekan status digabung 100 per permintaan dengan orders dan daftar layanan hanya diambil ulang saat diperlukan, batas ini lebih dari cukup. Misalnya, jika ada 1,000 pesanan yang sedang berjalan, semuanya bisa dicek dengan 10 permintaan sekali per menit.
Bagaimana reseller menentukan harga jual?
rate yang diterima lewat API adalah harga per 1,000 di 1PANEL PLUS, dan harga jual di panel Anda ditentukan sendiri oleh reseller. Misalnya, jika layanan dengan rate $2.00 dijual dengan tambahan 25%, harganya menjadi $2.50 per 1,000, dan jika pelanggan memesan 4,000, jumlah penjualan adalah $10.00 sedangkan yang dipotong di 1PANEL PLUS adalah $8.00. Harga ini adalah contoh untuk menunjukkan perhitungan.
Bagaimana urutan integrasi API yang baik?
- Top up saldo dan buat API key di dasbor
- Cek key dan koneksi dengan balance
- Ambil daftar layanan dengan services dan pasang di panel Anda
- Kirim add satu kali dengan jumlah terkecil untuk menerima nomor pesanan
- Cek perubahan status dengan status, lalu aktifkan pesanan otomatis
Contoh curl, PHP, Python, dan Node.js serta penjelasan semua field ada di Dokumentasi API, dan pertanyaan lain bisa dilihat di kelompok API pada Pertanyaan Umum.