> ## 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 Produção e Sandbox

> Entenda como usar ambientes Produção e Sandbox para testar com segurança antes de ir ao vivo — entre contas de produção e sandbox gu1 para testes seguros.

## Visão Geral

gu1 fornece **ambientes duais** para cada organização, permitindo que você teste configurações e fluxos de trabalho com segurança antes de implantar na produção:

* **Produção**: Seu ambiente ao vivo com dados reais e integrações
* **Sandbox**: Um ambiente de teste seguro com provedores simulados e dados de teste

<Note>
  Quando você se cadastra, ambos os ambientes são criados automaticamente com os mesmos membros da equipe e permissões.
</Note>

## Entendendo as Organizações

No gu1, uma **Organização** representa a conta da sua empresa. Cada organização tem:

* **Organization ID Único**: Um UUID que identifica sua organização (ex: `8e2f89ab-c216-4eb4-90eb-ca5d44499aaa`)
* **Dois Ambientes Pareados**: Produção e Sandbox, vinculados mas com dados separados
* **Membros da Equipe**: Usuários com funções específicas (Owner, Admin, Member) sincronizados entre ambos os ambientes
* **Dados Isolados**: Todas as entidades, regras, investigações e configurações estão dentro do escopo da organização

<Info>
  **Encontrar seus Organization IDs**: Navegue até [app.gu1.ai/api-keys](https://app.gu1.ai/api-keys) para ver ambos os IDs de **Produção** e **Sandbox** com botões de cópia convenientes.
</Info>

### Por Que os Organization IDs Importam

Ao fazer requisições API para [api.gu1.ai](https://api.gu1.ai), você **deve** incluir o header `X-Organization-ID` para informar ao gu1 qual organização e ambiente você está mirando:

```bash theme={null}
# Requisição para Produção (usando Organization ID de Produção)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "X-Organization-ID: 8e2f89ab-c216-4eb4-90eb-ca5d44499aaa"

# Requisição para Sandbox (usando Organization ID de Sandbox)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "X-Organization-ID: 86122d3c-6dfc-4afa-9c46-aaf841262c7e"
```

<Warning>
  **Nunca codifique Organization IDs em repositórios públicos.** Armazene-os como variáveis de ambiente em sua aplicação.
</Warning>

## Diferenças Principais

<CardGroup cols={2}>
  <Card title="Ambiente Produção" icon="rocket" color="#3b82f6">
    * Integrações de provedores reais
    * Custos reais por chamadas API
    * Dados e transações ao vivo
    * Badge azul "Live" na interface
    * Limites de taxa completos baseados no plano
  </Card>

  <Card title="Ambiente Sandbox" icon="flask" color="#f97316">
    * Respostas de provedores simuladas
    * Zero custos (dados simulados)
    * Apenas dados de teste
    * Badge laranja "Test" na interface
    * Limites de taxa reduzidos (100 req/h)
    * 🧪 Banner global indicador
  </Card>
</CardGroup>

## Como os Ambientes Funcionam

**Importante**: Produção e Sandbox estão **completamente isolados** um do outro:

* **Dados Separados**: Entidades, regras, investigações e configurações são independentes
* **API Keys Separadas**: Cada ambiente tem suas próprias API keys
* **Mesma Equipe**: Membros da equipe e permissões são sincronizados automaticamente
* **Sem Cruzamento**: Ações no Sandbox nunca afetam dados de Produção

<Info>
  Pense neles como dois universos paralelos: qualquer coisa que você faça no Sandbox permanece no Sandbox, e a Produção permanece intacta.
</Info>

## Alternar Ambientes no Dashboard

Você controla qual ambiente está visualizando através do **alternador de ambientes** em [app.gu1.ai](https://app.gu1.ai):

<Steps>
  <Step title="Faça login em app.gu1.ai">
    Acesse seu dashboard em [app.gu1.ai](https://app.gu1.ai)
  </Step>

  <Step title="Localize o Alternador">
    Encontre o alternador de ambiente no canto superior direito do cabeçalho
  </Step>

  <Step title="Clique para Alternar">
    Clique para alternar entre "Produção" e "Sandbox"
  </Step>

  <Step title="Atualização Instantânea">
    O dashboard atualiza instantaneamente para mostrar dados do ambiente selecionado
  </Step>
</Steps>

<Warning>
  **Indicador de Sandbox**: Quando em modo Sandbox, um banner laranja global (🧪 Sandbox Mode) aparece no topo de cada página para que você sempre saiba onde está.
</Warning>

## Requisições API e Ambientes

Ao fazer requisições API para [api.gu1.ai](https://api.gu1.ai), o ambiente é determinado pelo **Organization ID** que você envia:

```bash theme={null}
# Esta requisição vai para PRODUÇÃO (usando Org ID de Produção)
curl -X GET https://api.gu1.ai/entities \
  -H "Authorization: Bearer gk_prod_..." \
  -H "X-Organization-ID: 8e2f89ab-c216-4eb4-90eb-ca5d44499aaa"

# Esta requisição vai para 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>
  O alternador do dashboard em **app.gu1.ai** afeta apenas o que você vê na interface. Para requisições API a **api.gu1.ai**, use o header Organization ID correto.
</Note>

<Tip>
  **Encontrar seus Organization IDs**: Vá para a página de **API Keys** no seu dashboard em [app.gu1.ai](https://app.gu1.ai) para ver ambos os Organization IDs (Produção e Sandbox) com botões de copiar.
</Tip>

## API Keys por Ambiente

As API keys são **específicas do ambiente** e seu comportamento depende de qual **Organização** (Produção ou Sandbox) elas pertencem:

### Prefixos de Keys

Os prefixos de API keys indicam o **ambiente de infraestrutura** onde a plataforma gu1 está executando, não se a key pertence a uma organização Produção ou Sandbox:

* `gk_development_...` - Keys criadas quando a plataforma gu1 executa localmente (development)
* `gk_staging_...` - Keys criadas quando a plataforma gu1 executa em servidores de staging
* `gk_production_...` - Keys criadas quando a plataforma gu1 executa em servidores de produção (plataforma gu1 ao vivo)

<Warning>
  **Importante**: O prefixo NÃO indica se sua organização é Produção ou Sandbox. Tanto sua organização Produção quanto sua organização Sandbox terão o mesmo prefixo baseado em onde a plataforma gu1 está implantada.
</Warning>

<Info>
  **Exemplo**: Quando você cria uma API key em [app.gu1.ai](https://app.gu1.ai) (plataforma ao vivo), tanto as keys da sua organização Produção QUANTO as keys da sua organização Sandbox terão o prefixo `gk_production_...`. O Organization ID no header `X-Organization-ID` determina quais dados você acessa.
</Info>

### Limites de Taxa

Os limites de taxa dependem do **tipo de Organização**, não do prefixo da key:

* **Organizações Sandbox**: Fixo em **100 requisições/hora** (independente do plano)
* **Organizações Produção**: Baseado no seu plano:
  * Freemium: 60 req/min
  * Startup: 120 req/min
  * Growth: 600 req/min
  * Enterprise: 1.200+ req/min

### Comportamento dos Provedores

* **Organizações Sandbox**: Sempre usam provedores simulados (respostas simuladas, sem custos API reais)
* **Organizações Produção**: Usam integrações de provedores reais

<Note>
  Ao criar uma API key, os campos de ambiente são **somente leitura** e configurados automaticamente para seu ambiente atual. O Organization ID determina se é uma key de Sandbox ou Produção.
</Note>

## Provedores Simulados no Sandbox

No Sandbox, todas as integrações de provedores retornam **respostas simuladas** em vez de fazer chamadas API reais:

<AccordionGroup>
  <Accordion title="Verificação de Conformidade (Sanctions, PEP, Adverse Media)">
    * Retorna perfis de risco variados: limpo, baixo, médio, alto, crítico
    * Simula tempos de resposta realistas (100-2000ms)
    * Inclui dados de pessoas/entidades simuladas com aliases
    * Nenhum custo real incorrido
  </Accordion>

  <Accordion title="Webhooks">
    * Webhooks são **simulados**, não enviados para URLs reais
    * Todas as tentativas são registradas com sucesso/falha simulado
    * Ver logs na seção Sandbox
  </Accordion>

  <Accordion title="Ações de Regras">
    * Ações como "Enviar email" ou "Criar tarefa" são **simuladas**
    * Todas as simulações são registradas para revisão
    * Permite testar fluxos complexos sem efeitos colaterais
  </Accordion>
</AccordionGroup>

<Tip>
  Respostas simuladas são projetadas para imitar o comportamento de produção de perto, então seus testes são o mais realistas possível.
</Tip>

## Promoção de Configurações

Uma vez que você tenha testado e validado sua configuração no Sandbox, você pode **promovê-la** para Produção:

<Steps>
  <Step title="Configurar no Sandbox">
    Crie e teste suas regras, field mappings, esquemas e data lists no Sandbox
  </Step>

  <Step title="Validar">
    Use o endpoint de validação de promoção para verificar conflitos
  </Step>

  <Step title="Promover">
    Promova configurações individuais ou em lote
  </Step>

  <Step title="Reverter se Necessário">
    Ver histórico de promoções e reverter se necessário
  </Step>
</Steps>

<Info>
  Saiba mais sobre promoção de configurações na [Referência API de Ambientes](/pt/api-reference/environments).
</Info>

## Melhores Práticas

<AccordionGroup>
  <Accordion title="Sempre Teste no Sandbox Primeiro">
    Antes de criar ou modificar regras, teste-as exaustivamente no Sandbox para evitar falsos positivos ou problemas de fluxo na Produção.
  </Accordion>

  <Accordion title="Use Sandbox para Treinamento">
    Integre novos membros da equipe no Sandbox onde eles podem experimentar sem afetar dados ao vivo.
  </Accordion>

  <Accordion title="Crie API Keys Separadas">
    Use diferentes API keys para Sandbox e Produção em seu código para evitar requisições acidentais entre ambientes.
  </Accordion>

  <Accordion title="Monitore o Banner Global">
    O banner laranja do Sandbox é seu lembrete de que você está em modo de teste. Sempre verifique antes de fazer mudanças importantes.
  </Accordion>

  <Accordion title="Revise o Histórico de Promoções">
    Após promover configurações, verifique se elas funcionam como esperado na Produção e revise o histórico de promoções para um registro de auditoria.
  </Accordion>
</AccordionGroup>

## Limitações do Sandbox

<Warning>
  Os ambientes Sandbox têm as seguintes limitações:

  * **Limites de Taxa**: 100 requisições/hora (vs. baseado em plano na Produção)
  * **Retenção de Dados**: Dados do Sandbox podem ser limpos periodicamente
  * **Expiração**: Dependendo do seu plano, Sandbox pode ter data de expiração
  * **Apenas Dados Simulados**: Não pode acessar integrações de provedores reais por padrão
</Warning>

## Perguntas Frequentes

<AccordionGroup>
  <Accordion title="Posso aumentar os limites de taxa do Sandbox?">
    Os limites de taxa do Sandbox são fixos em 100 req/h para encorajar testes em volumes razoáveis. Se você precisa de limites mais altos para testes de carga, entre em contato com o suporte.
  </Accordion>

  <Accordion title="As permissões da equipe são sincronizadas?">
    Sim! Quando você adiciona ou remove membros da equipe em qualquer ambiente, as mudanças são sincronizadas automaticamente para o ambiente pareado.
  </Accordion>

  <Accordion title="Posso usar provedores reais no Sandbox?">
    Por padrão, não. Sandbox usa provedores simulados para evitar custos. Entre em contato com o suporte se você tem uma necessidade específica de testar integrações reais no Sandbox.
  </Accordion>

  <Accordion title="O que acontece quando o Sandbox expira?">
    Dependendo do seu plano, Sandbox pode ter data de expiração. Você receberá avisos antes da expiração, e pode estendê-lo ou torná-lo permanente atualizando seu plano.
  </Accordion>

  <Accordion title="Posso excluir meu Sandbox?">
    Sandbox e Produção são ambientes pareados. Se você quer remover seu Sandbox, entre em contato com o suporte.
  </Accordion>
</AccordionGroup>

## Recursos Relacionados

<CardGroup cols={2}>
  <Card title="Autenticação API" icon="key" href="/pt/api-reference/authentication">
    Aprenda como autenticar com API keys
  </Card>

  <Card title="Promoção de Configurações" icon="arrow-up" href="/pt/api-reference/environments">
    Promova configs do Sandbox para Produção
  </Card>

  <Card title="API de Entidades" icon="database" href="/pt/api-reference/entities/overview">
    Crie e gerencie entidades no seu ambiente
  </Card>

  <Card title="Motor de Regras" icon="brain" href="/pt/api-reference/rules">
    Configure regras de risco por ambiente
  </Card>
</CardGroup>
