Saapuvien webhookien avulla ulkoiset työkalut voivat lähettää automatisoituja viestejä HansaChat-kanavalle. Käytä niitä käyttöönottopäivityksiin, valvontahälytyksiin, tiketti-ilmoituksiin, lomakkeiden lähetyksiin ja muihin tapahtumiin, joiden kuuluu näkyä tiimichatissa.
Vain työtilan ylläpitäjät voivat luoda ja hallita saapuvia webhookeja.

Luo webhook
- Avaa Asetukset sivupalkin vasemmasta alareunasta.
- Valitse Webhookit.
- Valitse Luo webhook.
- Kirjoita selkeä webhookin nimi, kuten
CI-käyttöönotot. - Valitse kanava, jolle viestit lähetetään.
- Kirjoita halutessasi kuvakkeen URL-osoite.
- Valitse Luo webhook.


Kopioi webhookin URL-osoite
Luomisen jälkeen HansaChat näyttää webhookin URL-osoitteen vain kerran. Kopioi se ja tallenna se turvallisesti ulkoiseen työkaluun, joka lähettää tapahtumat.

Jos suljet tämän näkymän tallentamatta URL-osoitetta, vaihda URL-osoite, jolloin syntyy uusi salaisuus. Edellinen URL-osoite lakkaa toimimasta heti vaihtamisen jälkeen.
Webhookien hallinta
Webhookit-sivulla ylläpitäjät voivat:
- Muokata webhookin nimeä, kanavaa, kuvakkeen URL-osoitetta tai aktiivisuustilaa.
- Poistaa käytöstä webhookin, jolloin se hylkää uudet viestit ilman poistamista.
- Vaihtaa URL-osoitteen, jolloin vanha salaisuus mitätöityy ja syntyy uusi URL-osoite.
- Poistaa webhookin. Olemassa olevia keskusteluviestejä ei poisteta.
Tekninen referenssi
Lähetä POST-pyyntö webhookin URL-osoitteeseen:
https://{workspace-domain}/api/webhooks/{publicID}/{secret}
URL-osoite sisältää webhookin kirjautumistiedot. Erillistä todennusotsikkoa ei tarvita. Pidä koko URL-osoite salaisena.
Vähimmäispyyntö
curl -X POST 'https://{workspace-domain}/api/webhooks/{publicID}/{secret}' \
-H 'Content-Type: application/json' \
-d '{"text":"Deployment completed successfully"}'
Kun HansaChat palauttaa vastauksen ok, viesti ilmestyy valitulle kanavalle.

Slack-yhteensopiva payload
Päätepiste hyväksyy Slack-yhteensopivia JSON-payloadeja, joissa on text-, blocks- ja attachments-kentät.
{
"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."
}
}
]
}
Vähintään yhden kentän text, blocks tai attachments on sisällettävä luettavaa tekstiä.
Tuetut kentät
| Kenttä | Pakollinen | Huomiot |
|---|---|---|
text |
Ei | Viestin sisältö tavallisena tekstinä. |
blocks |
Ei | Slack Block Kit -tyyliset lohkot. Enintään 50 lohkoa. Tuetut lohkotyypit: section, header, context, image. |
attachments |
Ei | Slack-tyyliset liitteet. Enintään 100 liitettä. |
Payloadin enimmäiskoko on 1 MB.
Nopeusrajoitukset
Saapuvien webhookien käsittelyä rajoitetaan webhookin URL-osoitteen perusteella.
Jokainen webhook hyväksyy enintään 10 todennettua pyyntöä minuutissa ja enintään 100 todennettua pyyntöä tunnissa. Kun jompikumpi raja ylittyy, HansaChat palauttaa vastauksen 429 resource_exhausted.
Ota yhteyttä meihin, jos haluat nostaa nopeusrajoitusta.
Payload-rajoja valvotaan erikseen: syötteen enimmäiskoko on 1 MB, blocks hyväksyy enintään 50 kohdetta, attachments enintään 100 kohdetta, ja payloadin on sisällettävä luettavaa tekstiä.
Idempotenssi
Lisää Idempotency-Key-otsikko, kun järjestelmäsi voi lähettää saman tapahtuman uudelleen:
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"}'
Jos HansaChat vastaanottaa saman idempotenssiavaimen uudelleen samalle webhookille, se palauttaa vastauksen 200 ok luomatta viestiä kaksoiskappaleena.
Vastaukset
Onnistuneet pyynnöt palauttavat:
ok
Yleiset virheet:
| Tilakoodi | Runko | Merkitys |
|---|---|---|
| 400 | invalid_payload |
JSON-runkoa ei voitu jäsentää. |
| 400 | invalid_blocks |
Pyyntö sisältää yli 50 lohkoa. |
| 400 | too_many_attachments |
Pyyntö sisältää yli 100 liitettä. |
| 400 | no_text |
Payloadissa ei ole luettavaa tekstiä. |
| 429 | resource_exhausted |
Webhook ylitti 10 pyyntöä minuutissa tai 100 pyyntöä tunnissa. |
| 404 | no_active_hooks |
Työtila, webhook, salaisuus tai aktiivisuustila on virheellinen. |
| 410 | channel_is_archived |
Kohdekanava on arkistoitu. |
| 503 | temporarily_unavailable |
HansaChat ei voi käsitellä viestiä juuri nyt. Yritä myöhemmin uudelleen samalla Idempotency-Key-otsikolla. |
Tietoturvavinkit
- Kohtele webhookien URL-osoitteita kuten salasanoja.
- Tallenna URL-osoitteet ulkoisen työkalusi salaisuuksien hallintaan.
- Vaihda URL-osoite, jos se paljastui tai katosi.
- Poista käyttämättömät webhookit käytöstä.
- Käytä yhtä erillistä webhookia ulkoista järjestelmää kohden, jotta käyttöoikeus voidaan perua siististi.