Detecting Duplicate Requests

You can check for duplicate requests by including the following in the request header:

Simphony-Features:detect-duplicate-request

When enabled, provide a unique idempotentcyId value for each request. Duplicate request detection can be enabled for:
  • POST/checks
  • POST/checks/{checkRef}/round request

The system detects duplicate requests by comparing the value idempotencyId with the value used in previous requests. If the idempotencyId value matches the value from a prior successful request, the system does not process the request again and returns the same response sent with the initial request.

The system only retains “prior request” for duplicate detection for 300 seconds.

POS Error Detail

If the transaction was sent but not processed by the POS and the system sends another request with the same idempotencyId value, the following error is returned:

{
    "title": "POS Error",
    "status": 400,
    "detail": "The POS system is unable to process the request.",
    "instance": "error:pos-error",
    "posDetails": [
        {
            "code": "duplicate_request",
            "message": "duplicate request detected, no response found"
        }
    ]
}