Lotto Service Interface (3.0.2)

The Electrum Lotto Service Interface describes an interface for creating, confirming and reversing Lotto wagers.

Download OpenAPI description
Languages
Servers

https://[placeholder].dev/lotto/v2/

Schema

WagerResponse

Information about a successful wager request.

transactionLabelsArray of objects(TransactionLabel)

A list containing labels that can be used to discover this transaction or group it with other transactions sharing labels with the same label name and value. Transaction labels should never be used to make transaction processing decisions.

idstringrequired

The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

originatorobject(Originator)required

The Originator object encapsulates data relating to the originator of the transaction

originator.​institutionobject(Institution)required

Originating, acquiring, processing, or receiving institution details

originator.​institution.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

originator.​institution.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

originator.​terminalIdstring= 8 charactersrequired

The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices

originator.​merchantobject(Merchant)required

Merchant related data. Must be included if available

originator.​merchant.​merchantTypestring[0-9]{4}required

The assigned four digit merchant category code

originator.​merchant.​merchantIdstring= 15 charactersrequired

The assigned merchant identifier. Also known as card acceptor id

originator.​merchant.​merchantNameobject(MerchantName)required

A container object representing the Merchant Name and Location

originator.​merchant.​merchantName.​namestring[ 0 .. 23 ] charactersrequired

The merchant or trading as name associated with the merchant

originator.​merchant.​merchantName.​citystring[ 0 .. 13 ] charactersrequired

The city where the merchant is located

originator.​merchant.​merchantName.​regionstring[ 0 .. 2 ] charactersrequired

The state or region where the merchant is located

originator.​merchant.​merchantName.​countrystring[ 0 .. 2 ] charactersrequired

The country where the merchant is located

originator.​operatorIdstring[ 0 .. 30 ] characters

The ID that uniquely identifies the person operating the terminal specified by the terminalId field.

originator.​channelIdstring[ 0 .. 50 ] characters

The ID that uniquely identifies the originator's channel that this transaction was received through.

clientobject(Institution)required

Originating, acquiring, processing, or receiving institution details

client.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

client.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

settlementEntityobject(Institution)

Originating, acquiring, processing, or receiving institution details

receiverobject(Institution)

Originating, acquiring, processing, or receiving institution details

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

An array of identifiers which each identify the transaction within each entity's system.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

slipDataobject(SlipData)

Data that may be printed on the customer slip for information purposes

basketRefstring

Used to group multiple transactions which would otherwise be considered independent.

tranTypestring

Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).

Enum"GOODS_AND_SERVICES""CASH_WITHDRAWAL""DEBIT_ADJUSTMENT""GOODS_AND_SERVICES_WITH_CASH_BACK""NON_CASH""RETURNS""DEPOSIT""CREDIT_ADJUSTMENT""GENERAL_CREDIT""AVAILABLE_FUNDS_INQUIRY"
srcAccTypestring

This specifies the type of source account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
destAccTypestring

This specifies the type of destination account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

wagerobject(Wager)required

Describes the variety or boards the customer wishes to play for a game for a number of draws.

wager.​drawIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

The drawId of the draw the Wager pertains to. If the Wager spans multiple draws this will be the drawId of the first draw the Wager pertains to.

wager.​durationinteger(int32)>= 0

The number of draws this Wager pertains to.

wager.​gameNamestring

The name of the game this Wager pertains to.

Enum"LOTTO""LOTTO_PLUS1""LOTTO_PLUS2""POWERBALL""POWERBALL_PLUS1""PICK_3""SPORTS_STAKE_13""RAFFLE""DAILY_LOTTO""SPORTSTAKE_8"
wager.​barcodestring^[ -;=\?-Z\^-z\|~]{0,50}$

An alternative indication of the wager's game.

wager.​serialNumberstring^[ -;=\?-Z\^-z\|~]{0,50}$

The serial number of the ticket representing this Wager.

wager.​securityCodestring

The security code needed to validate the ticket representing this Wager.

wager.​boardsArray of objects(Board)required

The collection of Boards which make up the Wager.

wager.​boards[].​quickPickbooleanrequired

Boolean indicating whether or not the selections are determined by Ithuba.

Default false
wager.​boards[].​selectionsArray of strings

The outcome of a draw which will allow the customer to win a monetary prize.

wager.​boards[].​betTypestring

