HansaChat

Documentation

Bejövő webhookok

Hozzon létre webhook URL-eket, és küldjön Slack-kompatibilis JSON-üzeneteket a csatornákba.

A bejövő webhookok lehetővé teszik, hogy külső eszközök automatikus üzeneteket küldjenek egy HansaChat-csatornába. Használja őket telepítési frissítésekhez, monitoring-riasztásokhoz, jegyértesítésekhez, űrlapbeküldésekhez és más, a csapatchatben megjelenítendő eseményekhez.

Csak a workspace rendszergazdái hozhatnak létre és kezelhetnek bejövő webhookokat.

Webhookok megnyitása a Beállításokból

Webhook létrehozása

  1. Nyissa meg a Beállítások lehetőséget az oldalsáv bal alsó részén.
  2. Válassza a Webhookok lapot.
  3. Válassza a Webhook létrehozása lehetőséget.
  4. Adjon meg egy egyértelmű webhook-nevet, például CI Deployments.
  5. Válassza ki a csatornát, amelybe az üzeneteknek érkezniük kell.
  6. Opcionálisan adjon meg egy ikon URL-t.
  7. Válassza a Webhook létrehozása lehetőséget.

Üres webhookok oldal

Webhook létrehozása űrlap

A webhook URL másolása

A létrehozás után a HansaChat csak egyszer jeleníti meg a webhook URL-t. Másolja ki, és tárolja biztonságosan azt a külső eszközben, amely az eseményeket küldeni fogja.

A webhook URL csak egyszer jelenik meg

Ha bezárja ezt a képernyőt az URL mentése nélkül, cserélje le az URL-t, hogy új titok jöjjön létre. A korábbi URL a csere után azonnal megszűnik működni.

Webhookok kezelése

A Webhookok oldalon a rendszergazdák:

  • Szerkesztés – módosíthatják a webhook nevét, csatornáját, ikonjának URL-jét vagy aktív állapotát.
  • Letiltás – letilthatnak egy webhookot, hogy az törlés nélkül utasítsa el az új üzeneteket.
  • URL cseréje – érvényteleníthetik a régi titokot, és új URL-t generálhatnak.
  • Törlés – törölhetnek egy webhookot. A meglévő chatüzenetek nem törlődnek.

Technikai referencia

Küldjön POST kérést a webhook URL-re:

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

Az URL tartalmazza a webhook hitelesítési adatait. Nincs szükség további hitelesítési fejlécre. Kezelje a teljes URL-t titokként.

Minimális kérés

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

Miután a HansaChat ok választ ad, az üzenet megjelenik a kiválasztott csatornában.

Webhook tesztüzenet egy csatornában

Slack-kompatibilis payload

A végpont Slack-kompatibilis JSON-payloadokat fogad text, blocks és attachments mezőkkel.

{
  "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."
      }
    }
  ]
}

A text, a blocks és az attachments közül legalább egynek olvasható szöveget kell tartalmaznia.

Támogatott mezők

Mező Kötelező Megjegyzések
text Nem Egyszerű szöveges üzenettartalom.
blocks Nem Slack Block Kit-stílusú blokkok. Legfeljebb 50 blokk. Támogatott blokktípusok: section, header, context, image.
attachments Nem Slack-stílusú mellékletek. Legfeljebb 100 melléklet.

A payload legnagyobb mérete 1 MB.

Gyakorisági korlátok

A bejövő webhookok feldolgozása webhook URL-enként gyakorisági korlát alá tartozik.

Egy webhook legfeljebb 10 hitelesített kérést fogad el percenként, és legfeljebb 100 hitelesített kérést óránként. Ha valamelyik korlát elérésre kerül, a HansaChat 429 resource_exhausted választ ad.

Ha növelni szeretné a gyakorisági korlátot, vegye fel velünk a kapcsolatot.

A payload-korlátok külön érvényesek: a törzs legnagyobb mérete 1 MB, a blocks legfeljebb 50 elemet, az attachments legfeljebb 100 elemet fogad el, és a payloadnak olvasható szöveget kell tartalmaznia.

Idempotencia

Ha a rendszere újrapróbálhatja ugyanazt az eseményt, adjon hozzá egy Idempotency-Key fejlécet:

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

Ha a HansaChat ugyanazt az idempotencia-kulcsot ugyanahhoz a webhookhoz ismét megkapja, 200 ok választ ad anélkül, hogy duplikált üzenetet hozna létre.

Válaszok

A sikeres kérések a következőt adják vissza:

ok

Gyakori hibák:

Állapotkód Választörzs Jelentés
400 invalid_payload A JSON-törzs nem elemezhető.
400 invalid_blocks A kérés 50-nél több blokkot tartalmaz.
400 too_many_attachments A kérés 100-nál több mellékletet tartalmaz.
400 no_text A payload nem tartalmaz olvasható szöveget.
429 resource_exhausted A webhook túllépte a percenkénti 10 vagy az óránkénti 100 kérést.
404 no_active_hooks A workspace, a webhook, a titok vagy az aktív állapot érvénytelen.
410 channel_is_archived A célcsatorna archiválva van.
503 temporarily_unavailable A HansaChat az üzenetet jelenleg nem tudja feldolgozni. Próbálja újra később ugyanazzal az Idempotency-Key kulccsal.

Biztonsági tippek

  • Kezelje a webhook URL-eket úgy, mint a jelszavakat.
  • Tárolja az URL-eket a külső eszköz titokkezelőjében.
  • Cserélje le az URL-t, ha az kikerült vagy elveszett.
  • Tiltsa le a nem használt webhookokat.
  • Használjon minden külső rendszerhez külön webhookot, hogy a hozzáférés később tisztán visszavonható legyen.