notpanel
ServiçosPreçosFAQSorteioAPI
notpanel

O painel SMM moderno e acessível. Tarifas de atacado com integrações diretas com fornecedores.

Produto

  • Serviços
  • Preços
  • Programa de afiliados
  • Por que o NotPanel
  • Sobre
  • Desenvolvedores
  • Blog
  • FAQ

Jurídico

  • Termos de Serviço
  • Política de Privacidade
  • Política de Reembolso

Conecte-se

  • Fale Conosco
  • support@notpanel.com

© 2026 NotPanel. Todos os direitos reservados.

Todas as publicações
Engenharia 16 de agosto de 2026· 8 min de leitura

Comparação de APIs de painéis SMM: JAP, CheapSMMPanel e NotPanel

Comparamos três APIs SMM públicas por campos, tentativas, webhooks e erros HTTP: apenas o que os contratos mostram.

Três telas de desenvolvedor: uma página copiada, um console desalinhado e um editor assinado.

Abri três páginas públicas de API: JustAnotherPanel, CheapSMMPanel e NotPanel. A comparação é sobre o contrato, não sobre preço ou tamanho do catálogo.

Duas páginas repetem o formato v2 conhecido. As diferenças importantes aparecem depois do primeiro POST: nomes de campos, identidade do retry, webhooks e código de status.

Seu voto

O que impediria você de apontar um painel filho para um novo upstream?

Toque numa opção. Fica só neste dispositivo — não é uma pesquisa inventada.

O placar

As três usam um POST no estilo v2 com formulário e resposta JSON. Depois disso, deixam de ser intercambiáveis.

Campo de autenticação
JAP
key
CheapSMM
api_token
NotPanel
key
Ação de catálogo
JAP
services
CheapSMM
packages
NotPanel
services
Id do pedido
JAP
service
CheapSMM
package
NotPanel
service + request_id
Idempotência
JAP
Not documented
CheapSMM
Not documented
NotPanel
Required request_id
Webhooks
JAP
Not documented
CheapSMM
Not documented
NotPanel
HMAC-SHA256 + timestamp
Códigos de erro HTTP
JAP
Not documented
CheapSMM
Not documented
NotPanel
400 / 403 / 429 / 500
Headers de limite
JAP
Not documented
CheapSMM
Not documented
NotPanel
X-RateLimit-*
Refill
JAP
Yes + refill_status
CheapSMM
Not documented
NotPanel
Yes + refill_status
Cancelamento por API
JAP
action=cancel
CheapSMM
Not documented
NotPanel
Not exposed
Documentação
JAP
One page + PHP sample
CheapSMM
One page + PHP sample
NotPanel
13 pages + changelog

Um cliente JAP precisa remapear campos para falar com a CheapSMM. Para criar um pedido no NotPanel também precisa de request_id; essa diferença é intencional.

O mesmo pedido de exemplo. A mesma fotocópia.

Um manual de referência com abas ao lado de uma página de API fotocopiada e amassada.
Um contrato público deve ser mais que um pedido de exemplo copiado.

As páginas públicas usam o pedido de demonstração e o fluxo básico de listar, adicionar, consultar status e saldo. Isso serve para a primeira chamada, mas não explica o que acontece quando a rede falha.

Um exemplo prova a sintaxe, não o comportamento de retries, eventos assinados ou tratamento de falhas. Revise o contrato público antes de colocar a integração em produção.

Nomes de campos não são detalhe

FunçãoJAP / NotPanelCheapSMMPanel
Autenticaçãokeyapi_token
Catálogoaction=servicesaction=packages
Id do serviçoservicepackage
Contagem inicialstart_countstart_counter
StatusIn progress / in_progressTitle case in examples

A CheapSMM chama a migração de simples, mas trocar autenticação, catálogo, serviço e quantidade toca cada chamada. Trocar a URL base não é um plano de migração.

Status também importa. Se o reconciliador reembolsa qualquer valor diferente de completed, uma diferença de nomes vira perda de dinheiro.

Por que a NotPanel é mais forte onde importa

São diferenças de contrato que você pode verificar, não uma promessa sobre preço ou tamanho do catálogo.

Pedidos seguros contra retries

add exige request_id. Repetir a mesma chave e o mesmo corpo retorna o pedido original; um corpo diferente é rejeitado.

Ver o contrato de add →

Eventos de status assinados

A referência de webhooks define HMAC-SHA256 sobre o corpo original, com timestamp e evento; URLs privadas ou locais são rejeitadas.