An indication of how the board is to match the three digit number drawn by Ithuba. This is only used for the Pick3 game.

Enum"STRAIGHT""BOX3""BOX6""FRONT2""BACK2""SPLIT"
wager.​boards[].​systemBetTypestring

An indication of how varied the results of a QuickPick selection may be.

Enum"NONE""FREE""IQP4""IQP8""IQP16""IQP24""IQP32""IQP64""IQP128""IQP256"
wager.​groupMemberIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​groupIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​drawStartDatestring(date-time)

The date and time of the first draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​drawEndDatestring(date-time)

The date and time of the last draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​revisionstring^[ -;=\?-Z\^-z\|~]{0,50}$

The current revision version of the game rules. The revision is retrieved from the game provider.

paymentMethodsArray of objects(PaymentMethod)

An array of payment methods to be used as payment for the transaction. This is used if payment is not tendered at the point of sale, but is effected through one or more calls to third party payment providers as part of the request. A PaymentMethod differs from a Tender in that the former represents payment that still needs to be collected from a third party, whereas the latter represents payment that has already been collected at the point of sale.

{ "transactionLabels": [ {} ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": {}, "terminalId": "stringst", "merchant": {}, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ {} ], "slipData": { "messageLines": [], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": {}, "approvedAmount": {}, "feeAmount": {}, "balanceAmount": {}, "additionalAmounts": {} }, "wager": { "drawId": "string", "duration": 0, "gameName": "LOTTO", "barcode": "string", "serialNumber": "string", "securityCode": "string", "boards": [], "groupMemberId": "string", "groupId": "string", "drawStartDate": "2019-08-24T14:15:22Z", "drawEndDate": "2019-08-24T14:15:22Z", "revision": "string" }, "paymentMethods": [ {} ] }

WalletPayment

Base model for all payment types

typestringrequired

The general method of payment used

Enum"AN_32_TOKEN""LOYALTY_CARD""CARD""ACCOUNT""REWARD""WALLET""QR"
Discriminator
namestring

The specific method of payment used

amountobject(LedgerAmount)

An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT

issuerobject(Institution)

Originating, acquiring, processing, or receiving institution details

pinobject(Pin)

Base model for capturing either a clear PIN or encrypted PIN

proxystring[ 0 .. 40 ] characters

An alternative identifier for the customer's source of funds. Acts as a stand in for the customer identifier. E.g. a customer's MSISDN or email address.

proxyTypestring

An enumerated value describing the type of value used as the proxy.

Enum"MSISDN""EMAIL""UNKNOWN"
srcAccountIdstring

Source AccountId from which this payment will be made.

srcCustomerIdstring

Source CustomerId from which this payment will be made.

destAccountIdstring

Destination AccountId to which this payment will be made.

destCustomerIdstring

Destination CustomerId to which this payment will be made.

{ "type": "AccountPayment", "name": "string", "amount": { "amount": 0, "currency": "string", "ledgerIndicator": "DEBIT" }, "issuer": { "id": "string", "name": "string" }, "pin": { "type": "CLEAR_PIN" }, "proxy": "string", "proxyType": "MSISDN", "srcAccountId": "string", "srcCustomerId": "string", "destAccountId": "string", "destCustomerId": "string" }

WalletPocket

pocketNamestringrequired

The name given to this wallet pocket.

pocketIdstring

A programmatic ID that can be used to identify this pocket when the name is not enough

{ "pocketName": "string", "pocketId": "string" }

getGameRules

Request

Retrieve the rules for a Lotto game.

Security
httpBasic or oauth2
Query
gameNamestringrequired

The name of the game for which to retrieve the rules.

Enum"LOTTO""LOTTO_PLUS1""LOTTO_PLUS2""POWERBALL""POWERBALL_PLUS1""PICK_3""SPORTS_STAKE_13""RAFFLE""DAILY_LOTTO""SPORTSTAKE_8"
Failed to generate code sample.

Responses

OK

Bodyapplication/json
gameRulesArray of objects(GameRule)

The list of game rules, per game.

Response
application/json
{ "gameRules": [ {} ] }

lookupWager

Request

Retrieve wager information, given the serial number of the lotto ticket.

Security
httpBasic or oauth2
Query
wagerSerialNumberstringrequired

The serial number of the wager for which to retrieve information.

