Webhooks
Webhooks permitem que VoiceCheap notifique seu servidor assim que algo acontece, para que você possa parar de sondarGET /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
- Abra a página da API em sua conta VoiceCheap.
- 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. - Introduza um URL
httpsem URL de destino e selecione Guardar.
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.
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.
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 é umPOST 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.
Respondendo
Responda com qualquer status2xx 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.

