Cash-out Response

Destination
Source

Client

MTS

Cash-out response types

  • Cash-out Inform Reply (operation "cashout-inform-reply") is the response to the Cash-out Inform request.

  • Cashout Build Reply (operation "cashout-build-reply") is the response to the Cash-out Build request.

  • Cash-out Placement Reply (operation "cashout-placement-reply") is the response to the Cash-out Placement request.

For an overview of requests and responses, please see Cash-out Requests.


Envelope and Content table:

The envelope provides the content's (Cash-out response) context and contains the following fields ( besides Content):

  • correlationId

  • timestampUtc

  • operation

  • version

Example
Field Name
Field Description
Mandatory /Optional
Data Type
{

  "content": {

content

See Content object description below

Mandatory

Object

       ...........

       ...........

  },

  "correlationId": "ds7w32ndsJg2",

correlationId

Client defined string to facilitate the request-response pairing, Sportradar is obliged to return the same string in every response

Mandatory

String

  "timestampUtc": 1678273430000,

timestampUtc

Timestamp of ticket placement as submitted by the client (Unix time in milliseconds format), minimal: 1, maximum: 9223372036854776000

Mandatory

Integer

  "operation": "ticket-cashout",

operation

Declaration of ticket content type, should be "ticket-cashout" in case of Cash-out response

Mandatory

String

  "version": "3.0"

version

Indicates the ticket format version

Mandatory

String

}

\

Please note that in the case of major ticket errors or internal system errors the content object has a different structure and contains "type":"error-reply". For description see Error-reply Response.

1. Content object (cashout-inform-reply)

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

\

Content object table:

Example
Field Name
Field Description
Man /Opt
Data Type
"content": {

Object

    "type": "cashout-inform-reply",

type

Declaration of content type, should be "cashout-inform-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response).

M

String

    "cashoutId": "COUT92328", 

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

    "signature": "m0iiRiJ9f4oNhyq
P7fdGcgdCyDjSII4HR9M7xDn6l+8=",

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

    "status": "rejected",

status

Request outcome, enumerator:

  • accepted

  • rejected

M

String

    "ticketId": "Ticket_3690",

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

    "code": -204,    

code

Cash-out response code, see list of codes below

M

Integer

    "message": "Cash-out amount is too high"

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

}

2. Content object (cashout-build-reply)

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

  • ltd

  • cashout

  • endCustomerSuggestions

  • channelSuggestions

  • betDetails

  • exchangeRate

Content object table:

Example
Field Name
Field Description
Man /Opt
Data Type
"content": {

Object

    "type": "cashout-build-reply",

type

Declaration of content type, should be "cashout-build-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response).

M

String

    "cashoutId": "COUT92328", 

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

    "signature": "m0iiRiJ9f4oNhyq
P7fdGcgdCyDjSII4HR9M7xDn6l+8=",

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

    "status": "rejected",

status

Request outcome, enumerator:

  • accepted

  • rejected

O

    "ticketId": "Ticket_3690",

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

    "code": -204,    

code

Cash-out response code, see list of codes below

M

Integer

    "message": "Cash-out amount is too high"

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

     "ltd": {

ltd

O

Object

          "modelSuggestedLtd": "Delay",
  • modelSuggestedLtd

Action suggested by the AI LTD model, enum:

  • Delay (currently the only option implemented)

  • Skip

  • None

String

        "configuredLtd": 3,
  • configuredLtd

Configured LTD calculated from event coverage or explicit LTD setting, all data is configured in the MTS Console, min: 0, max: 15

Integer

        "suggestedLtd": 5,
  • suggestedLtd

Suggested LTD calculated from event data latency AI model, min: 0, max: 15

Integer

        "accountLbsLtdOffset": 6,
  • accountLbsLtdOffset

LTD offset derived from account (punter) Late Bet Score, min: 0, max: 15

Integer

        "liveSelectionLtdOffset": -2,
  • liveSelectionLtdOffset

LTD offset derived from the number of live selections, configured in MTS Console (default: -2 seconds in the case of 3 or more live selections),

must be less than zero or zero

Integer

        "appliedLtd": 5,
  • appliedLtd

MTS recommended LTD, calculated from: max of configured and suggested + account offset + live selection offset, min: 0, max: 15

Integer

},

    "cashout": {

cashout

O

        "cashoutType": "ticket",
  • cashoutType

Enum:

  • ticket

  • bet

O

String

        "cashoutId": "COUT92328",
  • cashoutId

Unique cash-out ID from the client's system, min length 1, max length 128

O

String

        "maxPayout": [ {
            .....     } ],
  • maxPayout

Current maximum potential ticket win (cashout cannot be greater that this),

Array of Payout With Source objects, min. number =1, max. number = 5, (for description, see below)

O

Array

        "fairCashout": [ {
            .....     } ],
  • fairCashout

Fair cashout , see more in files attached at UOF API - Probabilities API and Cashout,

Array of Payout With Source objects, min. number =1, max. number = 5, (for description, see below)

O

Array

        "cashout": [ {
            .....     } ],
  • cashout

Simple cashout , see more in files attached at UOF API - Probabilities API and Cashout,

Array of Payout With Source objects, min. number =1, max. number = 5, (for description, see below)

O

Array

},

    "endCustomerSuggestions": {

endCustomerSuggestions

O

Object

        "endCustomer": {
  • endCustomer

Data about client's end-customer (bettor)

M

Object

            "id": "endCustomer_u37s256",
    • id

End customer's unique ID (in client's system). The same as included in the original ticket.

M

String

            "confidence": "1.15",
    • confidence

End customer's suggested CCF, Java regex: ^\d{1,8}(\.\d{1,8})?$

O

String

             },

           "appliedConfidence": "0.98",
  • appliedConfidence

Calculated end-customer (punter) CCF

O

String

        "suggestedConfidence": "0.99",
  • suggestedConfidence

AI model suggested end-customer (punter) CCF

O

String

        "suggestedLateBetScore": "0.2",
  • suggestedLateBetScore

AI model suggested end-customer (punter) LBS

O

String

        "suggestedMarkerScore": "0.01",
  • suggestedMarkerScore

AI model suggested end-customer (punter) Marker Score

O

String

        "suggestedBotScore": "0.01"
  • suggestedBotScore

AI model suggested end-customer (punter) Bot Score

O

String

      },