Failed to generate code sample.

Responses

OK

Bodyapplication/json
wagerResponseobject(WagerResponse)

Information about a successful wager request.

isReversedboolean

Indicates whether or not the current wager has been reversed, or has a reversal pending.

Default false
Response
application/json
{ "wagerResponse": { "transactionLabels": [], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": {}, "client": {}, "settlementEntity": {}, "receiver": {}, "thirdPartyIdentifiers": [], "slipData": {}, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": {}, "wager": {}, "paymentMethods": [] }, "isReversed": false }

createWager

Request

Request a wager be created.

Security
httpBasic or oauth2
Path
requestIdstringrequired

The randomly generated UUID of this request.

Bodyapplication/jsonrequired

A wager request.

transactionLabelsArray of objects(TransactionLabel)

A list containing labels that can be used to discover this transaction or group it with other transactions sharing labels with the same label name and value. Transaction labels should never be used to make transaction processing decisions.

idstringrequired

The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

originatorobject(Originator)required

The Originator object encapsulates data relating to the originator of the transaction

originator.​institutionobject(Institution)required

Originating, acquiring, processing, or receiving institution details

originator.​institution.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

originator.​institution.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

originator.​terminalIdstring= 8 charactersrequired

The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices

originator.​merchantobject(Merchant)required

Merchant related data. Must be included if available

originator.​merchant.​merchantTypestring[0-9]{4}required

The assigned four digit merchant category code

originator.​merchant.​merchantIdstring= 15 charactersrequired

The assigned merchant identifier. Also known as card acceptor id

originator.​merchant.​merchantNameobject(MerchantName)required

A container object representing the Merchant Name and Location

originator.​merchant.​merchantName.​namestring[ 0 .. 23 ] charactersrequired

The merchant or trading as name associated with the merchant

originator.​merchant.​merchantName.​citystring[ 0 .. 13 ] charactersrequired

The city where the merchant is located

originator.​merchant.​merchantName.​regionstring[ 0 .. 2 ] charactersrequired

The state or region where the merchant is located

originator.​merchant.​merchantName.​countrystring[ 0 .. 2 ] charactersrequired

The country where the merchant is located

originator.​operatorIdstring[ 0 .. 30 ] characters

The ID that uniquely identifies the person operating the terminal specified by the terminalId field.

originator.​channelIdstring[ 0 .. 50 ] characters

The ID that uniquely identifies the originator's channel that this transaction was received through.

clientobject(Institution)required

Originating, acquiring, processing, or receiving institution details

client.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

client.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

settlementEntityobject(Institution)

Originating, acquiring, processing, or receiving institution details

receiverobject(Institution)

Originating, acquiring, processing, or receiving institution details

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

An array of identifiers which each identify the transaction within each entity's system.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

slipDataobject(SlipData)

Data that may be printed on the customer slip for information purposes

basketRefstring

Used to group multiple transactions which would otherwise be considered independent.

tranTypestring

Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).

Enum"GOODS_AND_SERVICES""CASH_WITHDRAWAL""DEBIT_ADJUSTMENT""GOODS_AND_SERVICES_WITH_CASH_BACK""NON_CASH""RETURNS""DEPOSIT""CREDIT_ADJUSTMENT""GENERAL_CREDIT""AVAILABLE_FUNDS_INQUIRY"
srcAccTypestring

This specifies the type of source account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
destAccTypestring

This specifies the type of destination account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

wagerobject(Wager)required

Describes the variety or boards the customer wishes to play for a game for a number of draws.

wager.​drawIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

The drawId of the draw the Wager pertains to. If the Wager spans multiple draws this will be the drawId of the first draw the Wager pertains to.

wager.​durationinteger(int32)>= 0

The number of draws this Wager pertains to.

wager.​gameNamestring

The name of the game this Wager pertains to.

Enum"LOTTO""LOTTO_PLUS1""LOTTO_PLUS2""POWERBALL""POWERBALL_PLUS1""PICK_3""SPORTS_STAKE_13""RAFFLE""DAILY_LOTTO""SPORTSTAKE_8"
wager.​barcodestring^[ -;=\?-Z\^-z\|~]{0,50}$

An alternative indication of the wager's game.

wager.​serialNumberstring^[ -;=\?-Z\^-z\|~]{0,50}$

The serial number of the ticket representing this Wager.

