
# Indo para produção

Antes de trocar `fsk_test_` por `fsk_live_`, confira:

- [ ] Você guarda o `id` e o `externalId` de cada nota no seu sistema, e o `externalId` é único por documento fiscal.
- [ ] Quando a sua requisição falha no meio (timeout, queda de rede), você **repete com o mesmo** `externalId`, nunca com um novo.
- [ ] Nota `rejected` é corrigida e reenviada com o mesmo `externalId`.
- [ ] Você trata `unknown` como "ainda em andamento", sem emitir de novo.
- [ ] O webhook confere a assinatura, responde 2xx em até 10 segundos e ignora entregas repetidas pelo `id`.
- [ ] Os erros `422` são mostrados ao usuário com o campo de `details[].path`.
- [ ] Você trata `429` esperando o `Retry-After`.
- [ ] O XML autorizado de cada nota é guardado (ou baixado depois) pelos 5 anos exigidos.
- [ ] O certificado A1 da empresa de produção foi enviado e você assina os webhooks `certificate.expiring` e `certificate.expired`.
- [ ] A série de produção começa num número que o sistema antigo não usou.
- [ ] O contador da empresa conferiu os impostos das primeiras notas de homologação (CFOP, CST, alíquotas e o IBS/CBS).

## A troca

1. Na chave de produção, cadastre de novo a empresa e envie o certificado. Os dados do sandbox não passam para produção.
2. Mude o `environment` da empresa para `production` (`PATCH /v1/companies/{id}`). Antes disso, ela emite em homologação mesmo com a chave real.
3. Cadastre a série de produção.
4. Troque o endereço para `https://api.emitza.com.br` e a chave para `fsk_live_...`.
5. Emita uma nota real de valor baixo e confira o DANFE e o XML com o contador.
