Dokumentasi API
- Metode HTTP
POST- URL API
https://indonesia-smm.com/api/v2- Kunci API
- Buat akun, lalu buat kunci API
- Format Respons
- JSON
- Jenis konten
application/x-www-form-urlencoded- Kolom wajib
key+action
Contoh Kode
Setiap contoh mengambil daftar layanan melalui POST form-encoded. Ganti YOUR_API_KEY dengan kunci Anda dan jaga kerahasiaannya.
<?php
$url = 'https://indonesia-smm.com/api/v2';
$body = http_build_query(['key' => 'YOUR_API_KEY', 'action' => 'services']);
$ch = curl_init($url);
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => $body, CURLOPT_RETURNTRANSFER => true]);
$response = curl_exec($ch);
if ($response === false) { throw new RuntimeException(curl_error($ch)); }
curl_close($ch);
print_r(json_decode($response, true));
curl -X POST 'https://indonesia-smm.com/api/v2' -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'key=YOUR_API_KEY' --data-urlencode 'action=services'
import requests
url = 'https://indonesia-smm.com/api/v2'
response = requests.post(url, data={
'key': 'YOUR_API_KEY',
'action': 'services',
}, timeout=30)
response.raise_for_status()
print(response.json())
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
String body = "key=" + URLEncoder.encode("YOUR_API_KEY", StandardCharsets.UTF_8)
+ "&action=services";
HttpRequest request = HttpRequest.newBuilder(URI.create("https://indonesia-smm.com/api/v2"))
.header("Content-Type", "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(body)).build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Contoh sisi server Node.js 18+. Atur SMM_API_KEY pada lingkungan server; jangan tampilkan dalam kode peramban.
const endpoint = 'https://indonesia-smm.com/api/v2';
async function main() {
const key = process.env.SMM_API_KEY;
if (!key) throw new Error('Set SMM_API_KEY first');
const body = new URLSearchParams({ key, action: 'services' });
const response = await fetch(endpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
}
main().catch(console.error);
Daftar Layanan
action=services · Kolom POST
| Parameter | Deskripsi |
|---|---|
key | Ya. Kunci API pribadi Anda |
action | Ya. Gunakan persis: services |
Contoh permintaan
curl -X POST 'https://indonesia-smm.com/api/v2' -d 'key=YOUR_API_KEY' -d 'action=services'
Contoh Respons
[
{ "service": 123, "name": "Followers", "category": "Social", "type": "default", "rate": "0.90", "min": 50, "max": 10000, "refill": true, "cancel": true }
]
Tambah pesanan
action=add · Kolom POST
| Parameter | Deskripsi |
|---|---|
service | Ya. ID layanan berupa angka dari daftar layanan |
link | Bersyarat. URL tujuan; gunakan nama pengguna untuk pesanan langganan |
quantity | Bersyarat. Wajib untuk layanan berdasarkan jumlah; tidak digunakan untuk paket atau langganan |
comments | Opsional. Komentar khusus, satu per baris; jumlah harus sesuai untuk layanan komentar khusus |
runs | Opsional. Jumlah proses bertahap; harus lebih dari 1 untuk membuat pesanan bertahap |
interval | Opsional. Interval pesanan bertahap dalam menit; bawaan 60 jika tidak diisi |
username | Bersyarat. Wajib untuk pesanan langganan |
min_qty / max_qty | Bersyarat. Rentang jumlah langganan |
posts / old_posts / delay | Opsional. Pengaturan langganan, jika didukung |
expiry | Opsional. Tanggal akhir langganan dalam format HH/BB/TTTT |
answer_number | Opsional. Nomor jawaban polling untuk layanan polling |
Contoh PHP
<?php $order = $api->order(['service' => 123, 'link' => 'https://example.com/target', 'quantity' => 100]);
Respons berhasil berbeda menurut jenis pesanan. Standar: {order, link, quantity, charge, balance, currency}. Respons pesanan bertahap dan langganan mencakup dripfeed atau subscription detail.
Status pesanan
action=status · Kolom POST
Gunakan salah satu dari order atau orders. Untuk beberapa ID, kirim daftar yang dipisahkan koma.
| Parameter | Deskripsi |
|---|---|
order | Salah satu. Satu ID pesanan berupa angka |
orders | Salah satu. ID pesanan dipisahkan koma untuk beberapa hasil status |
Contoh PHP
<?php $status = $api->status(456); $many = $api->multiStatus([456, 457]);
Saldo
action=balance · Kolom POST
| Parameter | Deskripsi |
|---|---|
key | Ya. Kunci API pribadi Anda |
action | Ya. Gunakan persis: balance |
Contoh PHP
<?php $balance = $api->balance();
Isi ulang
action=refill · Kolom POST
Gunakan kolom ID tunggal atau jamak, bukan keduanya. Isi ulang hanya tersedia untuk layanan yang memenuhi syarat dan selama periode isi ulang.
| Parameter | Deskripsi |
|---|---|
order | Salah satu. Satu ID pesanan yang memenuhi syarat |
orders | Salah satu. ID pesanan dipisahkan koma |
Contoh PHP
<?php $refill = $api->refill(456); $many = $api->multiRefill([456, 457]);
Status isi ulang
action=refill_status · Kolom POST
Gunakan kolom ID tunggal atau jamak, bukan keduanya. Isi ulang hanya tersedia untuk layanan yang memenuhi syarat dan selama periode isi ulang.
| Parameter | Deskripsi |
|---|---|
refill | Salah satu. Satu ID permintaan isi ulang |
refills | Salah satu. ID permintaan isi ulang dipisahkan koma |
Contoh PHP
<?php $status = $api->refillStatus(12); $many = $api->multiRefillStatus([12, 13]);
Batalkan pesanan
action=cancel · Kolom POST
Permintaan pembatalan bukan konfirmasi bahwa pekerjaan penyedia telah berhenti. Hasil menunjukkan apakah permintaan diterima; pesanan selesai atau yang tidak memenuhi syarat tidak dapat dibatalkan.
| Parameter | Deskripsi |
|---|---|
orders | Ya. ID pesanan berupa angka dipisahkan koma |
Contoh PHP
<?php $result = $api->cancel([456, 457]);
Respons dan kesalahan
Respons berhasil berupa JSON. Kesalahan dapat meliputi kunci tidak valid (401), akun ditangguhkan (403), tindakan tidak dikenal (400), atau kesalahan validasi pesanan. Periksa respons sebelum mencoba kembali agar tidak membuat pesanan duplikat.
ID layanan dan pesanan adalah ID publik berupa angka. Status pesanan mencakup status saat ini, biaya, jumlah awal, sisa, dan mata uang.
Lindungi kunci API Anda
Simpan kunci di server, misalnya dalam variabel lingkungan atau pengelola rahasia. Jangan letakkan dalam URL, JavaScript frontend, repositori publik, atau tangkapan layar. Jika bocor, buat pengganti melalui Akun; kunci lama akan dinonaktifkan.
Dokumentasi ini bersifat publik; saldo, pesanan, isi ulang, dan pembatalan tetap memerlukan kunci API yang valid.
Berkas contoh PHP
Buka contoh klien PHP sebagai teks biasa. Tambahkan kunci API Anda di server sebelum menggunakannya.