"betDetails":   [ {

betDetails

O

Array

     "betId": "bjda6GH",

  • betId

Unique bet id (in the client's system), minimal string length = 1, maximum length = 128

O

String

      "selectionDetails": {
        ........
        },

  • selectionDetails

For object description, see Build Reply Selection Detail object

M

Object

     "payout": [ {
        ........
        },

  • payout

Sum of previous payouts on the bet, min no. of array items = 1, max no. = 5 For object description, see Payout With Source object

O

Array

     "settledPercentage": "0.2"

  • settledPercentage

Percentage of currently settled stake, Java regex: ^0(\.\d{1,8})?$

O

String

       } ],

  "exchangeRate":  [ {        ........
      } ],

exchangeRate

See exchangeRate description on the Ticket Placement Response

O

Array

},

Payout With Source object

The Payout With Source object contains the following fields:

  • type

  • amount

  • currency

  • source traceId

Payout With Source object table :

Example
Field Name
Field Description
Man /Opt
Data Type

{

   "type": "cash",

type

Enum:

  • cash

  • withheld

M

String

   "amount": "85.5",

amount

String pattern: 1 up to 8 digits, optionally followed by a decimal point and 1 up to 8 digits, Java regex: ^\\d{1,8}(\\.\\d{1,8})?$

M

String

   "currency": "EUR",

currency

3 or 4 letter currency code, BTC and mBTC are also supported (4 letters only apply to mBTC). For more details please check https://www.iso.org/iso-4217-currency-codes.html

M

String

   "source": "cashout",

source

Enum:

  • cash

  • bonus

  • odds-boost

  • cancel

  • cashout

  • ext-settlement

  • manual-cancel

  • manual-cashout

M

String

   "traceId": "Source_8327"

traceId

A string to help identify the source of operation/action/state

Minimal string length = 1, maximum length = 128

O

String

},

Build Reply Selection Detail object

The Build Reply Selection Detail object contains the following fields:

  • selection

  • appliedEventRating

  • suggestedEventRating

  • configuredLtd

  • suggestedLtd

  • appliedMarketFactor

  • currentProbability

  • currentResult

Build Reply Selection Detail object table :

Example
Field Name
Field Description
Man /Opt
Data Type
{

    "selection": {
         "type:   .....,
                 .....
                  },

selection

A selection that was included in the Ticket Placement Request is returned here, however included can be only selections of "type":"uf" or "type":"external" or "type":"uf-custom-bet"

M

Object

    "appliedEventRating": 3,

appliedEventRating

Applied event rating for the selection

O

Integer

   "suggestedEventRating": 5,

suggestedEventRating

Suggested event rating for the selection

O

Integer

   "configuredLtd": 2,

configuredLtd

Configured LTD calculated from event coverage or explicit LTD setting, min. = 0, max. = 15

O

Integer

   "suggestedLtd": 1,

suggestedLtd

Suggested LTD calculated from event data latency mode, min. = 0, max. = 15

O

Integer

   "appliedMarketFactor": "0.2",

appliedMarketFactor

Applied market factor for the selection, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

    "currentProbability": {

currentProbability

Current probabilities for the selection

O

Object

        "type": "push"
  • type

Enum:

  • win

  • push

M

String

        "win": "0.1",
  • win

Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M

String

        "halfWin": "0.4",
  • halfWin

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

        "refund": "0.3",
  • halfWin

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

        "halfLose": "0.5"
  • halfLose

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

     },

     "currentResult": {

currentResult

Current result for the selection

O

Object

        "type": "win",
  • type

Enum:

  • unsettled

  • win

  • lost

  • void

  • cashout

  • cancel

M

String

        "voidFactor": "0.5",
  • voidFactor

Only present if "type": "win" or "type": "lost", Void factor for the selection result, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

        "deadHeatFactor": "0.9"
  • deadHeatFactor

Only present if "type": "win", Dead-heat factor for the selection result, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

      }

},

3. Content object (cashout-placement-reply)

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

Content object table:

Example
Field Name
Field Description
Man /Opt
Data Type
"content": {

    "type": "cashout-placement-reply",

type

SDeclaration of content type, should be "cashout-placement-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response)

M

String

    "cashoutId": "COUT92328",

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

    "signature": "m0iiRiJ9f4oNhyq
P7fdGcgdCyDjSII4HR9M7xDn6l+8=",

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

    "status": "rejected",

status

Request outcome, enum:

  • accepted

  • rejected

M

String

    "ticketId": "Ticket_3690",

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

    "code": -204,    

code

Cash-out response code, see list of codes below

M

Integer

    "message": "Cash-out amount is too high"

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

}


Cash-out response codes:

Code
Description
0

Transaction processed

-101

Client (bookmaker) not found

-102

Cash-out disabled for particular client (bookmaker) or Limit ID

-103

Ticket not found

-104

Ticket rejected

-201

Ticket version lower than 3.0

-203

Requested cash-out is lower than the minimum allowed amount

-204

Requested cash-out exceeds the maximum allowed amount

-208

Bet ID not found

-209

Ticket has been already manually settled

-210

Cash-out factor is outside the allowed range of 0-100%

-211

Cash-out factor is lower than existing (when the cash-out factor is lower than the previous one)

-212

Conflicting previous cash-out (bet/ticket level)

-301

Operator (Limit ID) not authorised to use the cash-out validation feature (cashout-placement)

-302

Operator (Limit ID) not authorised to use the cash-out API feature

-305

Cash-out settings not found for Limit ID

-307

Cash-out currency was not found in the transaction

-320

Cash-out calculation failed due to internal or upstream error

-330

Cash-out calculation failed due to internal or upstream error

-331

Selection has unsupported event status

-332

Probabilities not found for selection

-333

Ticket external selections are not allowed

-339

Custom Bet is currently not supported

-411

Market suspended (offer status inactive, no PAPI fallback)

-412

Invalid selection status (PAPI cashout_status)

-413

Custom Bet probabilities not received

-999

Internal system error

Last updated

Was this helpful?