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.
Ogni consegna viene tentata una sola volta. Non sono previsti nuovi tentativi; continua a interrogare lo stato per gli eventi importanti.

Configurazione

  1. Apri la pagina API nel tuo account VoiceCheap.
  2. In Webhook, seleziona Genera chiave di firma. La chiave che inizia con whsec_ appare una sola volta: copiala e conservala sul tuo server.
  3. Inserisci un URL https in URL di destinazione e seleziona Salva.
Tutto qui. Ogni progetto che avvii da quel momento in poi invierà eventi a quell’endpoint.
Gli URL dei webhook devono usare HTTPS sulla porta 443 e risolversi in un indirizzo di rete pubblico. Gli URL con credenziali o frammenti, gli indirizzi privati o riservati e i reindirizzamenti vengono rifiutati. Questo vale per l’endpoint dell’account e per gli URL specifici dei singoli progetti.
Usa webhooks_get, webhooks_update e webhooks_delete tramite l’API delle azioni o MCP. Usa webhooks_create_secret solo tramite l’API delle azioni REST. Conserva in modo sicuro il segreto di firma quando viene restituito; MCP non permette di eseguire questa azione né di consultarne il risultato.

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: Puoi impostare webhookUrl anche su POST /v1/projects/{projectId}/dub per aggiornare la destinazione di un progetto esistente.
Il segreto di firma è sempre il segreto dell’account; cambia solo la destinazione.

Eventi

Non esiste un evento separato per la trascrizione. La creazione del progetto risponde prima che la trascrizione sia completata. project.created viene inviato solo dopo che la trascrizione è stata salvata; puoi quindi recuperarla 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.