/v2/webhooks da API de Clientes. Todas exigem o token de acesso da API no header Authorization, e a empresa é sempre a do token: não é possível consultar ou alterar webhooks de outra empresa.
Gere um token em /v2/autenticar
Envie
email e password do usuário de integração para receber o accessToken.As rotas de teste, logs e reenvio estão detalhadas em Testar e reenviar.
Envelope de resposta
As rotas seguem o mesmo envelope das demais rotas/v2: sucesso traz success: true e data; falha de negócio traz HTTP 400 com success: false e errors.
Nas rotas de leitura de um registro, um id inexistente ou de outra empresa responde
404. Nas rotas de escrita (alterar, excluir, testar, reenviar…), o mesmo caso responde 400 com a mensagem Endpoint não encontrado. — em nenhum dos casos a API revela que o id existe em outra empresa.Cadastrar um webhook
POST /v2/webhooks
URL que receberá os eventos. Máximo de 2000 caracteres. Veja as regras da URL.
Códigos dos eventos assinados (ao menos um, sem repetição). Veja o catálogo de eventos.
200):
Regras da URL
- Deve usar
https. - Não pode conter usuário ou senha (
https://usuario:senha@...). - Deve apontar para um endereço público na internet:
localhost,127.0.0.1, IPs de rede privada (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16), loopback, link-local e domínios terminados em.localhost,.local,.internale.lansão recusados. - O host precisa ser resolvido por DNS no momento do cadastro.
- A validação do endereço público é refeita a cada envio: se o host passar a resolver para um endereço privado, o envio falha definitivamente.
Listar e consultar
GET /v2/webhooks devolve em data a lista de webhooks da empresa e GET /v2/webhooks/{idEndpoint} devolve um webhook, nos mesmos campos da resposta de cadastro, sem o campo token.
Um idEndpoint inexistente ou de outra empresa responde 404 com { "success": false, "data": null }.
Alterar
PUT /v2/webhooks/{idEndpoint} recebe o mesmo corpo do cadastro (descricao, url e eventos) e aplica as mesmas validações. A resposta traz o webhook atualizado, sem o campo token.
A nova URL vale apenas para os logs criados depois da alteração. Logs anteriores, inclusive quando reenviados, continuam indo para a URL gravada no momento em que foram criados.
Ativar e desativar
PATCH /v2/webhooks/{idEndpoint}/situacao
- Webhooks inativos não recebem novos eventos: nenhum log é criado para eles.
- Logs que ainda estavam pendentes quando o webhook foi desativado são encerrados como
Falhacom o erro “Endpoint desativado”. - Ao reativar, o contador
falhasConsecutivasvolta a0edesativadoAutomaticamenteEmé limpo. - Um log não pode ser reenviado enquanto o webhook estiver inativo.
Desativação automática
Se o webhook acumular 20 tentativas de envio com falha seguidas, o Gestio o desativa automaticamente e preenchedesativadoAutomaticamenteEm. Corrija o problema no seu sistema e reative o webhook pela rota acima. Um envio com sucesso zera o contador.
O contador é por tentativa, não por log: um único log que esgote as 6 tentativas soma 6 falhas consecutivas. Logs de teste não entram nessa conta.
Excluir
DELETE /v2/webhooks/{idEndpoint}
Exclui definitivamente o webhook, os eventos assinados e todo o histórico de logs dele. Como o webhook deixou de existir, a resposta não o devolve: data é apenas true.
GET /v2/webhooks e tanto ele quanto os logs dele respondem 404.
Se houver envios desse webhook ainda na fila no momento da exclusão, eles são simplesmente descartados, sem erro.
Rotacionar o token
POST /v2/webhooks/{idEndpoint}/rotacionar-token gera um novo token e o devolve uma única vez no campo token, no mesmo formato da resposta de cadastro.
A partir da rotação, todos os logs novos e os reenvios usam o novo token, inclusive logs antigos que forem reenviados. Atualize o token no seu sistema logo após a rotação.
