API SMM: documentação pública
A API SMM do Painel de Revenda segue o padrão usado pelos painéis do mercado: uma URL, requisições POST com a sua chave e a ação desejada, resposta em JSON. As ações são services (catálogo), add (novo pedido), status (situação de um ou vários pedidos), refill (reposição) e balance (saldo). Se o seu painel ou sistema já fala com um fornecedor nesse padrão, basta trocar a URL e a chave.
Referência
| URL | https://painelderevenda.net/api/v2 |
|---|---|
| Método | POST, application/x-www-form-urlencoded ou JSON |
| Autenticação | Campo key no corpo. Chave gerada na conta, armazenada com hash no servidor, revogável. |
| Resposta | JSON. Erro vem como {"error": "mensagem"} com status HTTP 4xx. |
| Limite | 120 requisições por minuto por chave, e 30 tentativas com chave errada por minuto por IP. Acima disso: HTTP 429. |
Ações
action Parâmetros Resposta services— Lista de {service, name, category, rate, min, max, refill}. rate é o preço por 1.000 em reais. addservice, link, quantity{"order": 12345} statusorder ou orders (até 100 ids separados por vírgula){"charge": "...", "start_count": "...", "status": "Pending|In progress|Completed|Partial|Canceled", "remains": "...", "currency": "BRL"}; com orders, um objeto desses por id de pedido refillorder{"refill": 678} refill_statusrefill{"status": "Pending|Completed|Rejected"} balance— {"balance": "123.45", "currency": "BRL"} cancelorder ou orders (ids separados por vírgula)[{"order": 12345, "cancel": 1}]; quando não dá para cancelar, cancel traz o motivo
Exemplo em PHP
$resposta = file_get_contents('https://painelderevenda.net/api/v2', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query([
'key' => getenv('PR_API_KEY'),
'action' => 'add',
'service' => 1,
'link' => 'https://www.instagram.com/perfil-do-cliente/',
'quantity' => 1000,
]),
],
]));
$pedido = json_decode($resposta, true); // ['order' => 12345]
Exemplo em Python
import os, requests
r = requests.post("https://painelderevenda.net/api/v2", data={
"key": os.environ["PR_API_KEY"],
"action": "status",
"orders": "12345,12346",
}, timeout=30)
print(r.json())
Exemplo em Node.js
const r = await fetch("https://painelderevenda.net/api/v2", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ key: process.env.PR_API_KEY, action: "balance" }),
});
console.log(await r.json()); // { balance: "123.45", currency: "BRL" }
Códigos de erro
HTTP error Quando 401 Invalid API keyChave inexistente ou revogada 400 Incorrect requestAção desconhecida ou parâmetro faltando 400 Not enough fundsSaldo insuficiente para o pedido 400 Incorrect quantityFora do mínimo ou máximo do serviço 404 Incorrect order IDPedido não pertence à conta 429 Too many requestsLimite por minuto ultrapassado
Veja também: painel filho, que usa esta API por baixo, e fornecedor para quem já tem painel.
Como integrar, em 5 passos
- Gere a chave na contaÁrea da conta, seção API. Guarde a chave em variável de ambiente, nunca no código.
- Liste o catálogoPOST com action=services. A resposta traz service, name, category, rate (preço por 1.000), min, max e refill.
- Crie um pedidoPOST com action=add, service, link e quantity. A resposta traz o order (id do pedido).
- Consulte o statusPOST com action=status e order, ou orders com vários ids separados por vírgula.
- Peça reposição quando o serviço tiverPOST com action=refill e order. A resposta traz o id da reposição.
Guias sobre o assunto
Perguntas frequentes
Onde pego a chave de API?
Na área da conta, em Conta > API, logo depois do cadastro. A chave pode ser revogada e gerada de novo; a antiga para de funcionar na hora.
A chave vai no corpo ou no cabeçalho?
No corpo da requisição POST, no campo key, como nos outros painéis. Nunca coloque a chave na URL.
Existe limite de chamadas?
Sim, por chave e por minuto, para proteger o serviço. O valor está nesta página e, quando ultrapassado, a resposta é um erro com código próprio, sem bloquear a conta.
A API tem ambiente de teste?
Não há chave de teste. Para conferir a integração sem gastar saldo, use as ações services e balance, que só leem. A ação add cria pedido de verdade.
Crie a conta e gere a sua chave
Crie a conta e faça a primeira recarga por Pix ou PayPal, a partir de R$ 1,00. Não há plano nem mínimo mensal.