Skip to main content
Operações de escrita na Vendaze API suportam idempotência via header Idempotency-Key. Isso permite que você reenvie uma requisição com segurança caso não tenha recebido resposta, sem risco de criar registros duplicados.

Como usar

Inclua o header Idempotency-Key com uma string única gerada por você:
Se você enviar a mesma requisição novamente com o mesmo Idempotency-Key, a API retorna a resposta original sem processar novamente.

Formato da chave

A chave deve ser:
  • Uma string de até 255 caracteres
  • Única por operação (recomendado: UUID v4)
  • Gerada pelo seu sistema, não reutilizada entre operações distintas

Comportamento por cenário

Por que PATCH e DELETE são naturalmente idempotentes

Endpoints PATCH e DELETE não precisam do header Idempotency-Key porque são idempotentes por definição:
  • PATCH: aplicar a mesma atualização duas vezes produz o mesmo resultado. Definir full_name como "Ana Costa" uma segunda vez não altera o registro.
  • DELETE: deletar um registro que já foi deletado retorna 404. O estado final (registro não existe) é o mesmo independente de quantas vezes você chame.
O header Idempotency-Key só é necessário para operações POST, onde cada chamada sem chave criaria um novo registro.

Endpoints que suportam idempotência

O header Idempotency-Key é aceito em todos os endpoints de escrita:
  • POST /v1/people
  • POST /v1/companies
  • POST /v1/deals

Padrão recomendado para criações críticas

Rastreando chaves de idempotência no banco de dados

Para operações onde você precisa de trilha de auditoria ou quer correlacionar seus registros internos com respostas da API, armazene a chave de idempotência junto ao recurso criado:
A chave de idempotência persiste por 24 horas. Use sempre um UUID v4 gerado no momento da operação. Nunca reutilize chaves entre operações diferentes.

Conflito de chave

Se você enviar uma chave já usada com um body diferente, a API retorna:
Isso protege contra bugs onde a mesma chave é acidentalmente reutilizada para duas operações distintas.