Verificar uma entrega →

Erros explícitos

A API documenta respostas HTTP 400, 403, 429 e 500 para o cliente distinguir entrada inválida, bloqueio, limite ou falha do serviço.

Ler erros e respostas →

Limites visíveis

As respostas publicam X-RateLimit-Limit, Remaining e Reset, além do contexto de tier e do motivo do bloqueio quando aplicável.

Ver os limites →

Cada ponto pode ser testado na referência pública antes de migrar um fluxo de reseller.

Timeout não é falha

Dois pacotes idênticos em uma balança ao lado de um relógio de armazém.
Sem request_id, o retry é outro pedido e outra cobrança.
Sem request_idtimeout → repetir add→dois pedidos · duas cobrançasCom request_idtimeout → mesma chave→id do pedido original
O mesmo add produz dois resultados: depende de o servidor reconhecer o retry.

Os clientes públicos de exemplo não mostram um identificador fornecido pelo chamador. O NotPanel exige request_id em todo add: mesma chave e mesmo corpo retornam o id original; corpo diferente é rejeitado.

Gere a chave uma vez, fora do loop de retry. Timeout é resultado desconhecido, não prova de que o pedido não ocorreu.

Veja a referência de criação de pedido · guia de integração.

Timeout é desconhecido. O único retry seguro é aquele que o servidor reconhece.

Polling versus envelope assinado

Um envelope selado com cera ao lado de um servidor e um cartão sem assinatura.
Webhook sem assinatura é um cartão que qualquer pessoa pode escrever.

JAP e CheapSMM não documentam webhooks de saída em suas páginas públicas. A integração implícita é consultar status até o texto mudar. Funciona, mas gasta limite em pedidos parados.

O NotPanel oferece webhook.add, list e remove. Cada entrega inclui HMAC-SHA256 do corpo bruto, timestamp e evento. URLs privadas e link-local são rejeitadas; a entrega é pelo menos uma vez e o handler precisa ser idempotente.

As receitas estão na referência de webhooks · guia de HMAC.

Status HTTP, não 200 com erro

Uma especificação clonada pode retornar HTTP 200 com um objeto de erro. Uma biblioteca que confia apenas no status tratará isso como sucesso.

400
Requisição inválida
Sem request_id ou saldo
403
Proibido
Conta suspensa
429
Limite atingido
Leia X-RateLimit-Reset
500
Falha do servidor
Desconhecido: repita a chave

Os limites têm camadas de IP, chave e nível. Leia as referências de erros e rate limits antes de criar um loop de retry.

Não migre por um post — teste isto
0/4

Esse é o argumento: automatizar com um contrato sem inventar a metade ausente. Leia a documentação pública antes de mover tráfego. notpanel.com/developers.

Os dois vazamentos de dinheiro têm guias próprias: retries de timeout e webhooks versus polling.

FAQ

A JustAnotherPanel tem API de reseller?

Sim. A página v2 pública mostra key e action para services, add, status, refill, cancel e balance. Não documenta webhooks, idempotência, catálogo de erros HTTP ou headers de limite.

Qual a diferença entre a API JAP e a NotPanel?

O formato v2 básico é parecido, mas o NotPanel exige request_id, documenta webhooks assinados, retorna status de erro explícitos e publica headers de limite. A JAP documenta mais campos especiais e cancelamento.

CheapSMMPanel usa a mesma API que a JAP?

Não. A documentação pública usa api_token, action=packages, package e start_counter. Um cliente JAP não funciona sem alterações.

Painéis SMM têm webhooks?

Alguns têm, mas muitas páginas v2 não os mencionam. Se a documentação nunca falar de assinatura, trate POSTs recebidos como não confiáveis.

Por que o NotPanel exige request_id?

Um add com timeout tem resultado desconhecido. Sem uma chave do chamador, o retry pode ser outra cobrança; mesma chave e corpo retornam o pedido original.

Posso apontar um cliente JAP existente para o NotPanel?

Leituras normalmente precisam apenas revisar URL e status. add exige request_id, cancel não é exposto e campos especiais devem estar documentados.

Continuar lendo

Engenharia

Por que um timeout da API SMM pode cobrar duas vezes — e por que a NotPanel não cobra

Engenharia

Webhooks ou polling em um painel SMM: o que um painel filho deve usar

Guias

Painel SMM versus agência: a comparação real de custos (2026)