Kompatibel standar SMM panel v2
Satu endpoint. Semua otomatis.
Sambungkan panel, bot, atau aplikasimu ke Sewabuzzer dalam hitungan menit. Format request dan responsnya ngikutin standar SMM panel v2, jadi script yang udah ada tinggal ganti URL dan key.
POSThttps://sewabuzzer.id/api/v1
Content-Type: application/x-www-form-urlencoded
atau application/json
Respons: JSON
Mulai
Mulai dalam tiga langkah
Buat API key
Buka Dashboard → API lalu klik buat key. Key cuma tampil sekali dan kami simpan dalam bentuk hash, jadi catat di tempat aman.
Kunci dengan IP whitelist
Opsional tapi disarankan: daftarkan IP server panelmu biar key nggak bisa dipakai dari tempat lain walau bocor.
Kirim request
Semua action pakai endpoint yang sama dengan metode POST. Kirim key dan action, lalu parameter tambahan sesuai kebutuhan.
Batas request. API punya batas request per menit biar tetap stabil buat semua pengguna. Kalau terlampaui, kamu dapat error Too many requests. Buat memantau banyak pesanan, pakai multi-status (sampai 100 ID per request) dan simpan daftar layanan di cache panelmu.
Daftar layanan
Ambil semua layanan aktif beserta harga per 1.000 untuk akunmu. Simpan hasilnya dan sinkronkan berkala, jangan dipanggil di setiap order.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "services". |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=services"[
{
"service": 1,
"name": "Instagram Followers Indonesia Aktif",
"type": "Default",
"category": "Instagram Followers",
"rate": "28000.00",
"min": "50",
"max": "20000",
"refill": true,
"cancel": false,
"dripfeed": false
},
{
"service": 7,
"name": "Instagram Comments Custom",
"type": "Custom Comments",
"category": "Instagram Comments",
"rate": "45000.00",
"min": "10",
"max": "1000",
"refill": false,
"cancel": false,
"dripfeed": false
}
]rate adalah harga per 1.000 dalam Rupiah, sudah termasuk diskon level akunmu.
Buat pesanan
Kirim pesanan baru. Saldo terpotong saat pesanan diterima; jika gagal di sisi penyedia, saldo dikembalikan otomatis.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "add". |
| service | Ya | ID layanan dari action services. |
| link | Ya | Link atau username target (akun harus publik). |
| quantity | Ya | Jumlah pesanan, di antara min dan max layanan. |
| comments | Opsional | Khusus layanan Custom Comments: satu komentar per baris (pisahkan dengan \n). Jumlah baris = quantity. |
| runs | Opsional | Drip-feed: berapa kali pesanan dikirim bertahap. |
| interval | Opsional | Drip-feed: jeda antar pengiriman, dalam menit. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=add" \
--data-urlencode "service=1" \
--data-urlencode "link=https://instagram.com/username" \
--data-urlencode "quantity=1000"{
"order": 23501
}Untuk drip-feed, total yang dikirim = quantity × runs dan saldo dipotong sesuai total tersebut.
Status pesanan
Cek progres satu pesanan: jumlah awal, sisa, biaya, dan status terkini.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "status". |
| order | Ya | ID pesanan dari respons add. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=status" \
--data-urlencode "order=23501"{
"charge": "28000.00",
"start_count": "3572",
"status": "In progress",
"remains": "157",
"currency": "IDR"
}Status banyak pesanan
Cek hingga 100 pesanan sekaligus. Jauh lebih hemat request dibanding mengecek satu per satu.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "status". |
| orders | Ya | ID pesanan dipisah koma, maksimal 100. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=status" \
--data-urlencode "orders=23501,23502,99999"{
"23501": {
"charge": "28000.00",
"start_count": "3572",
"status": "Completed",
"remains": "0",
"currency": "IDR"
},
"23502": {
"charge": "9500.00",
"start_count": "120",
"status": "Partial",
"remains": "84",
"currency": "IDR"
},
"99999": {
"error": "Incorrect order ID"
}
}Minta refill
Ajukan isi ulang gratis untuk pesanan bergaransi yang jumlahnya turun, selama masih dalam masa garansi.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "refill". |
| order | Ya | ID pesanan yang ingin di-refill. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=refill" \
--data-urlencode "order=23501"{
"refill": 1042
}Status refill
Pantau hasil permintaan refill.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "refill_status". |
| refill | Ya | ID refill dari respons refill. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=refill_status" \
--data-urlencode "refill=1042"{
"status": "Completed"
}Nilai status: Pending, In progress, Completed, Rejected.
Batalkan pesanan
Batalkan pesanan yang belum berjalan pada layanan yang mendukung cancel. Saldo dikembalikan otomatis.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "cancel". |
| orders | Ya | ID pesanan dipisah koma, maksimal 100. |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=cancel" \
--data-urlencode "orders=23501,23502"[
{
"order": 23501,
"cancel": 1
},
{
"order": 23502,
"cancel": {
"error": "Order cannot be canceled"
}
}
]Cek saldo
Ambil saldo akun saat ini. Cocok untuk alert saldo menipis di panelmu.
| Parameter | Wajib | Keterangan |
|---|---|---|
| key | Ya | API key kamu dari menu Dashboard → API. |
| action | Ya | Isi dengan "balance". |
curl -X POST "https://sewabuzzer.id/api/v1" \
--data-urlencode "key=API_KEY_KAMU" \
--data-urlencode "action=balance"{
"balance": "1250000.00",
"currency": "IDR"
}Nilai status pesanan
Field status selalu bernilai salah satu dari berikut, sama seperti panel v2 lainnya.
- Pending
- Diterima dan menunggu diproses penyedia.
- In progress
- Sedang berjalan, angka mulai bertambah.
- Processing
- Sedang diproses oleh sistem penyedia.
- Completed
- Selesai sesuai jumlah.
- Partial
- Sebagian terkirim; sisa saldo dikembalikan otomatis.
- Canceled
- Dibatalkan; saldo dikembalikan penuh.
Penanganan error
Kalau request gagal, responsnya berisi satu field error berupa pesan berbahasa Inggris (standar v2), jadi gampang dicocokkan oleh script yang udah ada.
| Contoh pesan | Artinya |
|---|---|
| Invalid API key | Key salah, sudah dibuat ulang, atau akun dinonaktifkan. |
| IP not allowed | IP whitelist aktif dan request datang dari IP yang tidak terdaftar. |
| Incorrect request | Parameter wajib kosong atau action tidak dikenal. |
| Incorrect service ID | Layanan tidak ada atau sedang nonaktif. |
| Quantity less than minimal 50 | Jumlah di bawah minimum layanan (angka mengikuti layanan). |
| Quantity more than maximal 20000 | Jumlah di atas maksimum layanan. |
| Not enough funds on balance | Saldo tidak cukup. Isi saldo lalu kirim ulang. |
| Incorrect order ID | Pesanan tidak ditemukan atau bukan milik akunmu. |
| Too many requests | Batas request terlampaui. Tunggu sebentar lalu ulangi. |
{
"error": "Not enough funds on balance"
}PHP class siap pakai
Salin ke proyekmu, isi API key, beres. Semua action udah dibungkus jadi method.
<?php
/**
* Sewabuzzer API client — kompatibel SMM Panel API v2.
* Pemakaian:
* $api = new SewabuzzerApi('API_KEY_KAMU');
* $order = $api->order(['service' => 1, 'link' => 'https://instagram.com/username', 'quantity' => 1000]);
* $status = $api->status($order->order);
*/
class SewabuzzerApi
{
public string $url = 'https://sewabuzzer.id/api/v1';
public function __construct(private string $key) {}
public function services() { return $this->call(['action' => 'services']); }
/** $data: service, link, quantity, [comments], [runs], [interval] */
public function order(array $data) { return $this->call(['action' => 'add'] + $data); }
public function status(int $order) { return $this->call(['action' => 'status', 'order' => $order]); }
/** Maksimal 100 ID per panggilan. */
public function multiStatus(array $orders) { return $this->call(['action' => 'status', 'orders' => implode(',', $orders)]); }
public function refill(int $order) { return $this->call(['action' => 'refill', 'order' => $order]); }
public function refillStatus(int $refill) { return $this->call(['action' => 'refill_status', 'refill' => $refill]); }
public function cancel(array $orders) { return $this->call(['action' => 'cancel', 'orders' => implode(',', $orders)]); }
public function balance() { return $this->call(['action' => 'balance']); }
private function call(array $post)
{
$ch = curl_init($this->url);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_POSTFIELDS => http_build_query(['key' => $this->key] + $post),
CURLOPT_USERAGENT => 'SewabuzzerApi/1.0',
]);
$result = curl_exec($ch);
if ($result === false) throw new RuntimeException(curl_error($ch));
curl_close($ch);
return json_decode($result);
}
}