> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ambientes Producción y Sandbox

> Aprende cómo usar los ambientes Producción y Sandbox para probar de forma segura antes de ir a producción. Consulta el esquema del request, códigos.

## Resumen

gu1 proporciona **ambientes duales** para cada organización, permitiéndote probar configuraciones y flujos de trabajo de forma segura antes de desplegarlos a producción:

* **Producción**: Tu ambiente en vivo con datos reales e integraciones
* **Sandbox**: Un ambiente de prueba seguro con proveedores simulados y datos de prueba

<Note>
  Cuando te registras, ambos ambientes se crean automáticamente con los mismos miembros del equipo y permisos.
</Note>

## Entendiendo las Organizaciones

En gu1, una **Organización** representa la cuenta de tu empresa. Cada organización tiene:

* **Organization ID Único**: Un UUID que identifica tu organización (ej: `8e2f89ab-c216-4eb4-90eb-ca5d44499aaa`)
* **Dos Ambientes Pareados**: Producción y Sandbox, vinculados pero con datos separados
* **Miembros del Equipo**: Usuarios con roles específicos (Owner, Admin, Member) sincronizados entre ambos ambientes
* **Datos Aislados**: Todas las entidades, reglas, investigaciones y configuraciones están dentro del alcance de la organización

<Info>
  **Encontrar tus Organization IDs**: Navega a [app.gu1.ai/api-keys](https://app.gu1.ai/api-keys) para ver ambos IDs de **Producción** y **Sandbox** con botones de copiado convenientes.
</Info>

### Por Qué Importan los Organization IDs

Al hacer requests API a [api.gu1.ai](https://api.gu1.ai), **debes** incluir el header `X-Organization-ID` para indicarle a gu1 qué organización y ambiente estás apuntando:

```bash theme={null}
# Request a Producción (usando Organization ID de Producción)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer TU_API_KEY" \
  -H "X-Organization-ID: 8e2f89ab-c216-4eb4-90eb-ca5d44499aaa"

# Request a Sandbox (usando Organization ID de Sandbox)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer TU_API_KEY" \
  -H "X-Organization-ID: 86122d3c-6dfc-4afa-9c46-aaf841262c7e"
```

<Warning>
  **Nunca hardcodees Organization IDs en repositorios públicos.** Guárdalos como variables de entorno en tu aplicación.
</Warning>

## Diferencias Clave

<CardGroup cols={2}>
  <Card title="Ambiente Producción" icon="rocket" color="#3b82f6">
    * Integraciones de proveedores reales
    * Costos reales por llamadas API
    * Datos y transacciones en vivo
    * Badge azul "Live" en la interfaz
    * Límites de rate completos según el plan
  </Card>

  <Card title="Ambiente Sandbox" icon="flask" color="#f97316">
    * Respuestas de proveedores simuladas
    * Cero costos (datos simulados)
    * Solo datos de prueba
    * Badge naranja "Test" en la interfaz
    * Límites de rate reducidos (100 req/h)
    * 🧪 Banner global indicador
  </Card>
</CardGroup>

## Cómo Funcionan los Ambientes

**Importante**: Producción y Sandbox están **completamente aislados** entre sí:

* **Datos Separados**: Entidades, reglas, investigaciones y configuraciones son independientes
* **API Keys Separadas**: Cada ambiente tiene sus propias API keys
* **Mismo Equipo**: Los miembros del equipo y permisos se sincronizan automáticamente
* **Sin Cruce**: Las acciones en Sandbox nunca afectan los datos de Producción

<Info>
  Piénsalos como dos universos paralelos: cualquier cosa que hagas en Sandbox permanece en Sandbox, y Producción queda intacto.
</Info>

## Cambiar de Ambiente en el Dashboard

Controlas qué ambiente estás viendo a través del **switcher de ambientes** en [app.gu1.ai](https://app.gu1.ai):

<Steps>
  <Step title="Ingresa a app.gu1.ai">
    Accede a tu dashboard en [app.gu1.ai](https://app.gu1.ai)
  </Step>

  <Step title="Ubica el Switcher">
    Encuentra el toggle de ambiente en la esquina superior derecha del header
  </Step>

  <Step title="Haz Click para Cambiar">
    Haz click para alternar entre "Producción" y "Sandbox"
  </Step>

  <Step title="Actualización Instantánea">
    El dashboard se actualiza instantáneamente para mostrar datos del ambiente seleccionado
  </Step>
</Steps>

<Warning>
  **Indicador de Sandbox**: Cuando estás en modo Sandbox, aparece un banner naranja global (🧪 Sandbox Mode) en la parte superior de cada página para que siempre sepas dónde estás.
</Warning>

## Requests API y Ambientes

Cuando haces requests a la API en [api.gu1.ai](https://api.gu1.ai), el ambiente se determina por el **Organization ID** que envías:

```bash theme={null}
# Este request va a PRODUCCIÓN (usando Org ID de Producción)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer gk_prod_..." \
  -H "X-Organization-ID: 8e2f89ab-c216-4eb4-90eb-ca5d44499aaa"

# Este request va a SANDBOX (usando Org ID de Sandbox)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer gk_devel_..." \
  -H "X-Organization-ID: 86122d3c-6dfc-4afa-9c46-aaf841262c7e"
```

<Note>
  El switcher del dashboard en **app.gu1.ai** solo afecta lo que ves en la interfaz. Para requests API a **api.gu1.ai**, usa el header Organization ID correcto.
</Note>

<Tip>
  **Encontrar tus Organization IDs**: Ve a la página de **API Keys** en tu dashboard en [app.gu1.ai](https://app.gu1.ai) para ver ambos Organization IDs (Producción y Sandbox) con botones de copiar al portapapeles.
</Tip>

## API Keys por Ambiente

Las API keys son **específicas del ambiente** y su comportamiento depende de a qué **Organización** (Producción o Sandbox) pertenecen:

### Prefijos de Keys

Los prefijos de API keys indican el **ambiente de infraestructura** donde se ejecuta la plataforma gu1, no si la key pertenece a una organización Producción o Sandbox:

* `gk_development_...` - Keys creadas cuando la plataforma gu1 se ejecuta localmente (development)
* `gk_staging_...` - Keys creadas cuando la plataforma gu1 se ejecuta en servidores de staging
* `gk_production_...` - Keys creadas cuando la plataforma gu1 se ejecuta en servidores de producción (plataforma gu1 en vivo)

<Warning>
  **Importante**: El prefijo NO indica si tu organización es Producción o Sandbox. Tanto tu organización Producción como tu organización Sandbox tendrán el mismo prefijo basado en dónde está desplegada la plataforma gu1.
</Warning>

<Info>
  **Ejemplo**: Cuando creas una API key en [app.gu1.ai](https://app.gu1.ai) (plataforma en vivo), tanto las keys de tu organización Producción COMO las keys de tu organización Sandbox tendrán el prefijo `gk_production_...`. El Organization ID en el header `X-Organization-ID` determina a qué datos accedes.
</Info>

### Rate Limits

Los rate limits dependen del **tipo de Organización**, no del prefijo de la key:

* **Organizaciones Sandbox**: Fijo en **100 requests/hora** (sin importar el plan)
* **Organizaciones Producción**: Basado en tu plan:
  * Freemium: 60 req/min
  * Startup: 120 req/min
  * Growth: 600 req/min
  * Enterprise: 1,200+ req/min

### Comportamiento de Proveedores

* **Organizaciones Sandbox**: Siempre usan proveedores simulados (respuestas simuladas, sin costos API reales)
* **Organizaciones Producción**: Usan integraciones de proveedores reales

<Note>
  Al crear una API key, los campos de ambiente son **solo lectura** y se establecen automáticamente según tu ambiente actual. El Organization ID determina si es una key de Sandbox o Producción.
</Note>

## Proveedores Simulados en Sandbox

En Sandbox, todas las integraciones de proveedores retornan **respuestas simuladas** en lugar de hacer llamadas API reales:

<AccordionGroup>
  <Accordion title="Screening de Cumplimiento (Sanciones, PEP, Medios Adversos)">
    * Retorna perfiles de riesgo variados: limpio, bajo, medio, alto, crítico
    * Simula tiempos de respuesta realistas (100-2000ms)
    * Incluye datos de personas/entidades simuladas con alias
    * No se incurren costos reales
  </Accordion>

  <Accordion title="Webhooks">
    * Los webhooks son **simulados**, no se envían a URLs reales
    * Todos los intentos se registran con éxito/fallo simulado
    * Ver logs en la sección Sandbox
  </Accordion>

  <Accordion title="Acciones de Reglas">
    * Acciones como "Enviar email" o "Crear tarea" son **simuladas**
    * Todas las simulaciones se registran para revisión
    * Permite probar flujos complejos sin efectos secundarios
  </Accordion>
</AccordionGroup>

<Tip>
  Las respuestas simuladas están diseñadas para imitar el comportamiento de producción de cerca, así tu testing es lo más realista posible.
</Tip>

## Promoción de Configuraciones

Una vez que hayas probado y validado tu configuración en Sandbox, puedes **promoverla** a Producción:

<Steps>
  <Step title="Configurar en Sandbox">
    Crea y prueba tus reglas, field mappings, esquemas y data lists en Sandbox
  </Step>

  <Step title="Validar">
    Usa el endpoint de validación de promoción para verificar conflictos
  </Step>

  <Step title="Promover">
    Promueve configuraciones individuales o en bloque
  </Step>

  <Step title="Rollback si es Necesario">
    Ver historial de promociones y hacer rollback si es necesario
  </Step>
</Steps>

<Info>
  Aprende más sobre promoción de configuraciones en la [Referencia API de Ambientes](/es/api-reference/environments).
</Info>

## Mejores Prácticas

<AccordionGroup>
  <Accordion title="Siempre Prueba en Sandbox Primero">
    Antes de crear o modificar reglas, pruébalas exhaustivamente en Sandbox para evitar falsos positivos o problemas de flujo en Producción.
  </Accordion>

  <Accordion title="Usa Sandbox para Capacitación">
    Incorpora nuevos miembros del equipo en Sandbox donde pueden experimentar sin afectar datos en vivo.
  </Accordion>

  <Accordion title="Crea API Keys Separadas">
    Usa diferentes API keys para Sandbox y Producción en tu código para evitar requests accidentales entre ambientes.
  </Accordion>

  <Accordion title="Monitorea el Banner Global">
    El banner naranja de Sandbox es tu recordatorio de que estás en modo de prueba. Siempre verifica antes de hacer cambios importantes.
  </Accordion>

  <Accordion title="Revisa el Historial de Promociones">
    Después de promover configuraciones, verifica que funcionen como se espera en Producción y revisa el historial de promociones para un registro de auditoría.
  </Accordion>
</AccordionGroup>

## Limitaciones de Sandbox

<Warning>
  Los ambientes Sandbox tienen las siguientes limitaciones:

  * **Rate Limits**: 100 requests/hora (vs. basado en plan en Producción)
  * **Retención de Datos**: Los datos de Sandbox pueden limpiarse periódicamente
  * **Expiración**: Dependiendo de tu plan, Sandbox puede tener fecha de expiración
  * **Solo Datos Simulados**: No puede acceder a integraciones de proveedores reales por defecto
</Warning>

## Preguntas Frecuentes

<AccordionGroup>
  <Accordion title="¿Puedo aumentar los rate limits de Sandbox?">
    Los rate limits de Sandbox están fijos en 100 req/h para fomentar testing en volúmenes razonables. Si necesitas límites más altos para load testing, contacta a soporte.
  </Accordion>

  <Accordion title="¿Los permisos del equipo se sincronizan?">
    ¡Sí! Cuando agregas o quitas miembros del equipo en cualquier ambiente, los cambios se sincronizan automáticamente al ambiente pareado.
  </Accordion>

  <Accordion title="¿Puedo usar proveedores reales en Sandbox?">
    Por defecto, no. Sandbox usa proveedores simulados para evitar costos. Contacta a soporte si tienes una necesidad específica de probar integraciones reales en Sandbox.
  </Accordion>

  <Accordion title="¿Qué pasa cuando Sandbox expira?">
    Dependiendo de tu plan, Sandbox puede tener fecha de expiración. Recibirás advertencias antes de la expiración, y puedes extenderlo o hacerlo permanente actualizando tu plan.
  </Accordion>

  <Accordion title="¿Puedo eliminar mi Sandbox?">
    Sandbox y Producción son ambientes pareados. Si quieres remover tu Sandbox, contacta a soporte.
  </Accordion>
</AccordionGroup>

## Recursos Relacionados

<CardGroup cols={2}>
  <Card title="Autenticación API" icon="key" href="/es/api-reference/authentication">
    Aprende cómo autenticarte con API keys
  </Card>

  <Card title="Promoción de Configuraciones" icon="arrow-up" href="/es/api-reference/environments">
    Promueve configs de Sandbox a Producción
  </Card>

  <Card title="API de Entidades" icon="database" href="/es/api-reference/entities/overview">
    Crea y gestiona entidades en tu ambiente
  </Card>

  <Card title="Motor de Reglas" icon="brain" href="/es/api-reference/rules">
    Configura reglas de riesgo por ambiente
  </Card>
</CardGroup>
