Preço de atacado por 1.000 Recarga por Pix a partir de R$ 1,00 Tabela pública, sem cadastro
Painel de RevendaPainel SMM de atacado
Padrão do mercado, em português

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

URLhttps://painelderevenda.net/api/v2
MétodoPOST, application/x-www-form-urlencoded ou JSON
AutenticaçãoCampo key no corpo. Chave gerada na conta, armazenada com hash no servidor, revogável.
RespostaJSON. Erro vem como {"error": "mensagem"} com status HTTP 4xx.
Limite120 requisições por minuto por chave, e 30 tentativas com chave errada por minuto por IP. Acima disso: HTTP 429.

Ações

actionParâmetrosResposta
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

HTTPerrorQuando
401Invalid API keyChave inexistente ou revogada
400Incorrect requestAção desconhecida ou parâmetro faltando
400Not enough fundsSaldo insuficiente para o pedido
400Incorrect quantityFora do mínimo ou máximo do serviço
404Incorrect order IDPedido não pertence à conta
429Too 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

  1. Gere a chave na contaÁrea da conta, seção API. Guarde a chave em variável de ambiente, nunca no código.
  2. Liste o catálogoPOST com action=services. A resposta traz service, name, category, rate (preço por 1.000), min, max e refill.
  3. Crie um pedidoPOST com action=add, service, link e quantity. A resposta traz o order (id do pedido).
  4. Consulte o statusPOST com action=status e order, ou orders com vários ids separados por vírgula.
  5. Peça reposição quando o serviço tiverPOST com action=refill e order. A resposta traz o id da reposição.

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.