O que é
A API para automações expõe as mesmas ações do painel por HTTPS, para o n8n, o Make ou um sistema seu. Usa a mesma chave do agente de IA, com as mesmas permissões e a mesma auditoria: o que a chave não pode fazer pelo agente, também não pode pela API. Fica em Configurações → Automação/MCP (Beta) → API para automações (recurso do GW Server Pro).
Esta API é diferente dos clientes de API do módulo de usuários, que servem para criar e gerenciar contas de clientes a partir de um gateway de pagamento. Ver API e webhooks.
Criando a chave
Na aba API para automações, clique em Nova chave para automação. O nível padrão é Operar. Para o n8n, prefira uma lista de IPs de origem com o IP fixo do servidor dele (ver Chaves, níveis e permissões). A chave aparece uma vez só.
Como chamar
- Endereço:
https://<domínio do painel>/api.php?action=AÇÃO - Cabeçalho:
Authorization: Bearer gwm_… - Consultas são GET (parâmetros na URL); mudanças são POST com corpo JSON.
- A resposta é sempre
{"ok": true, "data": …}ou{"ok": false, "error": "…"}.
# listar os sites
curl -H "Authorization: Bearer $GW_TOKEN" \
"https://SEU-PAINEL/api.php?action=sites"
# limpar o cache de um site
curl -X POST -H "Authorization: Bearer $GW_TOKEN" -H "Content-Type: application/json" \
-d '{"domain":"exemplo.com"}' \
"https://SEU-PAINEL/api.php?action=site_cache_purge"
# ação longa devolve data.job_id: acompanhe até status "done" ou "error"
curl -H "Authorization: Bearer $GW_TOKEN" \
"https://SEU-PAINEL/api.php?action=job_status&job_id=JOB_ID"
No n8n
Nó HTTP Request:
Method: POST
URL: https://SEU-PAINEL/api.php?action=site_backup_run
Authentication: Generic Credential Type → Header Auth
Name: Authorization
Value: Bearer gwm_SUA_CHAVE
Send Body: JSON → {"domain": "exemplo.com"}
Para o nó AI Agent do n8n, use o MCP em vez da API: nó MCP Client Tool, endpoint
https://SEU-PAINEL/mcp, transporte HTTP Streamable, autenticação Bearer.
Referência das ações
A própria aba traz a Referência das ações, gerada do catálogo do painel: cada ação com o método, o nível exigido, se é destrutiva, se vira job e os parâmetros exatos (tipo, obrigatório, valores aceitos, padrão). Tem busca (“cache”, “backup”, “mautic”) e filtro por área. Parâmetro que a ação não conhece é recusado com a lista dos aceitos.
Códigos de resposta
| Código | Significa |
|---|---|
401 |
Chave inválida, vencida ou origem não liberada (o mesmo erro de propósito: o motivo fica na Atividade) |
403 |
Fora do escopo da chave (nível ou site) |
405 |
Método errado (tente POST) |
409 |
A ação precisa da aprovação do dono: repita com o cabeçalho X-GWS-Approval depois de aprovada (ver Desfazer e aprovação) |
Webhooks de eventos
O servidor avisa um endereço seu (no n8n, um nó Webhook) quando algo acontece. Configure em Webhooks de eventos, na mesma aba: marque Ligado, informe a URL do webhook, escolha os eventos e salve. O segredo HMAC aparece só na hora: guarde no n8n.
| Evento | Quando |
|---|---|
job.completed |
Job concluído (instalação, backup, troca de PHP, atualização…) |
job.failed |
Job com falha |
approval.requested |
Agente pediu aprovação para ação destrutiva |
approval.decided |
Aprovação decidida no painel |
agent.new_ip |
Chave usada a partir de um IP novo |
checkpoint.restored |
Site restaurado a partir de um ponto de restauração |
update.available |
Versão nova do GW Server disponível (uma vez por versão) |
site.import_started |
Importação de site de outra hospedagem aplicada (começou) |
Cada POST vem assinado: confira o HMAC-SHA256 do corpo com o segredo no cabeçalho
X-GWS-Signature. O botão Enviar teste manda um evento de exemplo, Gerar novo segredo
troca o segredo, e Últimas entregas mostra o histórico com o código HTTP de cada envio.
Endereços internos (loopback, rede privada) são recusados como destino.