Langsung ke konten utama
1PANEL PLUS

Cara memakai API panel SMM: panduan integrasi API v2 untuk reseller

Ditulis oleh 1PANEL PLUS17 menit baca YouTubeTerakhir diperbarui


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
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
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
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?

  1. Top up saldo dan buat API key di dasbor
  2. Cek key dan koneksi dengan balance
  3. Ambil daftar layanan dengan services dan pasang di panel Anda
  4. Kirim add satu kali dengan jumlah terkecil untuk menerima nomor pesanan
  5. 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.