HansaChat

Documentation

Ienākošie webhooki

Izveidojiet webhooku URL un sūtiet Slack saderīgus JSON ziņojumus kanālos.

Ienākošie webhooki ļauj ārējiem rīkiem ievietot automātiskus ziņojumus HansaChat kanālā. Izmantojiet tos izvietošanas atjauninājumiem, uzraudzības brīdinājumiem, biļešu paziņojumiem, formu iesniegumiem un citiem notikumiem, kuriem jāparādās komandas tērzēšanā.

Ienākošos webhookus var izveidot un pārvaldīt tikai darbavietu administratori.

Atveriet Webhooki no Iestatījumi

Izveidojiet webhooku

  1. Atveriet Iestatījumi no apakšējās kreisās sānu joslas daļas.
  2. Atlasiet Webhooki.
  3. Izvēlieties Izveidot webhooku.
  4. Ievadiet skaidru webhooka nosaukumu, piemēram, CI Deployments.
  5. Izvēlieties kanālu, kurā ziņojumi jāpublicē.
  6. Neobligāti ievadiet ikonas URL.
  7. Izvēlieties Izveidot webhooku.

Tukša webhooku lapa

Webhooka izveides forma

Nokopējiet webhooka URL

Pēc izveides HansaChat parāda webhooka URL tikai vienreiz. Nokopējiet to un uzglabājiet drošībā ārējā rīkā, kas sūtīs notikumus.

Webhooka URL redzams vienreiz

Ja aizverat šo ekrānu, nesaglabājot URL, nomainiet URL, lai ģenerētu jaunu slepeno atslēgu. Iepriekšējais URL pārstāj darboties uzreiz pēc nomaiņas.

Pārvaldiet webhookus

No webhooku lapas administratori var:

  • Rediģēt webhooka nosaukumu, kanālu, ikonas URL vai aktīvo stāvokli.
  • Atspējot webhooku, lai noraidītu jaunus ziņojumus, to nedzēšot.
  • Nomainīt URL, lai atspēkotu veco slepeno atslēgu un ģenerētu jaunu URL.
  • Dzēst webhooku. Esošie tērzēšanas ziņojumi netiek noņemti.

Tehniskā atsauce

Nosūtiet POST pieprasījumu uz webhooka URL:

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

URL satur webhooka pieteikšanās datus. Papildu autentifikācijas galvene nav nepieciešama. Turiet pilnu URL slepenībā.

Minimāls pieprasījums

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

Kad HansaChat atgriež ok, ziņojums parādās izvēlētajā kanālā.

Webhooka testa ziņojums kanālā

Ar Slack saderīgs payload

Galapunkts pieņem ar Slack saderīgas JSON slodzes ar text, blocks un 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."
      }
    }
  ]
}

Kaut vienam no text, blocks vai attachments jāsatur salasāms teksts.

Atbalstītie lauki

Lauks Obligāts Piezīmes
text Vienkārša teksta ziņojuma saturs.
blocks Slack Block Kit stila bloki. Līdz 50 blokiem. Atbalstītie bloku veidi: section, header, context, image.
attachments Slack stila pielikumi. Līdz 100 pielikumiem.

Maksimālais payload izmērs ir 1 MB.

Pieprasījumu ierobežojumi

Ienākošo webhooku uzņemšana ir ierobežota katram webhooka URL atsevišķi.

Katrs webhooks var pieņemt līdz 10 autentificētiem pieprasījumiem minūtē un līdz 100 autentificētiem pieprasījumiem stundā. Kad kāds no ierobežojumiem ir sasniegts, HansaChat atgriež 429 resource_exhausted.

Lūdzu, sazinieties ar mums, ja vēlaties paaugstināt pieprasījumu ierobežojumu.

Payload ierobežojumi tiek piemēroti atsevišķi: maksimālais pamatteksta izmērs ir 1 MB, blocks pieņem līdz 50 vienībām, attachments pieņem līdz 100 vienībām, un payload jāsatur salasāms teksts.

Idempotence

Pievienojiet Idempotency-Key galveni, kad jūsu sistēma var atkārtoti nosūtīt vienu un to pašu notikumu:

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

Ja HansaChat vienam un tam pašam webhookam atkārtoti saņem vienu un to pašu idempotences atslēgu, tas atgriež 200 ok, neizveidojot dublētu ziņojumu.

Atbildes

Veiksmīgi pieprasījumi atgriež:

ok

Biežākās kļūdas:

Statuss Atbilde Nozīme
400 invalid_payload JSON pamattekstu nevarēja parsēt.
400 invalid_blocks Pieprasījums satur vairāk par 50 blokiem.
400 too_many_attachments Pieprasījums satur vairāk par 100 pielikumiem.
400 no_text Payload nesatur salasāmu tekstu.
429 resource_exhausted Webhooks pārsniedza 10 pieprasījumus minūtē vai 100 pieprasījumus stundā.
404 no_active_hooks Darbavieta, webhooks, slepenā atslēga vai aktīvais stāvoklis ir nederīgs.
410 channel_is_archived Mērķa kanāls ir arhivēts.
503 temporarily_unavailable HansaChat pašlaik nevar apstrādāt ziņojumu. Vēlāk mēģiniet vēlreiz ar to pašu Idempotency-Key.

Drošības ieteikumi

  • Ar webhooku URL rīkojieties kā ar parolēm.
  • Uzglabājiet URL savas ārējās sistēmas slepeno datu pārvaldniekā.
  • Nomainiet URL, ja tas tika atklāts vai pazuda.
  • Atspējojiet nelietotos webhookus.
  • Katrai ārējai sistēmai izmantojiet atsevišķu webhooku, lai piekļuvi varētu tīri atsaukt.