Catálogo
Listar serviços
Lista todos os serviços que você pode pedir, com seu próprio preço, limites, etiquetas, campos extras, limites de drip feed e disponibilidade. Cada serviço é um objeto, e todos os campos de versões anteriores continuam ali.
https://notpanel.com/api/v3action=services- Chave de API obrigatória
- Limite de requisições atingido
- Corpo:
application/x-www-form-urlencoded
Parâmetros
Sempre enviado
keystringObrigatório- Sua chave de API.
actionstringObrigatórioservicesDeve ser a string literal "services".
Parâmetros da ação
languagestringOpcional- Idioma dos nomes. Omita para inglês. O nome em inglês está sempre em canonical_name.en · es · pt · ru · tr · ar · hi · id · fr · zh
servicestring (CSV)Opcional- Retorna somente estes serviços. Até 100 IDs de serviço separados por vírgula.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=services&service=7,12"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: "services",
service: "7,12",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "services",
"service": "7,12",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'services',
'service' => '7,12',
]);
$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));
Substitua YOUR_API_KEY pela chave da sua página de API.
[
{
"service": "7",
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram Followers",
"rate": "1.20",
"min": "100",
"max": "10000",
"refill": true,
"cancel": true,
"dripfeed": true,
"type_key": "default",
"canonical_name": "Instagram Followers",
"name_language": "en",
"platform": "instagram",
"tags": ["refill", "cancel", "drip_feed"],
"fields": [],
"drip_feed": {
"mode": "batches",
"min_runs": 2,
"max_runs": 100,
"min_interval_minutes": 1,
"max_interval_minutes": 1440,
"max_total_minutes": 2880
},
"step": 1,
"availability": "available",
"average_time_minutes": 30
},
{
"service": "12",
"name": "Telegram Post Reactions",
"type": "Default",
"category": "Telegram Reactions",
"rate": "0.90",
"min": "10",
"max": "50000",
"refill": false,
"cancel": false,
"dripfeed": false,
"type_key": "default",
"canonical_name": "Telegram Post Reactions",
"name_language": "en",
"platform": "telegram",
"tags": ["reactions"],
"fields": [
{
"key": "reactions",
"kind": "reactions",
"required": false,
"label": "Reactions",
"allowed": ["👍", "👎", "❤️", "🔥", "🥰", "👏", "😁", "🤔", "🤯", "😱", "🤬", "😢", "🎉", "🤩", "🤮", "💩", "🙏", "👌", "🕊️", "🤡", "🥱", "🥴", "😍", "🐳", "❤️🔥", "🌚", "🌭", "💯", "🤣", "⚡", "🍌", "🏆", "💔", "🤨", "😐", "🍓", "🍾", "💋", "🖕", "😈", "😴", "😭", "🤓", "👻", "👨💻", "👀", "🎃", "🙈", "😇", "😨", "🤝", "✍️", "🤗", "🫡", "🎅", "🎄", "☃️", "💅", "🤪", "🗿", "🆒", "💘", "🙉", "🦄", "😘", "💊", "🙊", "😎", "👾", "🤷♂️", "🤷", "🤷♀️", "😡"],
"max_distinct": 11,
"modes": ["mix", "exact"]
}
],
"drip_feed": null,
"step": 1,
"availability": "available",
"average_time_minutes": null
}
]Erros
- 400
{"error":"Invalid language: not_allowed","error_code":"INVALID_PARAMETER","retryable":false,"details":{"param":"language","rule":"not_allowed"}}O idioma não é um dos códigos de idioma compatíveis.
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}A lista de serviços contém mais de 100 IDs.
- 429
{"error":"Rate limit exceeded","error_code":"API_RATE_LIMITED","retryable":true,"retry_after":12}Mais de 10 requisições em um minuto. Aguarde os segundos indicados em Retry-After.
Campos da resposta
A resposta é um array com um objeto por serviço. Todos os campos de versões anteriores continuam iguais; tags, fields, drip_feed, step, availability e average_time_minutes são novos, e cancel agora significa o que diz.
Campos da resposta
serviceinteger- ID numérico estável do serviço. Use-o como
serviceemadd. namestring- Nome do serviço no idioma solicitado.
typestring- Nome do tipo de serviço. Para a lógica, use
type_key. categorystring- Nome da categoria.
ratestring- Seu próprio preço por 1.000 unidades em USD, como string. Já inclui o desconto da sua conta. Para um pacote, é o preço de um pedido.
mininteger- Menor quantidade para um pedido.
maxinteger- Maior quantidade para um pedido.
refillbooleantruequando a reposição funciona para este serviço pela API.cancelbooleantruequando há suporte a solicitações de cancelamento após os primeiros 15 segundos. O cancelamento instantâneo do início funciona em todos os pedidos e não aparece aqui.dripfeedbooleantruequando o serviço aceita drip feed, seja comrunseintervalou comdrip_feed_total_minutes.type_keystring- Chave de tipo estável, como
defaultoucustom_comments. Ela indica quais campos extras esperar. canonical_namestring- O nome em inglês, mesmo quando
languageé definido. name_languagestring- Idioma de
name. platformstring | null- Chave da plataforma, como
instagram, ounullquando o serviço não tem nenhuma. tagsstring[]- Etiquetas curtas sobre o que o serviço oferece. Veja a lista abaixo.
fieldsobject[]- Entradas extras que o serviço aceita, com seus limites. Vazio quando só link e quantidade são necessários.
drip_feedobject | null- Limites de drip feed, ou
nullquando o serviço não tem. stepinteger- A quantidade deve ser múltipla deste número.
availabilitystringavailableoupaused. Veja Disponibilidade abaixo.average_time_minutesinteger | null- Média de minutos até o início da entrega, ou
nullquando há poucos pedidos conhecidos.
Etiquetas
tags permite filtrar a lista sem ler todos os campos. Um serviço tem uma etiqueta para cada coisa que oferece.
Etiquetas
refill- A reposição funciona pela API.
cancel- Há suporte a solicitações de cancelamento, não só ao cancelamento instantâneo.
drip_feed- O serviço aceita drip feed.
reactions- O serviço aceita um campo
reactions. last_posts- O serviço aceita um campo
last_posts. poll_answer- O serviço aceita um campo
answer_number. Cada um dos outros campos extras adiciona uma etiqueta com o próprio nome, por exemplocomments.
Campos extras
fields descreve cada entrada extra que um serviço aceita: sua chave, tipo, se é obrigatória e seus limites. Envie cada campo pela sua chave em add. As reações listam os emojis permitidos e os modos. A próxima página explica cada campo e suas regras.
Limites de drip feed
drip_feed é null ou uma de duas formas. Os serviços batches aceitam um número de execuções e os minutos entre elas. Os serviços unit_delay distribuem o pedido inteiro em um tempo total. De qualquer forma, o pedido inteiro pode levar no máximo 48 horas (2880 minutos).
{
"mode": "batches",
"min_runs": 2,
"max_runs": 100,
"min_interval_minutes": 1,
"max_interval_minutes": 1440,
"max_total_minutes": 2880
}{
"mode": "unit_delay",
"max_total_minutes": 2880
}Disponibilidade
Erros de serviço ao pedir
add retorna estes erros quando o serviço escolhido não pode receber um pedido.
- 404
SERVICE_NOT_FOUND
Service not foundNenhum serviço tem este ID, ou ele não está disponível para você. Corrija a requisição primeiro.
- 410
SERVICE_DISCONTINUED
Service has been discontinuedO serviço foi descontinuado. Corrija a requisição primeiro.
- 409
SERVICE_PAUSED
Service is temporarily unavailableO serviço está pausado por enquanto. Tente de novo mais tarde. Tentar de novo pode ajudar.
Outras ações de leitura
action=catalog retorna os serviços como uma lista paginada, com plataforma, categoria, tempo médio e campos do pedido. Filtros opcionais: page, limit, search, platform, category, type, refill, dripfeed, available, min_rate, max_rate, sort e language. catalog é limitado a 30 requisições por minuto por conta.
action=account_status retorna seu gasto acumulado, seu nível de limite da API e seu desconto.