# Guia — homologação do ERP (`/web_api`)

Teste seu conector numa **loja de homologação** Nuvartis, separada das lojas reais.

## O que você recebe da Nuvartis

- `consumer_key` e `consumer_secret` do seu app (o secret é exibido uma única vez — guarde em cofre)
- Acesso a uma loja de homologação vinculada ao seu app
- Um `code` de autorização para essa loja (válido por **10 minutos**, uso único)

Solicite em https://nuvartis.com/developers.

## Passos

1. **Troque o `code`** por tokens em `POST /web_api/auth` — ver [curl de autenticação](./curl-web-api-auth.md).
2. **Valide o token** com `GET /web_api/ping`.
3. **Leia o catálogo** com `GET /web_api/products`.
4. **Teste escritas** (produto, estoque por CD, pedido, nota fiscal) sempre com header `Idempotency-Key`.
5. **Renove o token** antes de expirar (access token: 3 h) com `refresh_token`. Cada renovação devolve um par novo; o `refresh_token` anterior deixa de valer.

## Recursos não disponíveis

Alguns endpoints existem no contrato mas ainda não estão disponíveis (ex.: `/price_lists`, `/products_sold`, escrita de `/carts`, perfis de cliente). Eles respondem **404** com JSON:

```json
{ "code": 9999, "message": "…", "nuvartis_stub": true }
```

Trate `nuvartis_stub: true` como "recurso indisponível", não como erro de rede ou de dados.

## Reset da homologação

A Nuvartis pode limpar a loja de homologação (ação **Resetar homolog** no painel da plataforma). O reset apaga produtos, marcas, categorias, pedidos, carrinhos e clientes de teste, e **mantém** a loja, o app, os tokens e a URL de webhook. Peça o reset pelo mesmo canal da solicitação.

## Isolamento

- O token define a loja. IDs de outra loja respondem **404**.
- Não envie `store_id` nem header `X-Store-Id`: a requisição responde **404**.

## Contrato

- OpenAPI: `/docs/openapi-web-api.yaml`
- Portal: https://nuvartis.com/developers
- API merchant v1 (outra superfície): https://nuvartis.com/documentacao