wager.​securityCodestring

The security code needed to validate the ticket representing this Wager.

wager.​boardsArray of objects(Board)required

The collection of Boards which make up the Wager.

wager.​boards[].​quickPickbooleanrequired

Boolean indicating whether or not the selections are determined by Ithuba.

Default false
wager.​boards[].​selectionsArray of strings

The outcome of a draw which will allow the customer to win a monetary prize.

wager.​boards[].​betTypestring

An indication of how the board is to match the three digit number drawn by Ithuba. This is only used for the Pick3 game.

Enum"STRAIGHT""BOX3""BOX6""FRONT2""BACK2""SPLIT"
wager.​boards[].​systemBetTypestring

An indication of how varied the results of a QuickPick selection may be.

Enum"NONE""FREE""IQP4""IQP8""IQP16""IQP24""IQP32""IQP64""IQP128""IQP256"
wager.​groupMemberIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​groupIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​drawStartDatestring(date-time)

The date and time of the first draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​drawEndDatestring(date-time)

The date and time of the last draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​revisionstring^[ -;=\?-Z\^-z\|~]{0,50}$

The current revision version of the game rules. The revision is retrieved from the game provider.

paymentMethodsArray of objects(PaymentMethod)

An array of payment methods to be used as payment for the transaction. This is used if payment is not tendered at the point of sale, but is effected through one or more calls to third party payment providers as part of the request. A PaymentMethod differs from a Tender in that the former represents payment that still needs to be collected from a third party, whereas the latter represents payment that has already been collected at the point of sale.

tendersArray of objects(Tender)

An array of tenders used to pay for the transaction. This is used if payment is tendered at the point of sale. A Tender differs from a PaymentMethod in that the former represents a payment that has already been collected at the point of sale, whereas the latter represents a payment that still needs to be collected from a third party.

Failed to generate code sample.

Responses

Created

Headers
Locationstring

The location of the created wager resource

Bodyapplication/json
transactionLabelsArray of objects(TransactionLabel)

A list containing labels that can be used to discover this transaction or group it with other transactions sharing labels with the same label name and value. Transaction labels should never be used to make transaction processing decisions.

idstringrequired

The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

originatorobject(Originator)required

The Originator object encapsulates data relating to the originator of the transaction

originator.​institutionobject(Institution)required

Originating, acquiring, processing, or receiving institution details

originator.​institution.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

originator.​institution.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

originator.​terminalIdstring= 8 charactersrequired

The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices

originator.​merchantobject(Merchant)required

Merchant related data. Must be included if available

originator.​merchant.​merchantTypestring[0-9]{4}required

The assigned four digit merchant category code

originator.​merchant.​merchantIdstring= 15 charactersrequired

The assigned merchant identifier. Also known as card acceptor id

originator.​merchant.​merchantNameobject(MerchantName)required

A container object representing the Merchant Name and Location

originator.​merchant.​merchantName.​namestring[ 0 .. 23 ] charactersrequired

The merchant or trading as name associated with the merchant

originator.​merchant.​merchantName.​citystring[ 0 .. 13 ] charactersrequired

The city where the merchant is located

originator.​merchant.​merchantName.​regionstring[ 0 .. 2 ] charactersrequired

The state or region where the merchant is located

originator.​merchant.​merchantName.​countrystring[ 0 .. 2 ] charactersrequired

The country where the merchant is located

originator.​operatorIdstring[ 0 .. 30 ] characters

The ID that uniquely identifies the person operating the terminal specified by the terminalId field.

originator.​channelIdstring[ 0 .. 50 ] characters

The ID that uniquely identifies the originator's channel that this transaction was received through.

clientobject(Institution)required

Originating, acquiring, processing, or receiving institution details

client.​idstringrequired

The institution's ID. API implementations should take care to set this field as appropriate for the implementation.

client.​namestring[ 0 .. 40 ] charactersrequired

The institutions's name

settlementEntityobject(Institution)

Originating, acquiring, processing, or receiving institution details

receiverobject(Institution)

Originating, acquiring, processing, or receiving institution details

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

An array of identifiers which each identify the transaction within each entity's system.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

slipDataobject(SlipData)

Data that may be printed on the customer slip for information purposes

basketRefstring

Used to group multiple transactions which would otherwise be considered independent.

tranTypestring

Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).

