Skip to main content

Webhooks

Les webhooks permettent à VoiceCheap de notifier votre serveur dès qu’un événement se produit, afin que vous puissiez arrêter le polling GET /v1/translate/{projectId}/status.
Les livraisons sont tentées une fois. Il n’y a pas encore de tentatives de réessai, donc continuez à utiliser le polling comme filet de sécurité pour tout ce que vous ne pouvez pas vous permettre de manquer. Des réessais avec backoff exponentiel sont prévus.

Configuration

  1. Ouvrez la page API dans votre compte VoiceCheap.
  2. Dans Webhooks, sélectionnez Générer le secret de signature. Le secret commence par whsec_ et est affiché une fois — copiez-le et stockez-le sur votre serveur.
  3. Entrez votre URL de point de terminaison et enregistrez-la. Elle doit utiliser https.
C’est tout. Chaque projet que vous démarrez à partir de ce moment enverra des événements à ce point de terminaison.

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 :
Le secret de signature est toujours le secret du compte ; seule la destination change.

Événements

Il n’y a pas d’événement de transcription distinct. La transcription s’exécute lors de la création du projet, et un projet n’existe qu’une fois sa transcription stockée — donc project.created signifie déjà que la transcription est prête à être récupérée avec POST /v1/projects/{projectId}/transcript.

Charge utile

Chaque livraison est un POST 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.
Vérifiez la signature avant de faire confiance à une livraison. Votre point de terminaison est une URL publique, et la signature est ce qui distingue un véritable événement VoiceCheap de tout autre élément qui l’atteint.

Réponse

Répondez avec n’importe quel statut 2xx 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é.

Rotation du secret

Sélectionnez Rotation sur la page API pour générer un nouveau secret. Le précédent cesse de fonctionner immédiatement, alors déployez le nouveau secret sur votre serveur dès que vous effectuez la rotation. La suppression du webhook supprime à la fois le point de terminaison et le secret, et les livraisons s’arrêtent.