Skip to main content

Webhooks

Webhooks permitem que VoiceCheap notifique seu servidor assim que algo acontece, para que você possa parar de sondar GET /v1/translate/{projectId}/status.
As entregas são tentadas uma vez. Ainda não há novas tentativas, portanto, continue sondando como uma rede de segurança para qualquer coisa que você não possa perder. Novas tentativas com espera exponencial estão planejadas.

Configuração

  1. Abra a página da API em sua conta VoiceCheap.
  2. Em Webhooks, selecione Gerar segredo de assinatura. O segredo começa com whsec_ e é mostrado uma vez — copie-o e armazene-o em seu servidor.
  3. Insira sua URL de endpoint e salve-a. Ela deve usar https.
Isso é tudo. Cada projeto que você iniciar a partir de então entregará eventos para esse endpoint.

Substituindo o endpoint por solicitação

POST /v1/translate e POST /v1/projects aceitam um campo opcional webhookUrl que substitui o endpoint da conta apenas para aquele projeto. É útil para enviar tráfego de teste para outro lugar:
O segredo de assinatura é sempre o segredo da conta; apenas o destino muda.

Eventos

Não existe um evento de transcrição separado. A transcrição é executada durante a criação do projeto, e um projeto só existe quando sua transcrição é armazenada — portanto, project.created já significa que a transcrição está pronta para ser buscada com POST /v1/projects/{projectId}/transcript.

Payload

Cada entrega é um POST com um corpo JSON:
O payload é intencionalmente leve. Chame a API REST para obter o conteúdo em si.

Verificando a assinatura

Cada entrega carrega estes cabeçalhos: A assinatura cobre <timestamp>.<raw body>, portanto, é diferente em cada entrega e prova tanto que a solicitação veio do VoiceCheap quanto que o corpo não foi modificado em trânsito.
Verifique a assinatura antes de confiar em uma entrega. Seu endpoint é uma URL pública, e a assinatura é o que distingue um evento real VoiceCheap de qualquer outra coisa que chegue até ele.

Respondendo

Responda com qualquer status 2xx para confirmar o recebimento. Responda dentro de 10 segundos — confirme primeiro e faça o trabalho depois, em vez de processar antes de responder. Uma resposta que não seja 2xx ou um tempo limite é registrada como uma entrega falha e, por enquanto, não é tentada novamente.

Rotacionando o segredo

Selecione Rotacionar na página da API para gerar um novo segredo. O anterior para de funcionar imediatamente, portanto, implemente o novo segredo em seu servidor assim que rotacionar. Excluir o webhook remove tanto o endpoint quanto o segredo, e as entregas param.