Webhooks

Webhooks underretter og hjælper med at indsamle oplysninger om de vigtigste begivenheder, som sker i Enterprise-projektet, såsom færdiggjort oversættelse/korrekturlæsning. Efter opsætning af en webhook til projektet, vil Enterprise begynde at sende POST- eller GET-anmodninger med data til webhook URL’en via HTTP.

Kun gruppe-/projektadministratorer og -adminis kan registrere en webhook.

Brugsstudier

Der kan tilføjes webhooks til at opbygge integrationer med tjenesterne eller med en backend. F.eks.:

  • Opsæt en webhook for at sende notifikationer til det brugte system.
  • Videresend oplysninger til tredjepartstjenester med specifikke forespørgselskrav (f.eks. HTTP-metode, indholdstype).
  • Opret tilpassede integrationer med Enterprise.

Events

Webhooks kan opsættes til flg. begivenheder:

  • File fully translated – a file is translated into one of the target languages

  • File fully reviewed – translations in a file are approved for one of the target languages

  • Fil tilføjet

  • Fil opdateret

  • Fil reverteret

  • Fil slettet

  • Project fully translated – all files are translated into one of the target languages

  • Project fully reviewed – translations in all files are approved for one of the target languages

  • Eksporteret oversættelse opdateret – endelig oversættelse af en streng er opdateret

  • Kildestreng tilføjet

  • Kildestreng opdateret

  • Kildestreng slettet

  • Oversættelsesforslag tilføjet – en streng i projektet er oversat

  • Oversættelsesforslag opdateret – en oversættelse til en projektstreng er opdateret

  • Oversættelsesforslag slettet – en oversættelse er slettet

  • Oversættelsesforslag godkendt – en strengsoversættelse er godkendt

  • Oversættelsesforslagsgodkendelse afvist – godkendelse af en tidligere tilføjet oversættelse er fjernet

  • Opgave tilføjet

  • Opgavestatus ændret

  • Opgave slettet