Enum"GOODS_AND_SERVICES""CASH_WITHDRAWAL""DEBIT_ADJUSTMENT""GOODS_AND_SERVICES_WITH_CASH_BACK""NON_CASH""RETURNS""DEPOSIT""CREDIT_ADJUSTMENT""GENERAL_CREDIT""AVAILABLE_FUNDS_INQUIRY"
srcAccTypestring

This specifies the type of source account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
destAccTypestring

This specifies the type of destination account being used in the transaction (i.e. cheque, savings).

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""GIFT_CARD""STORED_VALUE"
stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

wagerobject(Wager)required

Describes the variety or boards the customer wishes to play for a game for a number of draws.

wager.​drawIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

The drawId of the draw the Wager pertains to. If the Wager spans multiple draws this will be the drawId of the first draw the Wager pertains to.

wager.​durationinteger(int32)>= 0

The number of draws this Wager pertains to.

wager.​gameNamestring

The name of the game this Wager pertains to.

Enum"LOTTO""LOTTO_PLUS1""LOTTO_PLUS2""POWERBALL""POWERBALL_PLUS1""PICK_3""SPORTS_STAKE_13""RAFFLE""DAILY_LOTTO""SPORTSTAKE_8"
wager.​barcodestring^[ -;=\?-Z\^-z\|~]{0,50}$

An alternative indication of the wager's game.

wager.​serialNumberstring^[ -;=\?-Z\^-z\|~]{0,50}$

The serial number of the ticket representing this Wager.

wager.​securityCodestring

The security code needed to validate the ticket representing this Wager.

wager.​boardsArray of objects(Board)required

The collection of Boards which make up the Wager.

wager.​boards[].​quickPickbooleanrequired

Boolean indicating whether or not the selections are determined by Ithuba.

Default false
wager.​boards[].​selectionsArray of strings

The outcome of a draw which will allow the customer to win a monetary prize.

wager.​boards[].​betTypestring

An indication of how the board is to match the three digit number drawn by Ithuba. This is only used for the Pick3 game.

Enum"STRAIGHT""BOX3""BOX6""FRONT2""BACK2""SPLIT"
wager.​boards[].​systemBetTypestring

An indication of how varied the results of a QuickPick selection may be.

Enum"NONE""FREE""IQP4""IQP8""IQP16""IQP24""IQP32""IQP64""IQP128""IQP256"
wager.​groupMemberIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​groupIdstring^[ -;=\?-Z\^-z\|~]{0,50}$

Required to be printed on the receipt.

wager.​drawStartDatestring(date-time)

The date and time of the first draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​drawEndDatestring(date-time)

The date and time of the last draw covered by this wager. The format shall be as defined for date-time in RFC 3339 section 5.6.

wager.​revisionstring^[ -;=\?-Z\^-z\|~]{0,50}$

The current revision version of the game rules. The revision is retrieved from the game provider.

paymentMethodsArray of objects(PaymentMethod)

An array of payment methods to be used as payment for the transaction. This is used if payment is not tendered at the point of sale, but is effected through one or more calls to third party payment providers as part of the request. A PaymentMethod differs from a Tender in that the former represents payment that still needs to be collected from a third party, whereas the latter represents payment that has already been collected at the point of sale.

Response
application/json
{ "transactionLabels": [ {} ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": {}, "terminalId": "stringst", "merchant": {}, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ {} ], "slipData": { "messageLines": [], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": {}, "approvedAmount": {}, "feeAmount": {}, "balanceAmount": {}, "additionalAmounts": {} }, "wager": { "drawId": "string", "duration": 0, "gameName": "LOTTO", "barcode": "string", "serialNumber": "string", "securityCode": "string", "boards": [], "groupMemberId": "string", "groupId": "string", "drawStartDate": "2019-08-24T14:15:22Z", "drawEndDate": "2019-08-24T14:15:22Z", "revision": "string" }, "paymentMethods": [ {} ] }

confirmWager

Request

Confirm a wager request that completed successfully.

Security
httpBasic or oauth2
Path
requestIdstringrequired

The UUID generated for the original wager creation request.

confirmationIdstringrequired

The randomly generated UUID of this request.

Bodyapplication/jsonrequired

A wager confirmation.

idstringrequired

The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122

requestIdstringrequired

The UUID identifying the request that this advice relates to

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

