HansaChat

Documentation

Dohodni webhooki

Ustvarite URL-je webhookov in objavljajte sporočila JSON, združljiva s Slackom, v kanale.

Dohodni webhooki zunanjim orodjem omogočajo objavljanje samodejnih sporočil v kanal HansaChat. Uporabite jih za posodobitve o uvajanju, opozorila nadzora, obvestila o zahtevkih, oddaje obrazcev in druge dogodke, ki naj se pojavijo v ekipnem klepetu.

Dohodne webhoke lahko ustvarjajo in upravljajo samo skrbniki delovnega prostora.

Odpiranje Webhookov iz Nastavitev

Ustvarjanje webhooka

  1. V spodnjem levem delu stranske vrstice odprite Nastavitve.
  2. Izberite Webhooki.
  3. Izberite Ustvari webhook.
  4. Vnesite jasno ime webhooka, na primer CI Deployments.
  5. Izberite kanal, v katerega naj se objavljajo sporočila.
  6. Po želji vnesite URL ikone.
  7. Izberite Ustvari webhook.

Prazen seznam webhookov

Obrazec za ustvarjanje webhooka

Kopiranje URL-ja webhooka

Po ustvarjanju HansaChat prikaže URL webhooka samo enkrat. Kopirajte ga in ga varno shranite v zunanje orodje, ki bo pošiljalo dogodke.

URL webhooka prikazan enkrat

Če ta zaslon zaprete, ne da bi shranili URL, za nov skrivni ključ zamenjajte URL. Prejšnji URL po zamenjavi takoj preneha delovati.

Upravljanje webhookov

Na strani Webhooki lahko skrbniki:

  • Uredi ime webhooka, kanal, URL ikone ali stanje aktivnosti.
  • Onemogoči webhook, da zavrne nova sporočila, ne da bi ga izbrisali.
  • Zamenjaj URL, da razveljavite stari skrivni ključ in ustvarite nov URL.
  • Izbriši webhook. Obstoječa klepetalna sporočila se ne odstranijo.

Tehnična referenca

Na URL webhooka pošljite zahtevo POST:

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

URL vsebuje poverilnice webhooka. Dodatna glava za avtentikacijo ni potrebna. Celoten URL naj ostane skrivnost.

Minimalna zahteva

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

Ko HansaChat vrne ok, se sporočilo prikaže v izbranem kanalu.

Preizkusno sporočilo webhooka v kanalu

Payload, združljiv s Slackom

Končna točka sprejme pošiljke JSON, združljive s Slackom, s polji text, blocks in 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."
      }
    }
  ]
}

Vsaj eno od polj text, blocks ali attachments mora vsebovati berljivo besedilo.

Podprta polja

Polje Obvezno Opombe
text Ne Vsebina sporočila v navadnem besedilu.
blocks Ne Bloki v slogu Slack Block Kit. Do 50 blokov. Podprte vrste blokov: section, header, context, image.
attachments Ne Priloge v slogu Slack. Do 100 prilog.

Največja velikost pošiljke je 1 MB.

Omejitve števila zahtev

Sprejemanje dohodnih webhookov je omejeno za vsak URL webhooka posebej.

Vsak webhook lahko sprejme do 10 overjenih zahtev na minuto in do 100 overjenih zahtev na uro. Ko je ena od omejitev dosežena, HansaChat vrne 429 resource_exhausted.

Če želite zvišati omejitev števila zahtev, vas prosimo, da kontaktirate nas.

Omejitve pošiljke se uveljavljajo ločeno: največja velikost telesa je 1 MB, blocks sprejme do 50 vnosov, attachments do 100 vnosov, pošiljka pa mora vsebovati berljivo besedilo.

Idempotenca

Dodajte glavo Idempotency-Key, kadar vaš sistem lahko ponovi isti dogodek:

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"}'

Če HansaChat za isti webhook spet prejme isti ključ idempotence, vrne 200 ok, ne da bi ustvaril podvojeno sporočilo.

Odgovori

Uspešne zahteve vrnejo:

ok

Pogoste napake:

Stanje Telo Pomen
400 invalid_payload Telesa JSON ni bilo mogoče razčleniti.
400 invalid_blocks Zahteva vsebuje več kot 50 blokov.
400 too_many_attachments Zahteva vsebuje več kot 100 prilog.
400 no_text Pošiljka nima berljivega besedila.
429 resource_exhausted Webhook je presegel 10 zahtev na minuto ali 100 zahtev na uro.
404 no_active_hooks Delovni prostor, webhook, skrivni ključ ali stanje aktivnosti ni veljavno.
410 channel_is_archived Ciljni kanal je arhiviran.
503 temporarily_unavailable HansaChat sporočila trenutno ne more obdelati. Pozneje poskusite znova z istim Idempotency-Key.

Varnostni nasveti

  • Z URL-ji webhookov ravnajte kot z gesli.
  • URL-je shranite v upravitelju skrivnosti svojega zunanjega orodja.
  • URL zamenjajte, če je bil razkrit ali izgubljen.
  • Onemogočite neuporabljene webhoke.
  • Za vsak zunanji sistem uporabite namenski webhook, da lahko njegov dostop preprosto prekličete.