Ir al contenido

↑↓ navegar ↵ abrir Ctrl↵ nueva pestaña esc cerrar

Esta página es la referencia técnica de todos los mecanismos de autenticación de Rapid.

Usa Basic Auth con client_id como usuario y client_secret como contraseña.

Authorization: Basic base64(client_id:client_secret)

Endpoints que usan este método:

CredencialDescripción
client_idID de tu empresa (generado en el panel)
client_secretClave secreta (generada en el panel, trátala como una contraseña)
Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=

Donde el valor base64 se decodifica como client_id:client_secret.

  • Usa siempre HTTPS
  • No incluyas el client_secret en código frontend, repositorios públicos ni logs
  • Rota el client_secret si sospechas que se expuso; las credenciales nuevas se generan en el panel

En el formato v2, Rapid firma cada webhook con HMAC-SHA256 y envía la firma y el timestamp en los headers:

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

El contenido firmado no es solo el cuerpo: es ${X-Webhook-Timestamp}.${cuerpo_crudo}, el timestamp, un punto y el cuerpo exactamente como llegó. Calcular el HMAC solo sobre el cuerpo da un valor distinto y toda solicitud se rechaza. El timestamp entra en el cálculo para impedir que un POST capturado se reenvíe después (rechaza los que estén fuera de una ventana de 5 minutos).

La clave de firma (secret) la genera Rapid cuando registras el webhook y aparece una sola vez en el panel, en Configuración › Webhook. No la eliges tú y no hay forma de consultarla después: si la pierdes, genera otra en Configuración › API (la anterior deja de valer al instante).

El paso a paso de la validación, con ejemplos en Node.js, Python y PHP, está en Autenticación del webhook.

Las cuentas migradas del sistema anterior reciben los webhooks en el formato legacy, que no está firmado. En él, la autenticación son los headers que el sistema antiguo ya enviaba:

clientid: <client_id>
clientkey: <client_secret>

Estos dos headers existen solo en legacy. En v2 no se envían: clientkey es tu credencial de acceso a la API, y enviarla en cada entrega la expondría en tu endpoint y en tus logs sin necesidad, ya que en v2 la autenticación la hace la firma. Para saber en qué formato está tu cuenta, ver Payload.