Webhook Payload-eksempler

  • File fuldt oversat
{
  "events": [
    {
      "event": "file.translated",
      "project": "impact",
      "project_id": "778899",
      "language": "uk",
      "file_id": "1",
      "file": "eksempel.txt"
    }
  ] }
  • Fil er fuldt revideret
{
  "events": [
    {
      "event": "file.approved",
      "project": "impact",
      "project_id": "778899",
      "language": "uk",
      "file_id": "1",
      "file": "eksempel.txt"
    }
  ] }
  • Fil tilføjet
{
  "events": [
    {
      "event": "file.added",
      "project": "impact",
      "project_id": "778899",
      "file_id": "1",
      "file": "eksempel.txt",
      "user_id": "1",
      "user": "hans_hansen",
      "revision": "1"
    }
  ] }
  • Fil opdateret
{
  "events": [
    {
      "event": "file.updated",
      "project": "impact",
      "project_id": "778899",
      "file_id": "1",
      "file": "eksempel.txt",
      "user_id": "1",
      "user": "hans_hansen",
      "revision": "1"
    }
  ] }
  • Fil reverteret
{
    "events": [
        {
            "event": "file.reverted",
            "project": "impact",
            "project_id": "778899",
            "file_id": "1",
            "file": "eksempel.txt",
            "user_id": "1",
            "user": "hans_hansen",
            "revision": "1"
        }
    ] }
  • Fil slettet
{
    "events": [
        {
            "event": "file.deleted",
            "project": "impact",
            "project_id": "778899",
            "file_id": "1",
            "file": "eksempel.txt",
            "user_id": "1",
            "user": "hans_hansen"
        }
    ] }
  • Projekt er fuldt oversat
{
    "events": [
        {
            "event": "project.translated",
            "project": "impact",
            "project_id": "778899",
            "language": "uk"
        }
    ] }
  • Projekt fuldt revideret
{
    "events": [
        {
            "event": "project.approved",
            "project": "impact",
            "project_id": "778899",
            "language": "uk"
        }
    ] }
  • Eksporteret oversættelse opdateret
{
    "events": [
        {
            "event": "translation.updated",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "old_translation_id": "1",
            "new_translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Kildestreng tilføjet
{
    "events": [
        {
            "event": "string.added",
            "project": "impact",
            "project_id": "778899",
            "string_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Kildestreng opdateret
{
    "events": [
        {
            "event": "string.updated",
            "project": "impact",
            "project_id": "778899",
            "string_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Kildestreng slettet
{
    "events": [
        {
            "event": "string.deleted",
            "project": "impact",
            "project_id": "778899",
            "string_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Oversættelsesforslag tilføjet
{
    "events": [
        {
            "event": "suggestion.added",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Oversættelsesforslag opdateret
{
    "events": [
        {
            "event": "suggestion.updated",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Oversættelsesforslag slettet
{
    "events": [
        {
            "event": "suggestion.deleted",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Oversættelsesforslag godkendt
{
    "events": [
        {
            "event": "suggestion.approved",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Oversættelsesforslagsgodkendelse afvist
{
    "events": [
        {
            "event": "suggestion.disapproved",
            "project": "impact",
            "project_id": "778899",
            "language": "uk",
            "source_string_id": "1",
            "translation_id": "1",
            "user": "hans_hansen",
            "user_id": "1",
            "file_id": "1",
            "file": "eksempel.txt"
        }
    ] }
  • Opgave tilføjet
{ "events": [
        { "event": "task.added", "project": "impact", "project_id": "778899", "language": "uk", "task_id": "", "user": "hans_hansen", "user_id": "1" } ] }
  • Opgavestatus ændret
{ "events": [
        { "event": "task.statusChanged", "project": "impact", "project_id": "778899", "language": "uk", "task_id": "", "old_status": "", "new_status": "", "user": "hans_hansen", "user_id": "1" } ] }
  • Opgave slettet
{ "events": [
        { "event": "task.deleted", "project": "impact", "project_id": "778899", "language": "uk", "task_id": "", "user": "hans_hansen", "user_id": "1" } ] }

Tilføjelse af Webhooks

Åbn projektet og gå til Integrationer > Webhooks på venstre panel for at opsætte webhooks i Enterprise. Klik på Opret for at starte opsætningen af den nye webhook.

Flg. oplysninger skal angives for at registrere en webhook:

  • Webhook-navn (f.eks. “Ny oversættelse tilføjet”).
  • Begivenhederne, som skal overføres URL’en. Der kan enten vælges en begivenhed eller et bestemt begivenhedssæt.
  • URL’en, hvortil callback skal sendes.
  • Forespørgselsmetoden, der angiver den ønskede handlingsudførelse for en given ressource (brug enten GET eller POST).
  • Indholdstypen for POST-anmodningsmetoden (multipart/form-data, application/json, eller application/x-www-form-urlencoded).
  • For applikations-/json-indholdstypen kan vælge sBatch webhooks for at fusionere flere begivenheder til én enkelt forespørgsel.

Alternativt kan der føjes særlige headers til webhook’en. De kan bruges til ekstra sikkerhed som en godkendelsesmetode og meget mere. Tilføjes headers, kan webhook-endpointet f.eks. tjekke dem for at sikre, at oplysningerne kommer fra Enterprise.

Tilføj Webhook

Når en webhook tilføjes, kan det testes, hvordan applikationen vil reagere på dette kald.

Test Webhooks

Afhængigt af tilgangen til webhook-håndteringen kan man være nødt til at tilføje dedikerede Enterprise IP-adresser til en evt. firewall’ for at tillade Enterprise at åbne de præopsatte webhook-URL’er.

Læs mere om IP-adresser.

Tilpassede payloads

Hver begivenhedstype i Enterprise har et specifikt payload-format med de relevante begivenhedsoplysninger. Webhook-payload kan tilpasses mhp. at tilføje og organisere elementerne jf. systemts krav.

Placér markøren over Infoikonet i Payload-afsnittets øverste højre hjørne for at tjekke begivenhedens mulige variabler.

Tilpasset payload

Sende Webhooks til Slack

Vha. Enterprise-webhooks kan notifikationer om præopsatte begivenhedstyper sendes direkte til en bestemt Slack-kanal.

Opret en simpel Slack-app for at opsætte afsendelse fra webhooks til Slack. Læs mere om Beskedafsendelse til Slack vha. Indgående Webhooks.

Så snart en Slack-app er oprettet og opsat, vil der være en Webhook-URL, der skal bruges til Webhooks-opsætningen i Enterprise-projektet.

Bemærk: For at sende webhooks til Slack, så sørg for, at den tilpassede payload indeholder feltet "text". samt at indstillingen Batch webhooks er ryddet.

Redigere eller Slette Webhooks

Man kan tilgå listen over alle eksisterende webhooks i et bestemt projekt. Webhooks kan redigeres eller slette direkte fra den viste liste.

Webhooks-håndtering

Aktiviteter

Efter begivenhederne er udløst, vil man kunne gennemgå aktiviteten af hver individuelle webhook. Benyt filteret for enten at gennemse alle webhook-notifikationer eller kun de med statussen Fejlet.

Webhooks-aktiviteter

Alternativt kan den fulde liste af sendte webhooks gennemses i Webhooks Log. Filtrér webhook-notifikationer efter resultat (Alle eller Fejlet), begivenhedstyper eller navn.

Webhooks Log

Søge assistance

Behov for hjælp til brug af Webhooks eller evt. spørgsmål? Kontakt Supportteamet.

Var denne artikel nyttig?