Katalog service lanjutan
Mengembalikan snapshot berhalaman dari service aktif dengan rate sesuai akun dan metadata penemuan terstruktur. Gunakan action services lama jika SDK reseller yang ada membutuhkan bentuk array cache asli.
https://notpanel.com/api/v3action=catalogapplication/x-www-form-urlencodedaction=catalog adalah snapshot penemuan. catalog_updated_at menunjukkan metadata katalog terbaru dalam hasil terfilter, bukan timestamp harga atau quote yang dijamin. Charge dari response action=add yang committed adalah acuan.Parameter
| Nama | Tipe | Deskripsi |
|---|---|---|
| keyWajib | string | API key Anda. |
| actionWajib | string | Harus berupa string literal "catalog". |
| page | integer | Nomor halaman 1 sampai 100000. Default 1. |
| limit | integer | Jumlah baris per halaman 1 sampai 200. Default 100. |
| language | language code | Bahasa nama service opsional: en, es, pt, ru, tr, ar, hi, id, fr, atau zh. pt adalah Portugis Brasil dan zh adalah Mandarin Sederhana. Jangan kirim untuk bentuk Inggris lama. Admin dapat meninjau atau menyempurnakan setiap nama. |
| search | string | Pencarian nama service tanpa membedakan huruf besar-kecil, atau ID service numerik persis. Maksimum 100 karakter. |
| platform | integer | slug | ID numerik atau slug platform. |
| category | integer | slug | ID numerik atau slug kategori. Slug memerlukan platform; ID kategori numerik dapat digunakan tanpa platform. |
| type | string | Jenis layanan yang didukung secara tepat, seperti default, custom_comments, package, atau web_traffic. |
| sort | string | Salah satu dari popular, price_asc, price_desc, time_asc, time_desc, name_asc, atau newest. Default popular. |
| refill | boolean | Filter berdasarkan kemampuan refill. Menerima 1, 0, true, atau false. |
| dripfeed | boolean | Filter berdasarkan kemampuan drip-feed. Menerima 1, 0, true, atau false. |
| available | boolean | Filter berdasarkan ketersediaan order saat ini. Menerima 1, 0, true, atau false; action=add tetap memeriksa ulang ketersediaan saat melakukan commit order. |
| min_rate | USD decimal | Rate USD minimum non-negatif sesuai akun per 1.000 unit. Gunakan desimal kanonis dari 0 sampai 999999999999.99999999, maksimal 12 digit bilangan bulat dan 8 digit pecahan; tanda dan eksponen ditolak. |
| max_rate | USD decimal | Rate USD maksimum non-negatif sesuai akun per 1.000 unit. Tidak boleh lebih rendah dari min_rate. Gunakan desimal kanonis dari 0 sampai 999999999999.99999999, maksimal 12 digit bilangan bulat dan 8 digit pecahan; tanda dan eksponen ditolak. |
Contoh request
Ganti YOUR_API_KEY dengan key yang dibuat di halaman API dashboard Anda.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=catalog&platform=instagram&available=true&sort=price_asc&limit=2&language=hi"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "catalog",
platform: "instagram",
available: "true",
sort: "price_asc",
limit: "2",
language: "hi",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "catalog",
"platform": "instagram",
"available": "true",
"sort": "price_asc",
"limit": "2",
"language": "hi",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'catalog',
'platform' => 'instagram',
'available' => 'true',
'sort' => 'price_asc',
'limit' => '2',
'language' => 'hi',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Contoh response
{
"as_of": "2026-08-25T10:30:00.000Z",
"requested_language": "hi",
"catalog_updated_at": "2026-08-25T09:45:12.000Z",
"total": 1,
"page": 1,
"per_page": 2,
"total_pages": 1,
"lowest_rate_per_1000": "0.50",
"currency": "USD",
"items": [
{
"service": "42547",
"name": "Instagram कस्टम कमेंट्स",
"canonical_name": "Instagram Custom Comments",
"name_language": "hi",
"description": "Custom comments for a public post",
"type": "custom_comments",
"rate": "0.50",
"min": "10",
"max": "5000",
"platform": {
"id": 1,
"slug": "instagram",
"name": "Instagram"
},
"category": {
"id": 12,
"slug": "comments",
"name": "Comments"
},
"refill": true,
"dripfeed": false,
"available": true,
"cancel": true,
"cancel_mode": "grace_window",
"cancel_window_seconds": 15,
"average_time": "0-30 minutes",
"average_time_minutes": 18,
"average_time_sample_size": 24,
"average_time_basis": "measured",
"input_fields": [
{
"key": "comments",
"label": "Comments",
"type": "textarea",
"required": true,
"placeholder": "One comment per line. Each line is a separate comment."
}
],
"updated_at": "2026-08-25T09:45:12.000Z"
}
]
}Error umum
| Status | Body | Penyebab |
|---|---|---|
| 400 | {"error":"A platform is required when category is a slug"} | Slug kategori ambigu tanpa slug atau ID platform. Berikan platform, atau gunakan ID numerik kategori. |
| 400 | {"error":"Invalid catalog sort"} | Nilai sort bukan salah satu mode sort katalog yang didokumentasikan. |
| 400 | {"error":"language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh","error_code":"INVALID_LANGUAGE"} | Nilai bahasa tidak didukung. Gunakan salah satu dari sepuluh kode bahasa nama layanan yang terdokumentasi. |