Webhook
Mit dem Webhook-Modul können Crowdin Apps auf bestimmte Ereignisse reagieren und Aktionen auslösen, wenn diese Ereignisse eintreten. Dieses Modul eignet sich zur Automatisierung von Workflows (z. B. in Kombination mit dem Workflow-Step-Type-Modul), zur Synchronisierung externer Systeme oder zum Protokollieren von Projektaktivitäten.
{ "modules": { "webhook": [ { "key": "webhook-key-module-key", "url": "/webhooks", "events": [ "project.translated", "project.approved" ], "environments": [ "crowdin", "crowdin-enterprise" ] } ] }}key | Typ: Erforderlich: ja Beschreibung: Kennung des Moduls innerhalb der Crowdin-App. |
url | Typ: Erforderlich: ja Beschreibung: Die relative URL des Webhook-Handlers in der App. |
events | Typ: Erforderlich: ja Beschreibung: Eine Liste von Ereignissen, die den Webhook auslösen. Siehe die Liste der verfügbaren Webhook-Ereignisse. |
environments | Typ: Zulässige Werte: Beschreibung: Menge der Umgebungen, in denen ein Modul installiert werden kann. |
Alle Webhooks werden über eine HTTP-POST-Anfrage mit einer JSON-formatierten Payload ausgelöst. Die Anfrage kann ein einzelnes Ereignis oder mehrere Ereignisse enthalten (die immer im Bulk-Modus übermittelt werden).
Weitere Informationen findest du unter Beispiele für Webhook-Payloads.
Wenn ein Ereignis eintritt, sendet Crowdin eine HTTP-POST-Anfrage an deinen Webhook-Endpunkt, einschließlich der erforderlichen Header für Authentifizierung und Sicherheit. Unten findest du ein Beispiel für eine solche Anfrage.
HTTP-Anfrage:
POST /webhooks HTTP/1.1User-Agent: Crowdin-WebhookContent-Type: application/jsonX-Crowdin-Id: <organization-id>X-Crowdin-Domain: <organization-domain>X-Crowdin-Signature: <signature>X-Module-Key: <your-module-key>Anfragetext:
{ "events": [ { "event": "project.translated", "project": { "id": "777", // ... }, "targetLanguage": { "id": "uk", // ... } }, { "event": "project.approved", "project": { "id": "777", // ... }, "targetLanguage": { "id": "uk", // ... } } ]}Während der App-Installation wird deiner App ein eindeutiges Geheimnis namens app_secret bereitgestellt. Dieses Geheimnis wird verwendet, um die Webhook-Signatur mithilfe des HMAC-Algorithmus mit SHA-256 zu erzeugen.
Crowdin erwartet, dass deine App mit einem erfolgreichen HTTP-Statuscode (d. h. einem beliebigen 2XX-Status) antwortet, um den Empfang der Webhook-Payload zu bestätigen.