Webhooks
Les webhooks permettent à VoiceCheap de notifier votre serveur dès qu’un événement se produit, afin que vous puissiez arrêter le pollingGET /v1/translate/{projectId}/status.
Chaque livraison est tentée une seule fois. Il n’y a pas de nouvel essai ; continuez à interroger le statut pour les événements que vous ne pouvez
pas manquer.
Configuration
- Ouvrez la page API dans votre compte VoiceCheap.
- Dans Webhooks, cliquez sur Générer une clé de signature. La clé commençant par
whsec_ne s’affiche qu’une fois ; copiez-la et conservez-la sur votre serveur. - Saisissez une URL
httpsdans URL de destination, puis cliquez sur Enregistrer.
Les URL de webhook doivent utiliser HTTPS sur le port 443 et pointer vers une adresse réseau publique. Les URL contenant des identifiants ou des
fragments, les adresses privées ou réservées et les redirections sont refusées. Cette règle s’applique au point de terminaison du compte et aux URL
définies pour chaque projet.
webhooks_get, webhooks_update et webhooks_delete via l’API d’actions ou le MCP. Utilisez webhooks_create_secret uniquement via l’API d’actions REST. Conservez le secret de signature en lieu sûr dès sa réception ; MCP ne permet ni d’exécuter cette action ni d’en consulter le résultat.
Remplacement du point de terminaison par requête
POST /v1/translate et POST /v1/projects acceptent un champ optionnel webhookUrl qui remplace le
point de terminaison du compte pour ce projet uniquement. C’est pratique pour envoyer le trafic de staging ailleurs :
Vous pouvez aussi définir webhookUrl sur POST /v1/projects/{projectId}/dub pour modifier la destination d’un projet existant.
Événements
Il n’existe pas d’événement distinct pour la transcription. La création du projet répond avant la fin de la transcription.
project.created n’est
envoyé qu’après l’enregistrement de la transcription ; vous pouvez alors la récupérer avec POST /v1/projects/{projectId}/transcript.Charge utile
Chaque livraison est unPOST avec un corps JSON :
La charge utile est volontairement légère. Appelez l’API REST pour le contenu lui-même.
Vérification de la signature
Chaque livraison comporte ces en-têtes :
La signature couvre
<timestamp>.<raw body>, elle est donc différente à chaque livraison et prouve à la fois
que la requête provient de VoiceCheap et que le corps n’a pas été modifié en transit.
Réponse
Répondez avec n’importe quel statut2xx pour accuser réception. Répondez dans les 10 secondes — accusez réception d’abord et effectuez
le travail ensuite, plutôt que de traiter avant de répondre.
Une réponse autre que 2xx ou un délai d’attente est enregistré comme une livraison échouée et, pour l’instant, n’est pas réessayé.

