Comum a todos os endpoints
Boas práticas
Recomendações gerais que valem para qualquer chamada à API de integração.
Segurança
- Sempre HTTPS. Nunca trafegue credenciais ou payloads em texto claro.
- Chave privada só no backend. A
private-key.pemnunca deve aparecer no front-end, em logs ou em repositório. Okid(fingerprint) não é segredo e pode ser versionado à vontade. - Rotação e revogação. Gere um novo certificado periodicamente (rotação) e revogue imediatamente qualquer chave sob suspeita de vazamento — assinaturas com um cert revogado passam a receber
401. - Guarde a API key. Ela identifica a sua operação; gire-a em caso de suspeita.
Assinatura
- Relógio sincronizado (NTP). O
tda assinatura é aceito dentro de ±5 min do relógio do servidor. Um relógio muito fora gera401. - Assine os bytes exatos do corpo. A assinatura é sobre
t.corpo— não reserialize o JSON depois de assinar (espaços/ordem de campos mudam os bytes e invalidam asig). - Uma assinatura por requisição. Recalcule
tesiga cada chamada; não reaproveite.
Confiabilidade
- Idempotência. Onde houver um id de operação (ex.:
event_idno envio de transações), use um valor estável e único; reenviar o mesmo id é seguro (é deduplicado). - Retry com backoff. Em
5xxou timeout, tente de novo com exponential backoff — confie na idempotência para não duplicar efeitos. - Não derrube o lote por um item. No envio em lote, um evento inválido entra como
skippede os demais seguem; confira o resumo da resposta.
Dados
- Valores em centavos. Todo valor monetário é inteiro em minor units (centavos) — R$100,00 =
10000. Nunca envie decimal. - CPF/CNPJ com ou sem pontuação. A formatação é removida no servidor; o importante é a quantidade de dígitos (CPF 11, CNPJ 14).
- Telefone com DDI. O celular precisa incluir o código do país
55(12–13 dígitos no total); o+e a pontuação são opcionais (ex.:+5511998877665ou5511998877665). - Registre as respostas. Guarde o corpo de resposta (status por item, contadores) para conciliação e suporte.
