neopanel

API

Dokumentasi API

Pesan layanan, cek status, minta refill, batalkan pesanan, dan cek saldo dari panel atau skrip Anda sendiri. Formatnya sama dengan API panel SMM v2 pada umumnya, jadi panel lain bisa memakai neopanel sebagai penyedia.

Alamat
https://neopanel.id/api/v2
Metode
POST, body application/x-www-form-urlencoded atau JSON
Mata uang
Rupiah (IDR); harga per 1.000

Mulai

  1. Daftar lalu buat API key di halaman Profil & API. Key hanya tampil sekali saat dibuat; simpan di tempat aman.
  2. Isi saldo. Setiap pesanan lewat API dipotong dari saldo akun yang sama dengan panel web.
  3. Kirim permintaan pertama, misalnya cek saldo:
curl -X POST https://neopanel.id/api/v2 \
  -d key=API_KEY_ANDA \
  -d action=balance

Format permintaan

Semua permintaan dikirim ke satu alamat dengan dua parameter wajib. Parameter lain tergantung action.

ParameterIsi
keyAPI key Anda, diawali neo_
actionSalah satu: services, add, status, refill, refill_status, cancel, balance

ID pesanan dan ID refill sama dengan yang tampil di riwayat pesanan dan halaman isi ulang. ID layanan sama dengan yang tampil di katalog layanan.

Galat dan batas

Permintaan yang gagal dijawab dengan satu field error berisi penjelasan. Seperti panel SMM v2 lain, status HTTP-nya tetap 200, kecuali:

HTTPArti
401API key kosong, salah, atau sudah dicabut
405Bukan metode POST
429Lebih dari 120 permintaan per menit untuk satu key. Tunggu sesuai header Retry-After.
{"error": "Saldo tidak cukup: biaya pesanan Rp 15.000, saldo Anda Rp 2.000. Isi saldo dulu."}

services

Daftar layanan dengan harga jual per 1.000 dalam Rupiah. Tidak butuh parameter lain.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=services
[
  {
    "service": 1,
    "name": "Instagram Followers",
    "type": "Default",
    "category": "Instagram Followers",
    "rate": "14850.00",
    "min": "50",
    "max": "10000",
    "refill": true,
    "cancel": false
  }
]

type menentukan parameter yang dibutuhkan add; lihat parameter per tipe.

add

Membuat pesanan. Biaya dihitung dari harga layanan dan langsung dipotong dari saldo. Jika penyedia menolak pesanan, saldo tidak dipotong.

ParameterIsi
serviceID layanan
linkTautan postingan atau profil, atau username
quantityJumlah, di antara min dan max layanan
Parameter lain sesuai tipe layanan, lihat tabel di bawah.
curl -X POST https://neopanel.id/api/v2 \
  -d key=API_KEY_ANDA \
  -d action=add \
  -d service=1 \
  -d link=https://instagram.com/akun_anda \
  -d quantity=1000
{"order": 23501}

Parameter per tipe

Parameter wajib untuk add menurut type dari action services. Daftar (komentar, username, hashtag) dipisah baris baru.

TipeWajibCatatan
Defaultlink, quantityruns, interval (drip-feed: quantity dikirim sebanyak runs kali, jeda interval menit)
PackagelinkHarga paket dipotong satu kali
Custom Commentslink, commentsSatu komentar per baris; jumlah baris menjadi jumlah pesanan
Mentions with Hashtagslink, quantity, usernames, hashtagsSatu username atau hashtag per baris
Mentions Custom Listlink, usernamesSatu username per baris; jumlah baris menjadi jumlah pesanan
Mentions User Followerslink, quantity, usernameusername berisi tautan profil sumber
Mentions Media Likerslink, quantity, mediamedia berisi tautan postingan sumber
Comment Likeslink, quantity, usernameusername pemilik komentar
Polllink, quantity, answer_numberNomor pilihan jawaban, mulai dari 1
Subscriptionsusername, min, max, posts, delayold_posts dan expiry (dd/mm/yyyy) opsional; delay dalam menit: 0, 5, 10, 15, 20, 30, 40, 50, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360, 420, 480, 540, 600

Subscriptions dipotong di awal untuk max × posts.

status

Status satu pesanan dengan order, atau sampai 100 pesanan sekaligus dengan orders (ID dipisah koma). Status diperbarui dari penyedia setiap beberapa menit.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=status -d order=23501
{
  "charge": "14850.00",
  "start_count": "3572",
  "status": "In progress",
  "remains": "157",
  "currency": "IDR"
}
curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=status -d orders=23501,23502
{
  "23501": {"charge": "14850.00", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "IDR"},
  "23502": {"error": "ID pesanan tidak ditemukan."}
}

Nilai status: Pending, In progress, Processing, Completed, Partial, Canceled. Pesanan Canceled dikembalikan penuh ke saldo; pesanan Partial dikembalikan sebanding dengan remains.

refill

Meminta refill untuk layanan yang mendukungnya ("refill": true). Satu pesanan dengan order, atau beberapa dengan orders.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=refill -d order=23501
{"refill": 1}
[
  {"order": 23501, "refill": 1},
  {"order": 23502, "refill": {"error": "ID pesanan tidak ditemukan."}}
]

refill_status

Status satu refill dengan refill, atau beberapa dengan refills.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=refill_status -d refill=1
{"status": "Completed"}
[
  {"refill": 1, "status": "Completed"},
  {"refill": 2, "status": {"error": "ID refill tidak ditemukan."}}
]

cancel

Meminta pembatalan untuk layanan yang mendukungnya ("cancel": true), dengan orders berisi ID dipisah koma. Saldo kembali setelah status pesanan berubah menjadi Canceled.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=cancel -d orders=23501,23502
[
  {"order": 23501, "cancel": 1},
  {"order": 23502, "cancel": {"error": "ID pesanan tidak ditemukan."}}
]

balance

Saldo akun dalam Rupiah.

curl -X POST https://neopanel.id/api/v2 -d key=API_KEY_ANDA -d action=balance
{"balance": "125000.00", "currency": "IDR"}

Contoh PHP

Tanpa library tambahan. Simpan API key di variabel lingkungan, bukan di kode.

<?php

function neopanel(array $params): array
{
    $ch = curl_init('https://neopanel.id/api/v2');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query(['key' => getenv('NEOPANEL_API_KEY')] + $params),
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 60,
    ]);
    $body = curl_exec($ch);
    curl_close($ch);

    $data = json_decode((string) $body, true);
    if (!is_array($data) || isset($data['error'])) {
        throw new RuntimeException($data['error'] ?? 'Respons tidak bisa dibaca');
    }

    return $data;
}

$order = neopanel(['action' => 'add', 'service' => 1, 'link' => 'https://instagram.com/akun_anda', 'quantity' => 1000]);
$status = neopanel(['action' => 'status', 'order' => $order['order']]);

Butuh bantuan? Buat tiket bantuan dari dasbor.