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 Las claves (
nombre + URL: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`
- curl
- JavaScript
- Python
3
Recibir el webhook con echo
El payload que llega al endpoint de Mismo modelo para inbound replies — el payload del
staging incluye environment echo. No necesitas parsear URLs para diferenciar: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.
- 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
- Webhooks (referencia) — formato completo del payload, verificación HMAC, retry logic.
- Test mode — diferencias con
sk_test_*. - Send email — request body completo.