Pular para o conteúdo

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.

  1. Abra as configurações da comunidade e entre em Integrações. O item só aparece para quem gerencia a comunidade.
  2. Clique em Criar webhook.
  3. 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.
  4. Em Quem chamar quando um alerta disparar, escolha um cargo ou deixe em “Ninguém”. Veja Chamar um cargo.
  5. 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.

Janela do terminal
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.