HansaChat

Documentation

Dolazni webhookovi

Stvorite URL-ove webhookova i objavljujte JSON poruke kompatibilne sa Slackom u kanale.

Dolazni webhookovi omogućuju vanjskim alatima objavljivanje automatskih poruka u HansaChat kanal. Upotrijebite ih za ažuriranja implementacija, upozorenja nadzora, obavijesti o karticama, prijave obrazaca i druge događaje koji trebaju biti vidljivi u timskom chatu.

Samo administratori radnog prostora mogu stvarati i upravljati dolaznim webhookovima.

Otvorite Webhookovi iz Postavki

Stvaranje webhooka

  1. Otvorite Postavke iz donje lijeve bočne trake.
  2. Odaberite Webhookovi.
  3. Odaberite Stvori webhook.
  4. Unesite jasan naziv webhooka, primjerice CI Deployments.
  5. Odaberite kanal u koji se poruke trebaju objavljivati.
  6. Po želji unesite URL ikone.
  7. Odaberite Stvori webhook.

Prazna stranica webhookova

Obrazac za stvaranje webhooka

Kopiranje URL-a webhooka

Nakon stvaranja HansaChat prikazuje URL webhooka samo jednom. Kopirajte ga i pohranite na sigurno mjesto u vanjskom alatu koji će slati događaje.

URL webhooka prikazan jednom

Ako zatvorite ovaj zaslon bez spremanja URL-a, rotirajte URL da biste generirali novu tajnu. Prethodni URL prestaje raditi odmah nakon rotacije.

Upravljanje webhookovima

Sa stranice Webhookovi administratori mogu:

  • Urediti naziv webhooka, kanal, URL ikone ili aktivno stanje.
  • Onemogućiti webhook da biste odbijali nove poruke bez brisanja.
  • Rotirati URL da biste poništili staru tajnu i generirali novi URL.
  • Izbrisati webhook. Postojeće poruke u chatu ne uklanjaju se.

Tehnička referenca

Pošaljite POST zahtjev na URL webhooka:

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

URL sadrži vjerodajnice webhooka. Nije potrebno dodatno zaglavlje za autentikaciju. Čuvajte cijeli URL kao tajnu.

Minimalni zahtjev

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

Kada HansaChat vrati ok, poruka se pojavljuje u odabranom kanalu.

Testna poruka webhooka u kanalu

Payload kompatibilan sa Slackom

Krajnja točka prihvaća JSON payloadove kompatibilne sa Slackom s poljima text, blocks i 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."
      }
    }
  ]
}

Barem jedno od polja text, blocks ili attachments mora sadržavati čitljiv tekst.

Podržana polja

Polje Obavezno Napomene
text Ne Sadržaj poruke kao običan tekst.
blocks Ne Blokovi u stilu Slack Block Kita. Do 50 blokova. Podržane vrste blokova: section, header, context, image.
attachments Ne Prilozi u stilu Slacka. Do 100 priloga.

Maksimalna veličina payloada je 1 MB.

Ograničenja učestalosti

Prijem dolaznih webhookova ograničen je po učestalosti za svaki URL webhooka.

Svaki webhook može prihvatiti do 10 autenticiranih zahtjeva u minuti i do 100 autenticiranih zahtjeva na sat. Kada se bilo koje od tih ograničenja dosegne, HansaChat vraća 429 resource_exhausted.

Kontaktirajte nas ako želite povećati ograničenje učestalosti.

Ograničenja payloada provode se odvojeno: maksimalna veličina tijela je 1 MB, blocks prihvaća do 50 stavki, attachments do 100 stavki, a payload mora sadržavati čitljiv tekst.

Idempotencija

Dodajte zaglavlje Idempotency-Key kada vaš sustav može ponovno poslati isti događaj:

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

Ako HansaChat ponovno primi isti ključ idempotencije za isti webhook, vraća 200 ok bez stvaranja duplicirane poruke.

Odgovori

Uspješni zahtjevi vraćaju:

ok

Uobičajene pogreške:

Status Tijelo Značenje
400 invalid_payload JSON tijelo nije bilo moguće analizirati.
400 invalid_blocks Zahtjev sadrži više od 50 blokova.
400 too_many_attachments Zahtjev sadrži više od 100 priloga.
400 no_text Payload nema čitljivog teksta.
429 resource_exhausted Webhook je premašio 10 zahtjeva u minuti ili 100 zahtjeva na sat.
404 no_active_hooks Radni prostor, webhook, tajna ili aktivno stanje nisu valjani.
410 channel_is_archived Ciljni kanal je arhiviran.
503 temporarily_unavailable HansaChat trenutačno ne može obraditi poruku. Pokušajte kasnije s istim Idempotency-Key.

Sigurnosni savjeti

  • Postupajte s URL-ovima webhookova kao s lozinkama.
  • Pohranite URL-ove u upravitelju tajni svog vanjskog alata.
  • Rotirajte URL ako je bio izložen ili izgubljen.
  • Onemogućite nekorištene webhookove.
  • Upotrijebite namjenski webhook za svaki vanjski sustav kako bi se pristup mogao uredno opozvati.