Sandbox (entorno de prueba)
El sandbox es el entorno de prueba de Dunning. Existe para que integres y valides tu flujo sin riesgo de tocar a un deudor real: en una regla de cobranza, el peor error de un entorno de prueba sería disparar de verdad un correo, SMS o WhatsApp — o negativar en el buró y protestar en la notaría — contra una persona real. En el sandbox eso no ocurre.
El comportamiento del modo sandbox ya está listo en el código, pero el sandbox como URL pública todavía depende de que Kobana provisione la infraestructura (base de datos aislada, host propio). Mientras tanto, no hay URL ni credenciales de sandbox para divulgar. Esta página documenta cómo se comporta el sandbox; cuando el entorno esté en línea, su URL y sus claves de prueba se anunciarán aquí. ¿Necesitas probar ahora? Consulta la sección Cómo probar mientras el sandbox no está disponible, al final de esta página, o contacta con soporte.
El bloqueo maestro: nada real llega al deudor
Cuando la aplicación corre con APP_ENVIRONMENT=sandbox, un bloqueo maestro del servidor impide incondicionalmente cualquier efecto externo que alcanzaría al deudor. Es defensa en profundidad: el bloqueo vale incluso si un proveedor de envío se configura por error — no depende de la ausencia de credenciales.
En la práctica, en el sandbox:
- Correo, SMS y WhatsApp se simulan. La notificación se registra como enviada (
status: sent), pero ningún mensaje sale — no se llama a ningún proveedor (SendGrid, Twilio, Meta...). El envío simulado se marca con unexternalIdcon el formatosandbox:<canal>ycost: 0. - No se cobra nada. Ninguna llamada a una pasarela de pago de producción.
- Negativación en buró y protesto en notaría no alcanzan a nadie. Corren contra adaptadores simulados.
Es decir: ejercitas la regla de cobranza de punta a punta y observas el resultado, sin que una sola comunicación real llegue a nadie.
Qué funciona de verdad en el sandbox
El sandbox simula solo los efectos que alcanzarían al deudor. Todo lo demás funciona con normalidad, para que puedas probar la integración de verdad:
- La API v1 completa responde de verdad — autenticación, creación y lectura de cobros, personas, acuerdos, reglas, etc. Las respuestas son reales; solo el disparo externo se simula.
- Los webhooks de salida siguen disparándose. Este es el punto central para el integrador: tu endpoint recibe los eventos con normalidad (por ejemplo
notification.sent), así puedes probar la recepción y el procesamiento de webhooks de punta a punta. Los eventos de envío simulado llevan"sandbox": trueen el payload, para que los distingas en las pruebas. - La lectura de integraciones funciona. Consultar el estado de las integraciones de la cuenta responde con normalidad.
Banner visible
Toda pantalla del dashboard y del portal del deudor, cuando se sirve en sandbox, muestra una franja fija avisando de que es un entorno de prueba y de que no se envía ningún cobro ni comunicación real. Es un recordatorio visual emparejado con el bloqueo maestro del servidor — imposible confundir el entorno de prueba con producción.
Resumen: simulado vs. real
| En el sandbox | Comportamiento |
|---|---|
| Correo / SMS / WhatsApp al deudor | Simulado — marcado como enviado, nada sale |
| Cobro vía pasarela | Simulado — ningún cobro real |
| Negativación en buró / protesto en notaría | Simulado — adaptadores de prueba |
| API v1 (auth, cobros, personas, acuerdos, reglas...) | Real — responde con normalidad |
| Webhooks de salida | Reales — disparan de verdad (con sandbox: true) |
| Lectura de integraciones | Real — funciona con normalidad |
| Banner "entorno de prueba" | Siempre visible en el dashboard y el portal |
Cómo probar mientras el sandbox no está disponible
Hasta que exista el sandbox público, puedes desarrollar de forma segura contra producción:
- Usa una cuenta sin canales de envío configurados — los envíos ya se simulan (los canales de envío lanzan un error si no hay proveedor, así que nada sale).
- Prefiere claves de solo lectura donde no se necesite escritura.
- Valida las mutaciones con
X-Idempotency-Keyantes de automatizar.
Cuando el sandbox esté disponible, apuntarás tu integración a la URL de prueba (por anunciar) y tendrás el bloqueo maestro por defecto, sin depender de configurar la cuenta con cuidado.