Skip to main content

Webhooks

Webhooks ermöglichen es VoiceCheap, Ihren Server zu benachrichtigen, sobald etwas passiert, sodass Sie das Polling beenden können GET /v1/translate/{projectId}/status.
Zustellungen werden einmal versucht. Es gibt noch keine Wiederholungsversuche, also behalten Sie das Polling als Sicherheitsnetz bei für alles, was Sie nicht verpassen dürfen. Wiederholungsversuche mit exponentiellem Backoff sind geplant.

Einrichtung

  1. Öffnen Sie die API-Seite in Ihrem VoiceCheap-Konto.
  2. Wählen Sie unter Webhooks die Option Signatur-Geheimnis generieren. Das Geheimnis beginnt mit whsec_ und wird einmal angezeigt — kopieren Sie es und speichern Sie es auf Ihrem Server.
  3. Geben Sie Ihre Endpunkt-URL ein und speichern Sie diese. Sie muss https verwenden.
Das ist alles. Jedes Projekt, das Sie von da an starten, liefert Ereignisse an diesen Endpunkt.

Überschreiben des Endpunkts pro Anfrage

POST /v1/translate und POST /v1/projects akzeptieren ein optionales webhookUrl-Feld, das den Konto-Endpunkt nur für dieses Projekt überschreibt. Dies ist praktisch, um Staging-Datenverkehr woanders hinzuleiten:
Das Signatur-Geheimnis ist immer das Konto-Geheimnis; nur das Ziel ändert sich.

Ereignisse

Es gibt kein separates Transkriptionsereignis. Die Transkription läuft innerhalb der Projekterstellung ab, und ein Projekt existiert erst, sobald das Transkript gespeichert ist — daher bedeutet project.created bereits, dass das Transkript bereit zum Abrufen mit POST /v1/projects/{projectId}/transcript ist.

Nutzlast

Jede Zustellung ist ein POST mit einem JSON-Body:
Die Nutzlast ist absichtlich schlank gehalten. Rufen Sie die REST-API für den Inhalt selbst auf.

Überprüfung der Signatur

Jede Zustellung enthält diese Header: Die Signatur deckt <timestamp>.<raw body> ab, daher ist sie bei jeder Zustellung anders und beweist sowohl, dass die Anfrage von VoiceCheap kam, als auch, dass der Body während der Übertragung nicht verändert wurde.
Überprüfen Sie die Signatur, bevor Sie einer Zustellung vertrauen. Ihr Endpunkt ist eine öffentliche URL, und die Signatur ist das, was ein echtes VoiceCheap-Ereignis von allem anderen unterscheidet, das ihn erreicht.

Antworten

Antworten Sie mit einem beliebigen 2xx-Status zur Bestätigung. Antworten Sie innerhalb von 10 Sekunden — bestätigen Sie zuerst und erledigen Sie die Arbeit danach, anstatt sie vor der Antwort zu verarbeiten. Eine Nicht-2xx-Antwort oder ein Timeout wird als fehlgeschlagene Zustellung aufgezeichnet und wird derzeit nicht erneut versucht.

Rotation des Secrets

Wählen Sie Rotieren auf der API-Seite, um ein neues Secret zu generieren. Das vorherige funktioniert sofort nicht mehr, also stellen Sie das neue Secret auf Ihrem Server bereit, sobald Sie rotieren. Das Löschen des Webhooks entfernt sowohl den Endpunkt als auch das Secret, und die Zustellungen stoppen.