Skip to main content
Configura N URLs de webhook por proyecto, una por ambiente custom (staging, qa, preview, etc.). Eliges a cuál disparar con un campo environment opcional en el body del envío. Útil cuando una misma key Live se usa desde múltiples ambientes (mismo billing) y cada uno debe recibir sus propios webhooks.

Diferencia con Live/Test

Los dos coexisten: sk_test_* para QA local y environments custom para los ambientes intermedios del cliente.

Configuración

1

Definir los environments

Dashboard → tu proyecto → Configuración → Integraciones → Webhook Environments. Agregas pares nombre + URL:
Las claves (staging, qa, preview-pr-42) son arbitrarias, sin nombres reservados. Restricción: [a-zA-Z0-9_.-] hasta 64 chars.
2

Mandar el envío con `environment`

3

Recibir el webhook con echo

El payload que llega al endpoint de staging incluye environment echo. No necesitas parsear URLs para diferenciar:
Mismo modelo para inbound replies — el payload del email.inbound también incluye environment.

Comportamiento

Override exclusivo, no aditivoCon environment configurado, el webhook va solo a esa URL. Si el environment no existe en webhook_environments, RQE responde 400 ENVIRONMENT_NOT_CONFIGURED — sin fallback silencioso al webhook_url default. Los errores de configuración son visibles desde el primer envío.

Idempotencia con environment

Idempotency-Key funciona por (projectId, key), no incluye environment en el scope. Si reintentas con distinto environment y misma Idempotency-Key dentro de 24h, recibes el resultado cacheado del primer request, con el environment original. Para distinguir envíos por ambiente, usa una Idempotency-Key distinta.

Cuándo usarlo

Buen fit:
  • Misma app cliente con varios ambientes (prod, staging, qa) que comparten billing y métricas pero quieren callbacks separados.
  • Preview deployments con URLs efímeras (preview-pr-N).
  • Multi-tenant SaaS que quiere identificar tráfico por sub-cliente sin separar proyectos RQE.
No es la herramienta para:
  • Separar métricas y actividad dev/prod — usa Test mode (sk_test_*).
  • Aislar suppression list — la suppression es por proyecto, compartida entre todos los environments.
  • Replicar 100% un setup multi-cliente — para eso crea proyectos RQE separados.

Próximos pasos