Skip to main content

Webhooks

Met webhooks kan VoiceCheap je server op de hoogte stellen zodra er iets gebeurt, zodat je kunt stoppen met pollen GET /v1/translate/{projectId}/status.
Afleveringen worden één keer geprobeerd. Er zijn nog geen nieuwe pogingen, dus blijf pollen als vangnet voor alles wat je niet mag missen. Nieuwe pogingen met exponentiële uitstel zijn gepland.

Instellen

  1. Open de API-pagina in je VoiceCheap-account.
  2. Selecteer bij Webhooks de optie Generate signing secret. Het geheim begint met whsec_ en wordt één keer getoond — kopieer het en sla het op je server op.
  3. Voer je endpoint URL in en sla deze op. Deze moet https gebruiken.
Dat is alles. Elk project dat je vanaf dat moment start, levert gebeurtenissen aan dat eindpunt.

Het eindpunt per verzoek overschrijven

POST /v1/translate en POST /v1/projects accepteren een optioneel webhookUrl-veld dat het accounteindpunt alleen voor dat project overschrijft. Dit is handig om staging-verkeer ergens anders heen te sturen:
Het ondertekeningsgeheim is altijd het accountgeheim; alleen de bestemming verandert.

Gebeurtenissen

Er is geen afzonderlijke transcriptiegebeurtenis. Transcriptie wordt uitgevoerd tijdens het aanmaken van een project, en een project bestaat pas zodra het transcript is opgeslagen — dus project.created betekent al dat het transcript klaar is om op te halen met POST /v1/projects/{projectId}/transcript.

Payload

Elke aflevering is een POST met een JSON-body:
De payload is bewust beknopt. Roep de REST API aan voor de inhoud zelf.

De handtekening verifiëren

Elke aflevering bevat deze headers: De handtekening dekt <timestamp>.<raw body>, dus deze is bij elke aflevering anders en bewijst zowel dat het verzoek van VoiceCheap kwam als dat de body tijdens het transport niet is gewijzigd.
Verifieer de handtekening voordat u een aflevering vertrouwt. Uw eindpunt is een openbare URL, en de handtekening is wat een echte VoiceCheap-gebeurtenis onderscheidt van al het andere dat het bereikt.

Reageren

Antwoord met een 2xx-status om te bevestigen. Antwoord binnen 10 seconden — bevestig eerst en doe het werk daarna, in plaats van te verwerken voordat u antwoordt. Een niet-2xx-antwoord of een time-out wordt geregistreerd als een mislukte aflevering en wordt vooralsnog niet opnieuw geprobeerd.

Het geheim roteren

Selecteer Roteren op de API-pagina om een nieuw geheim te genereren. Het vorige stopt onmiddellijk met werken, dus implementeer het nieuwe geheim op uw server zodra u roteert. Het verwijderen van de webhook verwijdert zowel het eindpunt als het geheim, en afleveringen stoppen.