Skip to main content
Os Webhooks permitem que a Opiny envie dados automaticamente para os seus sistemas no exato momento em que uma resposta é recebida. Em vez de você consultar a nossa API periodicamente, nós “avisamos” o seu servidor quando algo acontece.

Por que usar Webhooks?

  • Automação de Fluxo: Envie alertas para o Slack ou Discord quando receber um feedback negativo.
  • Sincronização de CRM ou automação: Atualize o cadastro do cliente no Salesforce ou HubSpot com a nota do NPS.
  • E-mail de Follow-up: Dispare um e-mail automático de agradecimento ou suporte logo após o envio.

Configurando um Webhook

Para cadastrar um novo endpoint, acesse o painel da Opiny e siga o caminho: Configurações > Desenvolvedor > Webhooks.
1

Adicionar Novo

Clique no botão + Adicionar Webhook.
2

URL de Destino (Endpoint)

Insira a URL completa do seu servidor que receberá as requisições (ex: https://seu-sistema.com/api/webhooks/opiny).
3

Chave Secreta (Secret)

O sistema gerará uma chave secreta. Guarde-a para validar a autenticidade das mensagens enviadas pela Opiny.

Estrutura do Payload (JSON)

As requisições enviadas pela Opiny são do tipo POST com um corpo em formato JSON.
JSON

Segurança e Verificação

Para garantir que a requisição foi realmente enviada pela Opiny, incluímos um cabeçalho de assinatura em todas as mensagens:

Validando a Assinatura

No seu servidor, você deve calcular o HMAC SHA256 do corpo da requisição bruta usando sua Chave Secreta e comparar com o valor do cabeçalho.
JavaScript

Melhores Práticas

  • Status 200 OK: Seu servidor deve responder com um status HTTP 200 ou 204 rapidamente. Se a resposta demorar mais de 10 segundos, consideraremos como falha.
  • Entrega: atualmente o envio é feito uma vez, com timeout de 10 segundos. Retorne 200 ou 204 e use o identificador do evento para manter o processamento idempotente.
  • Idempotência: Como webhooks podem ser reenviados em caso de falha na rede, certifique-se de que seu sistema consegue lidar com o recebimento do mesmo id de resposta mais de uma vez.
Webhooks exigem uma URL HTTPS pública. Endereços locais, redes privadas e redirecionamentos são bloqueados por segurança.