Du kannst Webhooks hinzufügen, um Integrationen mit Drittanbieterdiensten oder deinem Backend zu erstellen. Nachdem du einen Webhook für das Projekt konfiguriert hast, sendet Crowdin per HTTP POST- oder GET-Anfragen mit Daten an die Webhook-URL.
Eine Webhook-Integration kann auf verschiedenen Ebenen eingerichtet werden, einschließlich Projekt-, Konto- oder Organisationsebene.
Projekt
Konfiguriere Webhooks für ein bestimmtes Projekt, um Benachrichtigungen über Ereignisse im Projekt zu erhalten, etwa Dateiübersetzung, Überprüfung und mehr.
Konfiguriere Webhooks für deine Crowdin Enterprise-Organisation, um Benachrichtigungen zu erhalten, wenn Projekte und Gruppen erstellt oder gelöscht werden.
Je nachdem, wie du deine Webhooks verwaltest, musst du möglicherweise die dedizierten Crowdin-IP-Adressen zu deiner Firewall hinzufügen, damit Crowdin die vorkonfigurierten Webhook-URLs öffnen kann.
Crowdin sendet jedes in der Warteschlange befindliche Ereignis einmal an deinen Endpunkt. Eine Zustellung gilt als erfolgreich, wenn dein Endpunkt vor Ablauf des Zeitlimits mit einem 2XX-Status antwortet. Jede andere Antwort, ein Zeitüberschreitungsfehler oder ein Verbindungsfehler wird als fehlgeschlagener Aufruf aufgezeichnet. Crowdin sendet dieses Ereignis dann nicht erneut. Wenn für den Webhook Batch-Webhooks aktiviert ist, fasst Crowdin mehrere Ereignisse in einer Anfrage mit einem events-Array zusammen. Die Antwort gilt für jedes Ereignis in dieser Anfrage.
Behandle jede Anfrage als die einzige Benachrichtigung, die du für ein Ereignis erhalten wirst. Antworte zuerst, führe die Verarbeitung anschließend durch und nutze die API, um alles nachzuholen, was dein Dienst während seiner Nichterreichbarkeit verpasst hat.
In jeder Anfrage wird das Ereignis im Feld event angegeben und die Nutzdaten des beschriebenen Objekts übertragen. Wenn dein Dienst erkennen muss, dass er eine Anfrage bereits verarbeitet hat, erstelle aus diesen Werten einen Idempotenzschlüssel, zum Beispiel aus dem Ereignisnamen sowie der Objekt-ID und dem Zeitstempel.
Die Payload-Struktur für Ereignisse von Crowdin und Crowdin Enterprise ist grundsätzlich gleich. Der einzige Unterschied befindet sich im Objekt project. Bei Crowdin-Enterprise-Ereignissen enthält das Objekt project zusätzliche Felder.