Idempotency

Communication between Sportsbook and PAM may fail for unknown reasons or time out and the Sportsbook platform may have to re-send a transaction request. Only HTTP 500, network errors, or generally unexpected errors should be retried. HTTP 400 or other expected errors should not be retried. Authenticate and balance request are not scope of retries. The idempotency check is based solely on the transactionId field, that should be unique for every transaction.

Retry logic from Sportsbook:

  • If a placebet request fails, a rollbackbet request should be issued to make sure player balance is corrected. In case of a failed rollback, rollbackbet should be retried indefinitely.
  • a failed settlebet request should be retried indefinitely