Início
API NewGestor
Documentação oficial da API REST do NewGestor — sistema de gestão de clientes.
Bem-vindo à API do NewGestor
A API REST do NewGestor deixa você ligar a sua gestão de clientes a plataformas externas como n8n, Make, Zapier, BotConversa e qualquer sistema que fale HTTP. Tudo que você lê e escreve por ela é da sua empresa — o token que você gera no painel já carrega essa informação.
Início Rápido
Faça a sua primeira chamada em menos de 5 minutos.
O que dá para fazer
Clientes
Listar clientes com plano, produto e faturas, e renovar a data de vencimento.
Faturas
Consultar as faturas da empresa e alterar a situação de cada uma.
Planos e Produtos
Listar os planos e produtos da empresa — é deles que saem o plan_id e o product_id do cliente.
Painel
Contagem de clientes, faturas e receita do mês em uma chamada só.
Revendedores
Quem contrata o painel de você para revender: listar, consultar e renovar a assinatura.
Webhooks
Em vez de perguntar, receba um aviso assim que um cliente ou uma fatura muda.
Cliente e revendedor são coisas diferentes
A API mexe com dois grupos de pessoas, e confundir os dois é o erro mais comum na primeira integração. Vale um minuto para separar:
| Cliente | Revendedor | |
|---|---|---|
| Quem é | Quem compra o seu serviço | Quem contrata o painel de você para revender |
| Onde aparece | /customers, /invoices | /resellers |
| Plano dele | /customer-plans | /plans |
| Renovar | /customers/ | /resellers/, gastando créditos |
| Produto | /products | não se aplica |
/customer-plans e /plans não são a mesma coisa.
O plan_id que vai no cadastro de um cliente sai de
/customer-plans. O /plans lista os planos de
assinatura da sua empresa e não serve para cadastrar cliente nenhum.
Endereço base
Todo endereço desta documentação começa por aqui:
https://npanel.newgestor.com/api/v1Autenticação
A API usa token do tipo Bearer. Gere o seu no painel, em
API Tokens, e mande no
cabeçalho Authorization de toda chamada.
Authorization: Bearer SEU_TOKEN_AQUI
Accept: application/jsonO token dá acesso aos dados da sua empresa inteira. Nunca publique o seu token em repositório, print de tela ou fluxo compartilhado. Se ele vazar, apague o token no painel e gere outro — o antigo para de funcionar na hora.
Sem o cabeçalho, ou com um token apagado, a resposta é 401:
{
"success": false,
"message": "Unauthenticated"
}Formato das respostas
Toda resposta é JSON e traz o campo success. Nas listagens, os registros vêm
em data e as informações de página em meta.
{
"success": true,
"data": [
{ "id": 8412, "name": "Maria Souza", "status": "Ativo" }
],
"meta": {
"total": 1391,
"per_page": 50,
"current_page": 1,
"last_page": 28,
"company_id": 274
}
}Paginação
As listagens vêm paginadas. Controle com dois parâmetros na URL:
| Parâmetro | Padrão | Descrição |
|---|---|---|
per_page | 50 | Itens por página. Aceita de 1 a 200 — valor fora disso é ajustado para o limite mais próximo. |
page | 1 | Página desejada. Use meta.last_page para saber onde parar. |
Para varrer a base inteira, suba page até chegar em meta.last_page:
curl "https://npanel.newgestor.com/api/v1/customers?per_page=200&page=2" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-H "Accept: application/json"Filtros da listagem de clientes
Todos são opcionais e podem ser combinados. Sem nenhum, a listagem devolve todos os clientes da empresa, do mais recente para o mais antigo.
| Parâmetro | Exemplo | O que faz |
|---|---|---|
search | maria | Procura em nome, whatsapp, e-mail e usuário. |
status | vencido | ativo, vence hoje ou vencido. Sai da data de vencimento. |
plan_id | 31 | Só os clientes deste plano. |
product_id | 4 | Só os clientes deste produto. |
due_from | 2026-10-01 | Vencimento a partir desta data. |
due_to | 2026-10-31 | Vencimento até esta data. |
Quem vence este mês e ainda está no plano 31, por exemplo:
curl "https://npanel.newgestor.com/api/v1/customers?status=vencido&plan_id=31&due_from=2026-10-01&due_to=2026-10-31" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-H "Accept: application/json"Checkout próprio com PIX
O /invoices/ leva o pagador para o checkout do
NewGestor. Se você tem a sua própria tela de pagamento, use
POST /invoices/: ele devolve só o copia-e-cola e o QR Code.
{
"success": true,
"data": {
"invoice": { "id": 1033077, "status": "Em aberto", "total_amount": "50.00" },
"customer": { "id": 8412, "name": "Maria Souza" },
"payment": {
"provider": "mercadopago",
"flow": "pix",
"amount": 50.0,
"pix_copy_paste": "00020126580014br.gov.bcb.pix0136…6304ABCD",
"qr_code_base64": "iVBORw0KGgoAAAANSUhEUgAA…",
"qr_code_data_uri": "data:image/png;base64,iVBORw0KGgo…",
"checkout_url": null,
"expires_at": "2026-09-11T20:00:00-03:00"
},
"notification": { "url": "https://seu-servidor.com/pagou", "event": "invoice.paid" }
}
}- A imagem é sempre PNG, seja qual for o gateway. Cada um devolve o
QR de um jeito — PNG, SVG ou nada —, então ele é gerado a partir do copia-e-cola.
Use
qr_code_base64puro ouqr_code_data_uridireto numa<img>. - Chamar de novo não cria outra cobrança. Se já há uma pendente para a fatura, é ela que volta.
- O valor já inclui a taxa de serviço do gateway, se houver.
Alguns gateways não têm PIX direto — o InfinitePay, por exemplo, só oferece a
página de pagamento dele. Nesses casos flow vem redirect, os
campos de PIX vêm vazios e checkout_url traz o endereço:
"payment": {
"provider": "infinitepay",
"flow": "redirect",
"pix_copy_paste": null,
"qr_code_base64": null,
"checkout_url": "https://checkout.infinitepay.io/…"
}Sem gateway PIX configurado, a resposta é 422 dizendo exatamente isso.
Limite de uso
São 60 chamadas por minuto por token. Passando disso, a resposta vira
429 e o cabeçalho Retry-After diz quantos segundos esperar.
Se você precisa varrer muitos registros, use per_page=200 em vez de
fazer mais chamadas. São 200 clientes por requisição contra 50, o que corta o número
de chamadas em quatro.
Códigos de erro
Quando algo não dá certo, o corpo traz success: false e uma
message explicando o motivo.
| Código | Significa | O que fazer |
|---|---|---|
200 | Deu certo | — |
401 | Token ausente, inválido ou apagado | Confira o cabeçalho Authorization e gere outro token se preciso. |
404 | O registro não existe, ou não é da sua empresa | Confira o id. Um token só enxerga dados da própria empresa. |
422 | Os dados não passaram na validação | Leia a message: ela diz qual campo travou. |
429 | Passou de 60 chamadas por minuto | Espere o tempo do Retry-After e tente de novo. |
Endpoints disponíveis
São trinta e nove. A lista completa, com parâmetros, exemplos em várias linguagens e o botão de testar direto do navegador, está na aba API Reference.
Conta
| Método | Endereço | O que faz |
|---|---|---|
| GET | /account | Quem é o dono do token, a empresa e qual token foi usado |
Clientes
| Método | Endereço | O que faz |
|---|---|---|
| GET | /customers | Lista os clientes, com filtros e paginação |
| POST | /customers | Cadastra um cliente |
| GET | /customers/ | Busca um cliente |
| PUT | /customers/ | Altera um cliente |
| DEL | /customers/ | Exclui o cliente, as faturas e as mensagens agendadas |
| GET | /customers/ | Faturas do cliente, paginadas e com filtro |
| POST | /customers/ | Renova a data de vencimento conforme o plano |
Faturas
| Método | Endereço | O que faz |
|---|---|---|
| GET | /invoices | Lista as faturas da empresa |
| GET | /invoices/ | Busca uma fatura, com cliente, plano e produto |
| GET | /invoices/ | Dados da cobrança e os links para pagá-la |
| POST | /invoices/ | Copia-e-cola e QR em PNG, para checkout próprio |
| POST | /invoices/ | Altera a situação da fatura |
Planos e produtos dos clientes
| Método | Endereço | O que faz |
|---|---|---|
| GET | /customer-plans | Planos que você vende aos clientes |
| GET | /customer-plans/ | Busca um plano de cliente |
| GET | /products | Produtos da empresa |
| GET | /products/ | Busca um produto |
Revendedores
Estes não têm relação com os clientes acima. Revendedor é quem contrata o painel de você para revender. No painel esta tela se chama "Usuários"; aqui o nome é explícito de propósito, para ninguém confundir com cliente. O link de cadastro sai daqui.
| Método | Endereço | O que faz |
|---|---|---|
| GET | /resellers | Lista os revendedores, com busca e filtros |
| POST | /resellers | Cadastra — em teste, ou assinante gastando créditos |
| GET | /resellers/ | Busca um revendedor |
| PUT | /resellers/ | Altera os dados |
| PUT | /resellers/ | Muda o nível: user, reseller, master, ultra_master |
| POST | /resellers/ | Renova a assinatura — gasta créditos |
| GET | /plans | Planos de assinatura, com link de cadastro |
| POST | /plans | Cria um plano de assinatura |
| GET | /plans/ | Busca um plano de assinatura |
| PUT | /plans/ | Altera — funções só são acrescentadas |
Webhooks
Cadastro dos endereços que recebem avisos. Detalhes, formato e assinatura na página Webhooks.
| Método | Endereço | O que faz |
|---|---|---|
| GET | /webhooks/events | Catálogo de eventos |
| GET | /webhooks | Lista os webhooks |
| POST | /webhooks | Cria — devolve o secret uma única vez |
| GET | /webhooks/ | Busca um |
| PUT | /webhooks/ | Altera; active: true religa |
| DEL | /webhooks/ | Exclui |
| POST | /webhooks/ | Envia um ping e mostra a resposta |
| GET | /webhooks/ | Histórico de entregas |
| POST | /webhooks/deliveries/ | Reenvia uma entrega |
| GET | /webhooks/callback-secret | Segredo dos avisos por notification_url |
| POST | /webhooks/callback-secret/rotate | Troca esse segredo |
Níveis e permissões
Revendedores e planos só podem ser gerenciados por contas de revenda. As regras são as mesmas da tela do painel:
| Seu nível | Pode promover um revendedor até |
|---|---|
ultra_master | master |
master | reseller |
reseller | não promove — só cadastra |
user | não gerencia revendedores |
- Revendedor em teste não vira revenda — renove a assinatura antes.
- Voltar alguém para
useré sempre permitido. - Num plano de assinatura você só repassa funções que o seu plano tem, e o limite de cadastros nunca passa o seu.
- Ao alterar um plano, funções só são acrescentadas: quem já paga por uma não perde o acesso sem aviso.
Painel
| Método | Endereço | O que faz |
|---|---|---|
| GET | /dashboard | Clientes, faturas e receita do mês em uma chamada |