HansaChat

Documentation

Příchozí webhooky

Vytvořte URL webhooků a posílejte do kanálů zprávy JSON kompatibilní se Slackem.

Příchozí webhooky umožňují externím nástrojům posílat automatizované zprávy do kanálu HansaChat. Použijte je pro aktualizace o nasazeních, výstrahy monitoringu, upozornění na tikety, odeslané formuláře a další události, které se mají objevit v týmovém chatu.

Příchozí webhooky můžou vytvářet a spravovat pouze správci workspace.

Otevření Webhooků v Nastavení

Vytvoření webhooku

  1. Otevřete Nastavení v postranní liště vlevo dole.
  2. Zvolte Webhooky.
  3. Zvolte Vytvořit webhook.
  4. Zadejte výstižný název webhooku, například CI Deployments.
  5. Zvolte kanál, do kterého se mají zprávy posílat.
  6. Volitelně zadejte URL ikony.
  7. Zvolte Vytvořit webhook.

Stránka webhooků bez záznamů

Formulář pro vytvoření webhooku

Zkopírování URL webhooku

Po vytvoření zobrazí HansaChat URL webhooku pouze jednou. Zkopírujte jej a bezpečně uložte v externím nástroji, který má události odesílat.

URL webhooku zobrazené pouze jednou

Pokud tuto obrazovku zavřete bez uložení URL, obměňte URL, abyste vygenerovali nové tajemství. Předchozí URL po obměně okamžitě přestane fungovat.

Správa webhooků

Ze stránky Webhooky můžou správci:

  • Upravit název webhooku, kanál, URL ikony nebo stav aktivace.
  • Zakázat webhook, aby odmítl nové zprávy, aniž by byl smazán.
  • Obměnit URL — tím zneplatníte staré tajemství a vygenerujete nové URL.
  • Smazat webhook. Existující zprávy v chatu se nemažou.

Technická reference

Odešlete na URL webhooku požadavek POST:

https://{workspace-domain}/api/webhooks/{publicID}/{secret}

URL obsahuje přihlašovací údaje webhooku. Není vyžadována žádná další autentizační hlavička. Celé URL uchovávejte v tajnosti.

Minimální požadavek

curl -X POST 'https://{workspace-domain}/api/webhooks/{publicID}/{secret}' \
  -H 'Content-Type: application/json' \
  -d '{"text":"Deployment completed successfully"}'

Jakmile HansaChat vrátí ok, zpráva se objeví ve vybraném kanále.

Testovací zpráva webhooku v kanále

Payload kompatibilní se Slackem

Endpoint přijímá payloady JSON kompatibilní se Slackem s poli text, blocks a attachments.

{
  "text": "Deployment completed successfully",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "Deployment completed"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Branch `main` is now live."
      }
    }
  ]
}

Nejméně jedno z polí text, blocks nebo attachments musí obsahovat čitelný text.

Podporovaná pole

Pole Povinné Poznámky
text Ne Obsah zprávy jako prostý text.
blocks Ne Bloky ve stylu Slack Block Kit. Až 50 bloků. Podporované typy bloků: section, header, context, image.
attachments Ne Přílohy ve stylu Slacku. Až 100 příloh.

Maximální velikost payloadu je 1 MB.

Limity rychlosti

Příjem přes příchozí webhooky je omezen na rychlost pro každou URL webhooku zvlášť.

Každý webhook přijme až 10 autentizovaných požadavků za minutu a až 100 autentizovaných požadavků za hodinu. Po dosažení kteréhokoli limitu vrátí HansaChat 429 resource_exhausted.

Chcete-li limit rychlosti zvýšit, kontaktujte nás.

Limity payloadu se vynucují zvlášť: maximální velikost těla je 1 MB, pole blocks přijímá až 50 položek, pole attachments až 100 položek a payload musí obsahovat čitelný text.

Idempotence

Pokud váš systém může stejnou událost opakovat, přidejte hlavičku Idempotency-Key:

curl -X POST 'https://{workspace-domain}/api/webhooks/{publicID}/{secret}' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: deploy-1247' \
  -d '{"text":"Deployment #1247 completed"}'

Pokud HansaChat pro stejný webhook obdrží stejný klíč idempotence znovu, vrátí 200 ok bez vytvoření duplicitní zprávy.

Odpovědi

Úspěšné požadavky vracejí:

ok

Běžné chyby:

Stav Tělo Význam
400 invalid_payload Tělo JSON se nepodařilo zpracovat.
400 invalid_blocks Požadavek obsahuje více než 50 bloků.
400 too_many_attachments Požadavek obsahuje více než 100 příloh.
400 no_text Payload neobsahuje čitelný text.
429 resource_exhausted Webhook překročil 10 požadavků za minutu nebo 100 požadavků za hodinu.
404 no_active_hooks Workspace, webhook, tajemství nebo stav aktivace je neplatný.
410 channel_is_archived Cílový kanál je archivovaný.
503 temporarily_unavailable HansaChat zprávu nyní nemůže zpracovat. Opakujte později se stejným Idempotency-Key.

Bezpečnostní tipy

  • Zacházejte s URL webhooků jako s hesly.
  • Ukládejte URL do správce tajemství vašeho externího nástroje.
  • Obměňte URL, pokud uniklo nebo se ztratilo.
  • Zakazujte nepoužívané webhooky.
  • Pro každý externí systém použijte samostatný webhook, aby šlo přístup čistě odvolat.