Idempotência REST

Visão Geral#

A idempotência garante que não haverá duplicidade no envio de transações a partir do CARAT junto as Adquirentes/Emissores, uma vez que a solicitação da transação será realizada apenas uma única vez. Mesmo que uma solicitação idêntica seja enviada repetidamente em um intervalo de tempo específico, com este parâmetro (Idempotência) o CARAT irá validar se ela já foi processada. Se a transação já foi realizada e o CARAT já possui esta resposta (aprovada ou negada), ele não irá enviar outra solicitação, apenas informará o resultado do processamento anterior, dispensando assim a funcionalidade de consulta (via OrderID/ ou NIT). Se por qualquer motivo (timeout, etc) a transação não tenha sido processada, o CARAT irá então submetê-la novamente e obter uma resposta.

Por quê usar Idempotência:

Quando se trata de APIs transacionais de requisições únicas, a inclusão da chave de idempotência no cabeçalho se torna um requisito fundamental. Essa abordagem garante a segurança e confiabilidade das operações realizadas por meio de plataforma. Ao adotar essa prática, você evitará a ocorrência indesejada de duplicações, ao mesmo tempo em que aprimora a fluidez das transações. Esse procedimento resulta em uma experiência mais eficiente, tanto para o seu sistema quanto para os usuários finais.

Status finais

A idempotencia irá retornar o status atual da transação. Caso, no response tenha os retornos ERR e NEG as mesmas não devem ser retentadas com os mesmos idempotency_key pois trata-se de transacionais com status concluídos, e não sofrerão alterações de status nas retentativas de consulta. A próxima requisição deverá ser tratada como uma nova transação e um novo idempontency_key.

StatusDescrição
CONTransação Confimada
ERRErro de transação
NEGTransação negada

Sugerimos o uso de idempotencia para situações em que há response com 502, e/ou transações com response de inválido/time-out.

Códigos de Resposta

CódigoDescriçãoFormato
1270Body da transação não corresponde ao original< 80 AN
1271Processando transação idempotente< 80 AN
1272Transação idempotente não é do mesmo tipo< 80 AN
1274A transação nit idempotente revertida não corresponde ao original< 80 AN