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

# Sandbox

> Um ambiente para testar a integração com o mesmo contrato da v1, respostas fictícias e nenhuma cobrança.

O sandbox responde em `https://sandbox.jusfy.com.br`, com as mesmas rotas, payloads, erros e
webhooks da v1. A diferença é o que acontece por trás: nenhuma chamada chega a fornecedor, ao
motor de cálculo ou à cobrança. Cada rota devolve o exemplo da referência.

> [!WARNING]
>
> Use **só dados de teste** no sandbox. Ele não consulta nada, então um CPF ou uma placa reais não
> trazem resultado melhor, e as entradas ficam gravadas num consumo que todos os usuários do
> sandbox compartilham. O que você envia e o que recebe é apagado depois de 7 dias.

## Sem chave

O sandbox não pede API key: toda rota da v1 responde sem o header `x-api-key`, e, se ele vier, é
ignorado. É só trocar o endereço para começar a testar.

```bash cURL theme={"dark"}
curl -X POST https://sandbox.jusfy.com.br/api/v1/consultas/cnh \
  -H "Content-Type: application/json" \
  -d '{"document":"529.982.247-25"}'
```

O sandbox é compartilhado por todo mundo que testa: o limite de requisições e o
`GET /api/v1/consumo` são um só para todos, e quem tiver o `id` de uma consulta assíncrona
consegue ler o resultado dela. Nada é cobrado.

Só a v1 existe no sandbox: as rotas sem versão (`/api/...`) respondem `404`.

## Respostas

* **Calculadoras**: devolvem sempre o exemplo de resposta da referência, qualquer que seja a
  entrada válida. A validação do payload é a mesma de produção, então o `400` aparece igual; o
  `422`, que vem do motor de cálculo, não acontece no sandbox.
* **Consultas**: devolvem o exemplo da referência para qualquer documento válido, exceto os
  reservados abaixo.
* **Assíncronas** (rastreamento veicular, buscador processual, JusScore e o relatório PDF da
  completa): concluem em até \~20 segundos, incluindo o webhook. O webhook sai de verdade
  para o seu `url_retorno`, com a mesma assinatura de produção, e o relatório é um PDF fictício.

## Cenários de teste

Envie um destes documentos para receber o erro correspondente. Nas consultas que respondem na mesma
requisição, o erro vem direto, com o corpo de produção. Nas assíncronas, qualquer um deles faz a
consulta terminar em `error`, com o webhook de falha.

| Resposta | CPF | CNPJ | Placa |
| - | - | - | - |
| `404` `no_data_found` | `000.000.001-91` | `99.999.999/0001-91` | `SBX0404` |
| `422` `payload_rejected` | `000.000.002-72` | `99.999.999/0002-72` | `SBX0422` |
| `502` `upstream_error` | `000.000.003-53` | `99.999.999/0003-53` | `SBX0502` |
| `503` `upstream_unavailable` | `000.000.004-34` | `99.999.999/0004-34` | `SBX0503` |
| `504` `upstream_timeout` | `000.000.005-15` | `99.999.999/0005-15` | `SBX0504` |

Os documentos são aceitos com ou sem máscara. Qualquer outro documento válido recebe a resposta de
sucesso.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.