Criar no app e URL
Um webhook publica num canal de texto da comunidade. Quem gerencia a comunidade cria o webhook no app, e a ferramenta de fora usa o link que ele gera.
Criar no app
Seção intitulada “Criar no app”- Abra as configurações da comunidade e entre em Integrações. O item só aparece para quem gerencia a comunidade.
- Clique em Criar webhook.
- Escolha o nome (o padrão é “Webhook”), o ícone e o canal de texto onde ele publica. O canal pode ser só leitura: um “#alertas” onde só o webhook escreve é o uso mais comum.
- Em Quem chamar quando um alerta disparar, escolha um cargo ou deixe em “Ninguém”. Veja Chamar um cargo.
- Salve e copie o link com Copiar link.
Cada comunidade pode ter até 10 webhooks (os apagados não contam). No detalhe do webhook você também encontra Mandar um teste, Pausar e Retomar, Apagar webhook e as Últimas entregas, com o corpo que chegou. As mensagens de um webhook apagado continuam no canal.
O link tem esta forma:
https://ggspeak.app/hooks/{id}/{token}O {token} é o segredo: quem tem o link publica no canal. Guarde-o como uma senha, em segredo do CI ou no cofre da ferramenta, e nunca em repositório público. O mesmo caminho responde em https://api.ggspeak.app.
As rotas ficam fora do /v1 e não pedem sessão nem cabeçalho de versão. Não precisa de Authorization: o token na URL é a autenticação.
| Método e rota | O que faz |
|---|---|
POST /hooks/{id}/{token} |
Publica. O formato é detectado pelo corpo. |
POST /hooks/{id}/{token}/discord |
Publica, lendo o corpo como Discord. |
POST /hooks/{id}/{token}/slack |
Publica, lendo o corpo como Slack. |
POST /hooks/{id}/{token}/betterstack |
Publica, lendo o corpo como incidente do Better Stack. |
GET /hooks/{id}/{token} |
Devolve nome, ícone, comunidade e canal. Algumas ferramentas conferem o link assim. |
PATCH /hooks/{id}/{token}/messages/{message_id} |
Edita uma mensagem do próprio webhook. |
DELETE /hooks/{id}/{token}/messages/{message_id} |
Apaga uma mensagem do próprio webhook. |
Os três últimos estão em Mensagens. O corpo é sempre JSON, com até 16 KB.
O primeiro POST
Seção intitulada “O primeiro POST”curl -X POST "$GGSPEAK_WEBHOOK" \ -H "Content-Type: application/json" \ -d '{"text": "Oi, GGspeak."}'Sem ?wait=true, a resposta é 204 No Content, como no Discord, e a mensagem aparece no canal. Para receber a mensagem de volta, com o id, veja Devolver a mensagem com wait.
Um corpo só com text é lido como Slack: *x* vira negrito e <url|rótulo> vira link. Os outros formatos estão em Formatos.