Ir para produção
Ir para produção
Antes de apontar o sistema para clientes reais.
Servidor
- NTP ativo. Desvio > 300s derruba todas as chamadas
(
request_timestamp_skew). - IP de saída estável e cadastrado na allowlist. Troca de NAT: cadastre o CIDR novo, espere 18h, só então mude o roteamento.
- Um processo (ou lock) pedindo token: reutilize até perto de
expires_in. Não um token por request.
Chave privada
- Fora do repositório, de imagem Docker e de logs.
- Acesso restrito ao serviço que assina.
- Plano de rotação ensaiado: chave nova → 18h → trocar
kid→ aposentar a antiga. Veja Chaves e IPs. - A última chave utilizável nunca é apagada (
409 last_public_key).
Chamadas
- Host
https://client.api.corpx.comem todas as rotas/v1/** -
POST /v1/security/signature/verifycomvalid: trueno ambiente real, uma vez, antes do primeiro pagamento -
Idempotency-Keyem toda escrita que move dinheiro; a mesma chave não muda o corpo - Sem
X-Transaction-Pin/X-Acting-Document - Sem
POST /v1/pix-outlegado
Webhooks
- HTTPS, HMAC, corpo bruto
-
accountIdna assinatura - 2xx rápido; fila para o trabalho pesado
- O mesmo
eventIdtratado uma vez (reentrega existe) - Você sabe listar entregas e reenviar
(
GET/POST .../webhooks/{id}/deliveries)
Operação
- Titular sabe que travas de horário e bloqueio de saída valem contra
a API. Você lê
GET .../security/lockse tratacashout_locked/cashout_outside_hours - PIX síncrono com teto em mente; volume alto vai para
/pix/out/async - Extrato avançado não entra em cron
- Runbook: token expirado,
unknown_kid, IP recusado, webhook parado - Canal do banco anotado para credencial, IP e travas
Contrato
Paths e schemas: /openapi/ib.yaml, só as operações desta
credencial. Coleção Postman: ib.json
(baseUrl já aponta para client.api.corpx.com; preencha tenantId, token e, por request, requestSignature).