# Sandbox

> O sandbox é um serviço separado da produção, com banco próprio, limites menores e resultados fixos para os arquivos de exemplo.

O sandbox é um serviço **separado** da produção, com banco próprio, em `https://sandbox.api.rmfestrategia.com/v1`. Nada do que você enviar lá chega à produção, e nada de lá é dado de cliente. Integre e teste primeiro nele, com uma chave `rmf_test_`, e só depois troque o endereço e a chave para a produção.

Os exemplos de código deste portal usam a variável `RMF_API_URL`: comece com ela apontando para o sandbox.

## O que é diferente

| | Sandbox | Produção |
|---|---|---|
| Chave | `rmf_test_` | `rmf_live_` |
| Upload | até 20 MB | SPED até 400 MB, ZIP de XML até 200 MB |
| Cotas do dia e do mês | 10 vezes menores que as do plano | as do plano |
| Limite por minuto | o mesmo da produção | 60 por chave |
| Entregas de webhook | até 10 por dia | conforme o plano |
| Chamada do navegador (CORS) | só a partir de `https://docs.rmfestrategia.com` | não aceita |

## Resultados

- Consultas de ICMS e da Reforma respondem com dado real.
- Conta, chaves, uso e webhooks são reais no sandbox.
- Empresas, arquivos, relatórios e jobs são **simulados**. O sandbox devolve resultados fixos para os arquivos de exemplo do portal; outros arquivos são aceitos, mas o resultado é ilustrativo.
- Use só arquivos **sintéticos**, nunca SPED real. Os arquivos de exemplo do portal estão na tabela abaixo, todos do CNPJ de teste `11222333000181`.

### Arquivos de exemplo

| Arquivo | Tipo | Competência |
|---|---|---|
| [`efd-icms-ipi-11222333000181-2025-01.txt`](/exemplos-arquivos/efd-icms-ipi-11222333000181-2025-01.txt) | EFD ICMS/IPI | 2025-01 |
| [`efd-contribuicoes-11222333000181-2025-01.txt`](/exemplos-arquivos/efd-contribuicoes-11222333000181-2025-01.txt) | EFD Contribuições | 2025-01 |
| [`xml-nfe-11222333000181-2025-01.zip`](/exemplos-arquivos/xml-nfe-11222333000181-2025-01.zip) | ZIP de 20 NF-e | 2025-01 |
| [`efd-icms-ipi-11222333000181-2025-02.txt`](/exemplos-arquivos/efd-icms-ipi-11222333000181-2025-02.txt) | EFD ICMS/IPI | 2025-02 |
| [`efd-contribuicoes-11222333000181-2025-02.txt`](/exemplos-arquivos/efd-contribuicoes-11222333000181-2025-02.txt) | EFD Contribuições | 2025-02 |

Quando você envia um destes arquivos (o sandbox os reconhece pelo conteúdo), os relatórios devolvem resultados **fixos**, os mesmos de sempre. Eles são ilustrativos: servem para testar a sua integração, não são resultado fiscal. Cadastre o CNPJ `11222333000181` na sua conta de teste antes de enviar.

| Relatório | Competência | Resultado fixo |
|---|---|---|
| `icms_st` | 2025-01 | crédito de R$ 5.986,90 |
| `icms_st` | 2025-02 | crédito de R$ 5.248,33 |
| `diagnostico_federal` | 2025-01 | três ocorrências: `oc_002`, `oc_012` e `oc_013` |
| `planilha_sped` | 2025-01 e 2025-02 | uma planilha por relatório, com as abas do SPED |

## "Testar agora"

A [referência da API](/referencia) chama o sandbox direto do navegador: informe a chave `rmf_test_` no campo de autenticação e use "Testar requisição". A produção não tem CORS: chame-a do seu servidor, nunca do navegador.

## Simular situações: `X-Sandbox-Simular`

O cabeçalho `X-Sandbox-Simular` existe só no sandbox (na produção ele é ignorado) e provoca situações difíceis de reproduzir à mão:

| Valor | O que acontece |
|---|---|
| `limite` | A chamada responde `429` `limite_excedido` com `Retry-After: 1`. Mande o cabeçalho só na primeira tentativa, para ver a espera e a nova tentativa funcionarem. |
| `falha` | Em `POST /v1/relatorios`, o relatório termina `falhou` com `arquivo_faltando` e dispara o evento `relatorio.falhou`. |
| `sem_dados` | Em `POST /v1/relatorios`, o relatório termina `concluido_sem_dados`, com totais zerados, e dispara `relatorio.concluido`. |

```bash title="Provocar um 429 no sandbox"
curl -i "$RMF_API_URL/icms/aliquotas?ncm=85414121&uf=SP&inicio=2026-10&fim=2026-10" \
  -H "Authorization: Bearer $RMF_API_KEY" \
  -H "X-Sandbox-Simular: limite"
```

Os exemplos de consulta deste portal usam o gatilho quando a variável `RMF_SIMULAR_429=1` está no ambiente.

## CNPJs de teste

Use estes CNPJs, que passam na verificação dos dígitos: `11222333000181`, as filiais `11222333000262` e `11222333000343`, e o CNPJ alfanumérico `12ABC34501DE35`. Nunca use CNPJ real no sandbox.
