Pular para o conteúdo

↑↓ navegar ↵ abrir Ctrl↵ nova aba esc fechar

Esta página é referência técnica para todos os mecanismos de autenticação da Rapid.

Use Basic Auth com client_id como username e client_secret como password.

Authorization: Basic base64(client_id:client_secret)

Endpoints que usam esse método:

CredencialDescrição
client_idID da sua empresa (gerado no painel)
client_secretChave secreta (gerada no painel, tratar como senha)
Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=

Onde o valor base64 decodifica para client_id:client_secret.

  • Use sempre HTTPS
  • Não inclua client_secret em código frontend, repositórios públicos ou logs
  • Rotacione o client_secret se suspeitar de exposição, geração de novas credenciais acontece no painel

No formato v2 a Rapid assina cada webhook com HMAC-SHA256 e envia a assinatura e o timestamp nos headers:

X-Webhook-Signature: sha256=<hmac_hex>
X-Webhook-Timestamp: 1790000000

O conteúdo assinado não é só o corpo: é ${X-Webhook-Timestamp}.${corpo_bruto}, o timestamp, um ponto e o corpo exatamente como chegou. Calcular o HMAC só sobre o corpo dá um valor diferente e toda requisição é recusada. O timestamp entra na conta para impedir que um POST capturado seja reenviado depois (rejeite os que estiverem fora de uma janela de 5 minutos).

A chave de assinatura (secret) é gerada pela Rapid quando você cadastra o webhook e aparece uma única vez no painel, em Configurações > Webhook. Não é você quem escolhe e não há como consultá-la depois: se perder, peça uma nova ao suporte.

O passo a passo de validação, com exemplos em Node.js e Python, está em Autenticação do webhook.

Contas migradas do sistema anterior recebem os webhooks no formato legacy, que não é assinado. Nele a autenticação são os headers que o sistema antigo já mandava:

clientid: <client_id>
clientkey: <client_secret>

Esses dois headers existem só no legacy. No v2 eles não são enviados: clientkey é a sua credencial de acesso à API, e mandá-la em toda entrega a exporia no seu endpoint e nos seus logs sem necessidade, já que no v2 quem autentica é a assinatura. Para saber em qual formato está a sua conta, veja Payload.