HansaChat

Documentation

Prichádzajúce webhooky

Vytvárajte URL webhookov a odosielajte správy JSON kompatibilné so Slackom do kanálov.

Prichádzajúce webhooky umožňujú externým nástrojom odosielať automatizované správy do kanála HansaChat. Použite ich na aktualizácie o nasadeniach, monitorovacie výstrahy, upozornenia na tikety, odoslanie formulárov a ďalšie udalosti, ktoré sa majú zobraziť v tímovom chate.

Prichádzajúce webhooky môžu vytvárať a spravovať iba správcovia workspaceu.

Otvorenie Webhookov z Nastavení

Vytvorenie webhooku

  1. Otvorte Nastavenia vľavo dole v bočnom paneli.
  2. Vyberte Webhooky.
  3. Zvoľte Vytvoriť webhook.
  4. Zadajte zrozumiteľný názov webhooku, napríklad CI Deployments.
  5. Vyberte kanál, do ktorého sa majú správy odosielať.
  6. Voliteľne zadajte URL ikony.
  7. Zvoľte Vytvoriť webhook.

Stránka webhookov bez webhookov

Formulár vytvorenia webhooku

Kopírovanie URL webhooku

Po vytvorení HansaChat zobrazí URL webhooku len raz. Skopírujte ju a bezpečne uložte v externom nástroji, ktorý bude odosielať udalosti.

URL webhooku zobrazená len raz

Ak túto obrazovku zatvoríte bez uloženia URL, vygenerujte novú URL, aby vznikol nový tajný kľúč. Predchádzajúca URL po vygenerovaní okamžite prestane fungovať.

Správa webhookov

Na stránke Webhooky môžu správcovia:

  • Upraviť názov webhooku, kanál, URL ikony alebo stav aktivity.
  • Zakázať webhook, aby odmietal nové správy bez jeho odstránenia.
  • Vygenerovať novú URL, čím zneplatníte starý tajný kľúč a vznikne nová URL.
  • Odstrániť webhook. Existujúce chatové správy sa neodstránia.

Technická referencia

Na URL webhooku odošlite požiadavku POST:

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

URL obsahuje prihlasovacie údaje webhooku. Nie je potrebná žiadna ďalšia hlavička overenia. Celú URL uchovávajte v tajnosti.

Minimálna požiadavka

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

Keď HansaChat vráti ok, správa sa zobrazí vo vybratom kanáli.

Testovacia správa webhooku v kanáli

Payload kompatibilný so Slackom

Koncový bod prijíma payloady JSON kompatibilné so Slackom s poliami 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."
      }
    }
  ]
}

Aspoň jedno z polí text, blocks alebo attachments musí obsahovať čitateľný text.

Podporované polia

Pole Povinné Poznámky
text Nie Obsah správy ako čistý text.
blocks Nie Bloky v štýle Slack Block Kit. Najviac 50 blokov. Podporované typy blokov: section, header, context, image.
attachments Nie Prílohy v štýle Slacku. Najviac 100 príloh.

Maximálna veľkosť payloadu je 1 MB.

Obmedzenie frekvencie

Príjem prichádzajúcich webhookov je obmedzený na počet požiadaviek pripadajúcich na jednu URL webhooku.

Každý webhook môže prijať najviac 10 overených požiadaviek za minútu a najviac 100 overených požiadaviek za hodinu. Po dosiahnutí ktoréhokoľvek z týchto limitov HansaChat vráti 429 resource_exhausted.

Ak chcete obmedzenie frekvencie zvýšiť, kontaktujte nás.

Limity payloadu sa vynucujú osobitne: maximálna veľkosť tela požiadavky je 1 MB, pole blocks prijíma najviac 50 položiek, pole attachments najviac 100 položiek a payload musí obsahovať čitateľný text.

Idempotentnosť

Keď môže váš systém tú istú udalosť odoslať opakovane, pridajte 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"}'

Ak HansaChat prijme rovnaký idempotentný kľúč znova pre ten istý webhook, vráti 200 ok bez vytvorenia duplicitnej správy.

Odpovede

Úspešné požiadavky vracajú:

ok

Bežné chyby:

Stav Telo Význam
400 invalid_payload Telo JSON nebolo možné načítať.
400 invalid_blocks Požiadavka obsahuje viac než 50 blokov.
400 too_many_attachments Požiadavka obsahuje viac než 100 príloh.
400 no_text Payload neobsahuje čitateľný text.
429 resource_exhausted Webhook prekročil 10 požiadaviek za minútu alebo 100 požiadaviek za hodinu.
404 no_active_hooks Workspace, webhook, tajný kľúč alebo stav aktivity je neplatný.
410 channel_is_archived Cieľový kanál je archivovaný.
503 temporarily_unavailable HansaChat nemôže správu práve teraz spracovať. Skúste to neskôr znova s rovnakým Idempotency-Key.

Bezpečnostné tipy

  • Zaobchádzajte s URL webhookov ako s heslami.
  • Ukladajte URL do správcu tajomstiev vášho externého nástroja.
  • Vygenerujte novú URL, ak bola prezradená alebo stratená.
  • Nepoužívané webhooky zakážte.
  • Pre každý externý systém použite samostatný webhook, aby bolo možné prístup čisto odvolať.