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.
Cada entrega é tentada uma única vez. Não há novas tentativas; continue consultando o status para eventos que você não pode perder.

Configuração

  1. Abra a página da API em sua conta VoiceCheap.
  2. Em Webhooks, selecione Gerar chave de assinatura. A chave que começa por whsec_ aparece apenas uma vez; copie-a e guarde-a no servidor.
  3. Introduza um URL https em URL de destino e selecione Guardar.
Isso é tudo. Cada projeto que você iniciar a partir de então entregará eventos para esse endpoint.
As URLs de webhook devem usar HTTPS na porta 443 e resolver para um endereço de rede público. URLs com credenciais ou fragmentos, endereços privados ou reservados e redirecionamentos são recusados. Isso se aplica ao endpoint da conta e às URLs específicas de cada projeto.
Use webhooks_get, webhooks_update e webhooks_delete pela API de ações ou pelo MCP. Use webhooks_create_secret apenas pela API de ações REST. Armazene o segredo de assinatura com segurança quando ele for retornado; o MCP não permite executar essa ação nem consultar seu resultado.

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: Você também pode definir webhookUrl em POST /v1/projects/{projectId}/dub para atualizar o destino de um projeto existente.
O segredo de assinatura é sempre o segredo da conta; apenas o destino muda.

Eventos

Não há um evento separado de transcrição. A criação do projeto responde antes de a transcrição terminar. project.created é enviado somente após a transcrição ser armazenada; então você pode obtê-la 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.