A API v3 mantém o contrato conhecido key + action com respostas JSON. Um cliente reseller existente pode trocar diretamente a URL base; campos e ações avançados do v3 são extensões opcionais.
Cadastro gratuito via /register — e-mail ou Google OAuth. Nenhum cartão de crédito é necessário para gerar uma chave de API, apenas para adicionar fundos à carteira e fazer pedidos reais.
Depois de logar, vá para /dashboard/api. Clique em "Gerar chave" e copie o valor bruto — ele é exibido uma única vez, nunca mais. Se você perdê-lo, revogue-o e gere um novo. Cada usuário pode manter até 5 chaves ativas.
Todas as suas chaves compartilham o limite efetivo de requisições por minuto da conta. O gasto bem-sucedido vitalício define o nível automático; limites de IP e ação também podem se aplicar — veja Limites de taxa.
Para compatibilidade, action=services devolve um array em cache dos serviços ativos com o preço da conta, mínimo, máximo e flags de capacidade. Use action=catalog quando precisar de paginação, pesquisa, disponibilidade, metadados de plataforma e categoria, ou campos de atualização. Substitua YOUR_API_KEY pela chave do passo 2.
# 1. List active catalog services
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=services"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",
}),
});
const services = await res.json();
console.log(`Found ${services.length} services`);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={"key": "YOUR_API_KEY", "action": "services"},
)
services = res.json()
print(f"Found {len(services)} services")<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'services',
]);
$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,
],
]));
$services = json_decode($response, true);
echo "Found " . count($services) . " services\n";
Precisa de nomes naturais para usuários da sua região? Adicione language=pt (ou en, es, ru, tr, ar, hi, id, fr, zh) a services ou catalog. Os nomes são localizados com terminologia de mercado selecionada conforme o uso real do mercado, as marcas continuam reconhecíveis e a resposta informa o idioma usado. Omita para manter inalterado o formato legado em inglês. Os administradores podem revisar ou ajustar cada nome.
Escolha um service, financie a wallet e chame action=add com os campos do tipo. Clientes antigos podem enviar a solicitação conhecida sem mudanças. Para retries exatos, adicione opcionalmente um request_id único de até 128 caracteres. Veja Fazer pedido para a lista completa de parâmetros.
Faça polling de status para pedidos individuais ou lotes de até 100 IDs. Para integrações orientadas a eventos, registre um webhook para os seis eventos suportados: order.completed, order.partial, order.processing, order.in_progress, order.refunded e order.refill_completed. A entrega é de melhor esforço com novas tentativas; reconcilie estados importantes com action=status.
Troque a URL base e mantenha as chamadas conhecidas key + action. services, add, status, balance, refill, refill_status e cancel funcionam diretamente. Adote catalog, refund_quote, chaves exatas, lotes e webhooks assinados quando precisar.