Idempotency-Key em qualquer requisição que muda estado
(POST e DELETE, em todos os recursos da API) e a Chargefy garante que a
operação roda uma única vez.
O header é sempre opcional: sem ele, a requisição é processada normalmente,
sem nenhuma mudança de comportamento. A chave é enviada só pelo header — não
existe parâmetro de corpo para idempotência.
Como funciona
- Na primeira requisição com uma chave, a operação roda normalmente e a resposta é guardada.
- Uma repetição com a mesma chave e o mesmo corpo não executa de novo:
devolve a resposta guardada, com o header
Idempotent-Replayed: true. - A chave é única por organização e por ambiente (
livemode). A mesma chave em test mode e em produção são chaves distintas. - Chaves expiram 24 horas depois de a operação concluir. Depois disso a mesma chave pode ser reusada para uma operação nova.
- Só vale para
POSTeDELETE.GETjá é idempotente e ignora o header.
Gerando a chave
Use um valor único por operação lógica — um UUID v4 é a escolha mais comum. Em uma migração de assinaturas, uma boa chave é o id da assinatura no sistema de origem, para que reimportar a mesma assinatura nunca a duplique.Regras e erros
string
Até 255 caracteres. Definido por você, único por operação.
Quando a requisição falha
O retry com a mesma chave é sempre seguro de enviar. O que ele encontra depende de até onde a operação tinha chegado.
Erros de servidor (
5xx) e respostas transitórias (409, 425, 429) não são
guardados como resultado final: a chave continua utilizável e o retry executa a
operação novamente.
Criação de assinaturas: retomada pós-falha
POST /v1/subscriptions tem uma garantia adicional. A criação grava vários
objetos de uma vez — assinatura, itens, primeira fatura, desconto —, então uma
falha depois dessa gravação não devolve a chave ao início: o retry com a mesma
chave retoma a mesma operação, termina o que faltava e devolve a mesma
assinatura — nunca cria uma segunda. Nesse endpoint, um 5xx não significa
que nada foi criado; significa que a operação não terminou, e repetir com a
mesma chave é como você descobre em que pé ela ficou.
Boas práticas
- Reenvie a mesma chave ao fazer retry de uma requisição que pode ter chegado ao servidor. É o retry com a mesma chave que evita o recurso duplicado; um retry com chave nova é uma operação nova.
- Gere uma chave nova para cada operação distinta.
- Combine idempotência com retry por backoff em
429e5xx.

