Referência
Changelog
Mudanças que quebram compatibilidade e mudanças notáveis na API v3. Seguimos o semver (abre em uma nova aba) — mudanças aditivas (novos parâmetros opcionais, novas ações, novos campos nas respostas) são lançadas dentro de uma versão principal; mudanças que quebram compatibilidade vão em uma nova versão principal.
- Mais recente
v3.2: Um novo sistema de pedidos: uma única lista de erros, drip feed mais simples, cancelamento e reposição mais claros
Tudo abaixo é lançado junto sob o cabeçalho
X-NotPanel-API-Version: 2026-10. Toda ação anterior continua funcionando, e os endereços /api/v1, /api/v2 e /api/v3 se comportam de forma idêntica.- Todo pedido tem um único número que vale no painel, no suporte e na API. Os pedidos da API mantêm seus números antigos.
- Drip feed:
runscomintervalcontinua funcionando. A nova forma simples usa aquantitytotal edrip_feed_total_minutes, até 48 horas. - O cancelamento é instantâneo com reembolso total durante os primeiros 15 segundos. Depois disso, você pode solicitar um cancelamento onde o serviço aceita, com reembolso automático.
orderretorna um objeto, como antes;ordersretorna um array. - A reposição funciona uma vez a cada 6 horas por pedido, sem data final e com um motivo claro quando é recusada.
- As reações do Telegram são um único campo
reactions, em mistura (👍,❤️,🔥) ou com contagens exatas (👍:60,❤️:40), verificado antes de você ser cobrado. - A lista de serviços mostra etiquetas, campos extras com limites, limites de drip feed e disponibilidade.
cancel: trueagora significa que as solicitações de cancelamento realmente funcionam. - Todo erro tem um código fixo, um status HTTP e um indicador retryable. Os códigos anteriores e os atuais estão listados abaixo.
- Novo
order_details, que também pode encontrar um pedido pelo seurequest_id. statusjá traz o reembolso: em um pedido cancelado ou parcial,refundé o valor reembolsado, então não é preciso outra chamada.refund_quoteé um nome anterior que retorna a mesma resposta questatus.- Os webhooks agora são um único sistema: um evento assinado por chamada, versionado, com novos eventos para pedidos cancelados e parciais e para resultados de reposição.
- Removidos: os corpos de webhook em lote, o parâmetro
coupone, de status, os camposrefund_pendinge os dois campos de política de reembolso. O antigo parâmetrodelaynão é mais lido; usedrip_feed_total_minutes. - Adicionados:
can_cancelem status einstant_cancel_untilna resposta deadd. O antigocancel_availablecontinua nos dois, ecancel_window_secondsecancel_beforecontinuam na resposta deadd. - Mantidas: as ações
catalogeaccount_statuscontinuam funcionando como antes, ecatalogagora está documentada em Listar serviços. Os nomes de parâmetros antigos continuam funcionando:referer,lpost_count,hashtagpara listas de hashtags,usernamesseparados por vírgula e o antigo mapa de reações.webhook.addtambém aceita os nomes de eventoorder.refundedeorder.refill_completed. /api/v1,/api/v2e/api/v3continuam funcionando e se comportam da mesma forma./api/v3é o documentado.- Um pedido concluído sempre mostra
remainscomo 0.
v3.1: Nomes de serviços naturais para cada mercado
As ações services e catalog agora aceitam um código de idioma opcional para nomes revisados com terminologia de mercado selecionada em dez idiomas. Pedidos explícitos adicionam metadados do nome canônico e do idioma real e voltam com segurança ao inglês quando uma tradução está ausente ou desatualizada. Sem language, o formato legado em inglês não muda. Os administradores podem revisar ou ajustar cada nome.
v3.0: v3 torna-se a API padrão
/api/v3 virou o endpoint canônico e substituto direto de URL base para o contrato reseller conhecido. v3 adiciona chaves exatas opcionais, proteção legacy de 60 segundos, catálogo avançado, IDs numéricos, refund_quote, account_status, cancelamento individual ou em lote sequencial e webhooks assinados. A capacidade da API agora usa um nível baseado em lifetime successful spend e uma janela móvel de 60 segundos compartilhada por todas as chaves da conta. /api/v1 e /api/v2 são aliases exatos do mesmo contrato atual.
v2.5: Catálogo avançado, reconciliação de reembolso e cancelamento
Foram adicionadas as ações catalog paginada e refund_quote somente para leitura, ampliados os metadados de add e status e criada uma janela de cancelamento de 15 segundos para pedidos comuns via API. Os eventos de webhook da API agora trazem um id de evento estável, enquanto deliveryId permanece estável entre tentativas do mesmo lote; cada tentativa recebe novo horário e assinatura. A entrega de webhooks continua em regime de melhor esforço com tentativas, sem garantia durável de entrega pelo menos uma vez.
v2.4: 12 novas plataformas de mídia no catálogo
Adicionados serviços para Google, Rumble, Audiomack, Tumblr, Kwai, Clubhouse, Vimeo, Deezer, Tidal, Apple Music, Quora e GitHub. Eles aparecem na ação services como qualquer outro serviço e cada um tem uma página pública de plataforma dedicada. Nenhuma mudança é necessária no cliente — novos IDs de serviço simplesmente aparecem no catálogo.
v2.3: Disponibilidade do serviço aplicada ao adicionar
Serviços indisponíveis rejeitam action=add em vez de aceitar ou enfileirar silenciosamente um novo pedido. Atualize o catálogo e escolha um serviço disponível antes de repetir.
v2.2: Parâmetros de pedido opcionais
A ação add passou a aceitar campos opcionais suportados e específicos do tipo de serviço, como atraso inicial e opções de interação por tipo. Os campos já definidos por um tipo de serviço mantêm o significado documentado.
v2.1: Parâmetros de drip-feed na criação de pedidos
A ação add aceita runs e interval juntos para serviços com dripfeed=true. A entrega total é quantity × runs e não pode exceder o máximo do serviço. Serviços sem drip-feed rejeitam estes campos.
v2.0: Lançamento público da API v2
Lançou a API de ações v2 codificada em formulário com controlos de taxa, webhooks assinados de melhor esforço com novas tentativas e criação idempotente de pedidos. Os URLs v1 e v2 atuais são aliases do contrato v3 e usam o limite partilhado da conta documentado.
Migrando de versões anteriores
Os códigos de erro e os nomes dos eventos de webhook mudaram. Use estas listas uma vez ao atualizar seu código.
Códigos de erro
As respostas anteriores usavam os códigos da esquerda. A versão 3.2 usa uma lista fechada, mostrada em Erros. A última coluna diz como eles se correspondem.
| Antes | Agora | Como mudou |
|---|---|---|
| INVALID_ACTION | INVALID_ACTION | Mesmo código. |
| MISSING_SERVICE, MISSING_LINK, MISSING_QUANTITY, MISSING_ORDER, MISSING_ORDER_PARAMETER, MISSING_REFILL, MISSING_WEBHOOK_URL, MISSING_WEBHOOK_ID, NO_ORDER_IDS, NO_REFILL_IDS, NO_WEBHOOK_EVENTS, MISSING_CUSTOM_FIELD | MISSING_PARAMETER | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| INVALID_SERVICE_ID, INVALID_QUANTITY, LINK_TOO_LONG, IDEMPOTENCY_EMPTY, IDEMPOTENCY_EMPTY_REQUEST, IDEMPOTENCY_TOO_LONG, IDEMPOTENCY_TOO_LONG_REQUEST, INVALID_LANGUAGE, INVALID_WEBHOOK_EVENT | INVALID_PARAMETER | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| INVALID_LINK_URL | INVALID_LINK, LINK_BLOCKED | Um código anterior virou vários, cada um mais específico. |
| INVALID_CUSTOM_FIELD | INVALID_OPTION | Mesmo código. |
| RUNS_INVALID, RUNS_TOO_HIGH, INTERVAL_INVALID, INTERVAL_TOO_HIGH | DRIP_FEED_INVALID | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| REQUEST_ID_CONFLICT | REQUEST_ID_CONFLICT | Mesmo código. |
| SERVICE_NOT_FOUND, ADD_SERVICE_NOT_FOUND, WRONG_SERVICE_TYPE | SERVICE_NOT_FOUND | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| SERVICE_NOT_ACTIVE | SERVICE_PAUSED | Mesmo código. |
| SERVICE_DISCONTINUED, REFILL_SERVICE_DISCONTINUED | SERVICE_DISCONTINUED | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| INSUFFICIENT_BALANCE | INSUFFICIENT_BALANCE | Mesmo código. |
| ORDER_NOT_FOUND, STATUS_ORDER_NOT_FOUND, REFUND_ORDER_NOT_FOUND, REFILL_ORDER_NOT_FOUND | ORDER_NOT_FOUND | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| ORDER_ALREADY_COMPLETED, ORDER_ALREADY_REFUNDED | ORDER_FINISHED | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| ORDER_NOT_CANCELLABLE | CANCEL_NOT_AVAILABLE, ORDER_FINISHED | Um código anterior virou vários, cada um mais específico. |
| TOO_MANY_ORDERS, TOO_MANY_REFILLS | TOO_MANY_IDS | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| INACTIVE_ACCOUNT, ACCOUNT_NOT_FOUND, ACCOUNT_ERROR | INACTIVE_ACCOUNT, EMAIL_UNVERIFIED | Um código anterior virou vários, cada um mais específico. |
| API_RATE_LIMITED, IP_RATE_LIMITED, CANCEL_RATE_LIMITED | API_RATE_LIMITED | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| REFILL_STATUS_INELIGIBLE | REFILL_NOT_COMPLETED, REFILL_NOT_AVAILABLE | Um código anterior virou vários, cada um mais específico. |
| REFILL_SERVICE_NOT_REFILLABLE, REFILL_REQUEST_FAILED | REFILL_NOT_AVAILABLE | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| REFILL_ALREADY_PENDING | REFILL_ALREADY_PENDING | Mesmo código. |
| REFILL_WAITING_PERIOD | REFILL_COOLDOWN | Vários códigos anteriores viraram um só. Leia details para os detalhes. |
| REFILL_NOT_FOUND | REFILL_NOT_FOUND | Mesmo código. |
| INVALID_WEBHOOK_URL | INVALID_WEBHOOK_URL | Mesmo código. |
| WEBHOOK_LIMIT | WEBHOOK_LIMIT | Mesmo código. |
| WEBHOOK_NOT_FOUND | WEBHOOK_NOT_FOUND | Mesmo código. |
| REQUEST_PROCESSING, REQUEST_OUTCOME_UNKNOWN, REQUEST_OUTCOME_NOT_RECORDED, REQUEST_UNCONFIRMED, REQUEST_RESULT_UNAVAILABLE, CONFLICTING_REQUEST_RECORDS | – | Não acontece mais. A API nunca espera por outro sistema, e problemas posteriores chegam como um pedido Canceled com um código de motivo. |
Webhooks
Dois nomes de evento mudaram. O corpo em lote acabou: cada chamada agora leva um evento em um envelope com id, type, schema_version, created_at, sequence e data, e os endpoints pertencem à conta em vez de a uma chave.
| Antes | Agora |
|---|---|
| order.refunded | order.canceled |
| order.refill_completed | refill.completed |