The unaltered thirdPartyIdentifiers array as supplied in the related BasicResponse message. Required if thirdPartyIdentifiers field was present in the BasicResponse. If no thirdPartyIdentifiers was received in the BasicResponse or no BasicResponse was received then this should be set to the thirdPartyIdentifiers sent in the original request.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

tendersArray of objects(Tender)required

An array of tenders used to pay for the transaction

tenders[].​accountTypestring

The type of account

Enum"DEFAULT""SAVINGS""CHEQUE""CREDIT""UNIVERSAL""ELECTRONIC_PURSE""STORED_VALUE"
tenders[].​amountobject(LedgerAmount)required

An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT

tenders[].​amount.​amountinteger(int64)required

Amount in minor denomination, e.g. R799.95 is encoded as 79995

tenders[].​amount.​currencystring[0-9]{3}required

Three digit currency number from ISO 4217, e.g. South African Rand is encoded as 710

tenders[].​amount.​ledgerIndicatorstring

Indicates whether this amount is a debit or a credit. Only required when the amount can be either a debit or a credit

Enum"DEBIT""CREDIT"
tenders[].​cardNumberstring[0-9]{6}[0-9*]{0,13}

A PCI compliant masked card number, with at least the first 6 digits in the clear. Only applicable to card based transactions

tenders[].​referencestring[ 0 .. 40 ] characters

A free text reference

tenders[].​tenderTypestringrequired

The type of tender used

Enum"CASH""CHEQUE""CREDIT_CARD""DEBIT_CARD""WALLET""ROUNDING""GIFT_CARD""LOYALTY_CARD""OTHER""REWARD"
Failed to generate code sample.

Responses

Accepted

Bodyapplication/json
idstringrequired

The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122

requestIdstringrequired

The UUID identifying the request that this advice relates to

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

The unaltered thirdPartyIdentifiers array as supplied in the related BasicResponse message. Required if thirdPartyIdentifiers field was present in the BasicResponse. If no thirdPartyIdentifiers was received in the BasicResponse or no BasicResponse was received then this should be set to the thirdPartyIdentifiers sent in the original request.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

Response
application/json
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ {} ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": {}, "approvedAmount": {}, "feeAmount": {}, "balanceAmount": {}, "additionalAmounts": {} } }

reverseWager

Request

Reverse a wager creation request that failed or timed out.

Security
httpBasic or oauth2
Path
requestIdstringrequired

The UUID generated for the original wager creation request.

reversalIdstringrequired

The randomly generated UUID of this request.

Bodyapplication/jsonrequired

A wager reversal.

idstringrequired

The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122

requestIdstringrequired

The UUID identifying the request that this advice relates to

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

The unaltered thirdPartyIdentifiers array as supplied in the related BasicResponse message. Required if thirdPartyIdentifiers field was present in the BasicResponse. If no thirdPartyIdentifiers was received in the BasicResponse or no BasicResponse was received then this should be set to the thirdPartyIdentifiers sent in the original request.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

reversalReasonstringrequired

The reason for the reversal

Enum"TIMEOUT""CANCELLED""RESPONSE_NOT_FINAL""REFUND""VOID"
Failed to generate code sample.

Responses

Accepted

Bodyapplication/json
idstringrequired

The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122

requestIdstringrequired

The UUID identifying the request that this advice relates to

timestring(date-time)required

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

thirdPartyIdentifiersArray of objects(ThirdPartyIdentifier)required

The unaltered thirdPartyIdentifiers array as supplied in the related BasicResponse message. Required if thirdPartyIdentifiers field was present in the BasicResponse. If no thirdPartyIdentifiers was received in the BasicResponse or no BasicResponse was received then this should be set to the thirdPartyIdentifiers sent in the original request.

thirdPartyIdentifiers[].​institutionIdstringrequired

The entity's institution ID.

thirdPartyIdentifiers[].​transactionIdentifierstringrequired

The identifier assigned to this transaction by the institution represented in institutionId. This value should be unique within the institution's system.

stanstring

The System Trace Audit Number can be used to locate transactions across different systems.

rrnstring

This is a reference set by the original source of the transaction.

amountsobject(Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

Response
application/json
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ {} ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": {}, "approvedAmount": {}, "feeAmount": {}, "balanceAmount": {}, "additionalAmounts": {} } }