Skip to main content

Webhook

I webhook consentono a VoiceCheap di notificare il tuo server non appena accade qualcosa, così puoi interrompere il polling GET /v1/translate/{projectId}/status.
I tentativi di consegna vengono effettuati una volta. Non ci sono ancora tentativi di riprova, quindi mantieni il polling come rete di sicurezza per tutto ciò che non puoi permetterti di perdere. Sono previsti tentativi di riprova con backoff esponenziale.

Configurazione

  1. Apri la pagina API nel tuo account VoiceCheap.
  2. In Webhook, seleziona Genera segreto di firma. Il segreto inizia con whsec_ e viene mostrato una volta — copialo e salvalo sul tuo server.
  3. Inserisci il tuo URL dell’endpoint e salvalo. Deve utilizzare https.
Tutto qui. Ogni progetto che avvii da quel momento in poi invierà eventi a quell’endpoint.

Sovrascrittura dell’endpoint per richiesta

POST /v1/translate e POST /v1/projects accettano un campo opzionale webhookUrl che sovrascrive l’endpoint dell’account solo per quel progetto. È utile per inviare il traffico di staging altrove:
Il segreto di firma è sempre il segreto dell’account; cambia solo la destinazione.

Eventi

Non esiste un evento di trascrizione separato. La trascrizione viene eseguita durante la creazione del progetto e un progetto esiste solo una volta che la sua trascrizione è archiviata — quindi project.created significa già che la trascrizione è pronta per essere recuperata con POST /v1/projects/{projectId}/transcript.

Payload

Ogni consegna è un POST con un corpo JSON:
Il payload è intenzionalmente leggero. Chiama l’API REST per il contenuto stesso.

Verifica della firma

Ogni consegna trasporta queste intestazioni: La firma copre <timestamp>.<raw body>, quindi è diversa a ogni consegna e dimostra sia che la richiesta proviene da VoiceCheap sia che il corpo non è stato modificato durante il transito.
Verifica la firma prima di considerare attendibile una consegna. Il tuo endpoint è un URL pubblico e la firma è ciò che distingue un vero evento VoiceCheap da qualsiasi altra cosa che lo raggiunga.

Risposta

Rispondi con qualsiasi stato 2xx per confermare la ricezione. Rispondi entro 10 secondi — conferma prima e svolgi il lavoro in seguito, invece di elaborare prima di rispondere. Una risposta non 2xx o un timeout viene registrato come consegna non riuscita e, per ora, non viene riprovato.

Rotazione del segreto

Seleziona Ruota nella pagina API per generare un nuovo segreto. Il precedente smette di funzionare immediatamente, quindi distribuisci il nuovo segreto sul tuo server non appena lo ruoti. L’eliminazione del webhook rimuove sia l’endpoint che il segreto e le consegne si interrompono.