# Indo para Produção

Quando sua integração estiver funcionando no sandbox, use este checklist para preparar o lançamento em produção.

## Checklist de Produção

### Credenciais e Segurança

- [ ] **Credenciais de produção** — Solicite credenciais de produção ao seu gerente de conta. Credenciais de sandbox não funcionam em produção.
- [ ] **Armazenamento de secrets** — `client_secret` e webhook secrets estão em um gerenciador de secrets (não em código ou variáveis de ambiente hardcoded).
- [ ] **Chamadas server-side** — Todas as chamadas à API são feitas do seu backend. Nenhuma credencial é exposta no frontend.
- [ ] **Rotação planejada** — Defina um processo para [rotação de credenciais](/apis/concepts/authentication#gerenciamento-de-credenciais) a cada 90 dias.


### Resiliência

- [ ] **Idempotência em POSTs** — Os SDKs geram automaticamente um `Idempotency-Key` em toda requisição `POST`, garantindo segurança em retries. Se usar cURL/HTTP direto, inclua o header manualmente.
- [ ] **Retry com backoff** — Erros `429` e `500` são retentados com exponential backoff e jitter. Os SDKs fazem isso automaticamente.
- [ ] **Tratamento de 401** — Seu client renova o token automaticamente ao receber `401` com código `token_expired`.
- [ ] **Erros de validação** — Erros `422` são tratados mostrando o campo `detail` (mensagem legível) e `code` (subtipo da máquina) do formato Problem Details (RFC 9457) ao usuário.


### Webhooks

- [ ] **Verificação de assinatura** — Toda entrega de webhook é verificada com HMAC-SHA256 antes de ser processada. Veja [Webhooks](/apis/concepts/webhooks#verifica%C3%A7%C3%A3o-manual-de-assinatura).
- [ ] **Idempotência de handlers** — Seu handler usa `webhook-id` como chave de deduplicação. O mesmo evento pode ser entregue mais de uma vez.
- [ ] **Resposta rápida** — O handler retorna `200` em até 15 segundos e processa o evento de forma assíncrona.
- [ ] **Proteção contra replay** — Webhooks com `webhook-timestamp` mais antigo que 5 minutos são rejeitados.


### Monitoramento

- [ ] **Alertas de erro** — Monitore respostas `5xx` e falhas de webhook.
- [ ] **Acompanhamento de rate limit** — Monitore os headers `X-RateLimit-Remaining` para evitar throttling.
- [ ] **Status dos clientes** — Acompanhe clientes presos em `pending_kyc` ou `under_review` por tempo excessivo.


## URLs de Produção

| Ambiente | URL Base |
|  --- | --- |
| Sandbox | `https://api-dev.dinietech.io/api/v3` |
| **Produção** | `https://api.dinie.com/api/v3` |


Atualize a URL base e as credenciais. A API é idêntica em ambos os ambientes.

## Suporte

- **E-mail:** api@dinie.com.br
- **Status:** [status.dinie.com.br](https://status.dinie.com.br)