AdvantPlay Seamless Wallet API Integration Document


Confidential

DATE

16-Dec-2024

VERSION

3.4.3

PAGE

54


Revision history

DATE

AUTHOR

VER

CHANGES

24-Nov-2022

James

3.0.1

2.6 Fixed CPSettle description

24-Nov-2022

James

3.0.2

4.2 Currency list, Added Supported Currencies

16-Jan-2023

Wade

3.1.0

2.6 Add CPType and Balance 2 parameters to the

CPSettle API


17-May-2023


Wade


3.2.0

  1. Change BrandCode, CPType to a non-required field

  2. Change BrandCode to a non-required field

  3. Add GetIconSizes API

  4. Add GetGameList API

05-Jun-2023

Danny

3.2.1

Add Error Code 5114 and 5115


08-Aug-2023


Wade


3.3.0

  1. Added /LaunchLobby API

  2. Added more support languages

  3. Added more support currencies

05-Oct-2023

Wade

3.3.1

  1. GetBatchHistory support promo type

25-Oct-2023

Wade

3.3.2

  1. GetTransSummary support promo type


20-Dec-2023


Wade


3.4.0

  1. Add /GetLaunchDomain API

  2. Add /GetLaunchURL API

  3. Add /CreatePlayer API


13-May-2024


Wade


3.4.1

  1. Add note: The operator must include Ap-Hash in the header when sending a request to AdvantPlay

  2. Add note: The operator needs to apply to AdvantPlay for the addition of BrandCode/SiteCode.

  3. Add support for the following languages: ru-RU

(Russian), tr-TR (Turkish), bn-BD (Bengali)

20-Aug-2024

Wade

3.4.2

  1. Support new currencies: AOA, LSL, LZS, MWK, MZN,

NAD, SZL, TZS

16-Dec-2024

Wade

3.4.3

  1. Support new currencies: AMD, AZN, CZK, GEL, HRK,

HUF, ISK, KWD, KZT, PGK, RWF, SAR, UAH, UGX, UYU, UZS

TABLE OF CONTENTS

  1. API Description 7

  2. API Provided by Operator 9

    1. GetPlayerInfo 9

      1. Request URL 9

      2. Request Example 9

      3. Request Body Parameters 9

      4. Response Example 9

      5. Error Response Example 10

      6. Response Body Parameters 10

    2. PlaceBet 12

      1. Request URL 12

      2. Request Example 12

      3. Request Body Parameters 12

      4. Response Example 13

      5. Error Response Example 13

      6. Response Body Parameters 13

    3. RefundBet 14

      1. Request URL 14

      2. Request Example 14

      3. Request Body Parameters 14

      4. Response Example 15

      5. Error Response Example 15

      6. Response Body Parameters 15

    4. Settle 16

      1. Request URL 16

      2. Request Example 16

      3. Request Body Parameters 16

      4. Response Example 17

      5. Error Response Example 17

      6. Response Body Parameters 17

    5. JPSettle 18

      1. Request URL 18

      2. Request Example 18

      3. Request Body Parameters 18

      4. Response Example 18

      5. Error Response Example 19

      6. Response Body Parameters 19

    6. CPSettle (Campaign Settle) 20

      1. Request URL 20

      2. Request Example 20

      3. Request Body Parameters 20

      4. Response Example 21

      5. Error Response Example 21

      6. Response Body Parameters 21

    7. GetBalance 22

      1. Request URL 22

      2. Request Response 22

      3. Request Body Parameters 22

      4. Response Example 22

      5. Error Response Example 23

      6. Response Body Parameters 23

  3. AdvantPlay API 24

    1. LaunchGame 24

      1. Request URL 24

      2. Request URL Query Parameters 24

      3. JackPot Additional Notes 25

    2. GameDetail 26

      1. Request URL 26

      2. Request URL Query Parameters 26

    3. GetPlayerToken 27

      1. Request URL 27

      2. Request Example 27

      3. Request Body Parameters 27

      4. Response Example 27

      5. Error Response Example 28

      6. Response Body Parameters 28

    4. CheckTicketStatus 29

      1. Request URL 29

      2. Request Example 29

      3. Request Body Parameters 29

      4. Response Example 29

      5. Error Response Example 30

      6. Response Body Parameters 30

    5. GetBatchHistory 31

      1. Request URL 31

      2. Request Example 31

      3. Request Body Parameters 31

      4. Response Example - Cash 32

      5. Response Example - Promo 32

      6. Error Response Example 34

      7. Response Body Parameters 34

    6. GetTransSummary 36

      1. Request URL 36

      2. Request Example 36

      3. Request Body Parameters 36

      4. Response Example - Cash 36

      5. Response Example - Promo 37

      6. Error Response Example 38

      7. Response Body Parameters 38

    7. GetIconSizes 39

      1. Request URL 39

      2. Request URL Query Parameters 39

      3. Response Example 39

    8. GetGameList 40

      1. Request URL 40

      2. Request Example 40

      3. Request Body Parameters 40

      4. Response Example 40

      5. Error Response Example 42

      6. Response Body Parameters 43

    9. LaunchLobby 44

      1. Request URL 44

      2. Request URL Query Parameters 44

    10. GetLaunchDomain 45

      1. Request URL 45

      2. Request URL Query Parameters 45

      3. Response Example 45

      4. Response Body Parameters 45

    11. GetLaunchURL 46

      1. Request URL 46

      2. Request Example 46

      3. Request Body Parameters 46

      4. Response Example 47

      5. Error Response Example 47

      6. Response Body Parameters 47

    12. CreatePlayer 48

      1. Request URL 48

      2. Request Example 48

      3. Request Body Parameters 48

      4. Response Example 49

      5. Error Response Example 49

      6. Response Body Parameters 49

  4. Appendix 50

    1. Language list 50

    2. Currency list 50

    3. Error list 52

    4. Campaign type list 53

    5. API Sequence 54

  1. API Description


    Notice

    API Security


    Before starting the integration, we will provide the operator with a SecretKey (20 characters), for example: Ny9R4kn7JHcBY4HPq6cx. This key will enhance the security of API requests.


    When either AdvantPlay or the operator sends an API request, it is mandatory to include "Ap-Hash" in the HTTP header. This hash is generated through MD5 calculation to produce a 32-bit hexadecimal lowercase string.


    Formula: Ap-Hash=md5(SecretKey+RequestBody)


    When AdvantPlay or the operator receives an API request from the other party, they must first calculate the hash using the aforementioned formula. Then, they need to compare the calculated hash with the "Ap-Hash" sent by the other party. If the comparison results are not the same, the request must be rejected, and an error should be returned.


    The calculation example is as follows: SecretKey: Ny9R4kn7JHcBY4HPq6cx RequestBody<json raw data>:

    {"Timestamp":"2021-05-06T15:31:00.8487741-04:00","Seq":"b9302a0c-413f-11ec-b171-eaf3c94702

    ae","OPToken":"XHP1OeG4pppbChy","SiteCode":"aaaa","GameCode":"10001","GameRoundId":"33p 6uWLkqQSgnY","Stake":10,"BetTime":"2021-05-06T15:31:00.978985-04:00","IsPromo":false,"Ip":""}

    ConcatenateString:

    Ny9R4kn7JHcBY4HPq6cx{"Timestamp":"2021-05-06T15:31:00.8487741-04:00","Seq":"b9302a0c-413

    f-11ec-b171-eaf3c94702ae","OPToken":"XHP1OeG4pppbChy","SiteCode":"aaaa","GameCode":"1000 1","GameRoundId":"33p6uWLkqQSgnY","Stake":10,"BetTime":"2021-05-06T15:31:00.978985-04:00"

    ,"IsPromo":false,"Ip":""}


    Calculate Hash: md5 (ConcatenateString) = 90125b8e355db614c0c40cf918fd2e76

    Refer to Tool URL

    1. API Body parameters only accept JSON format

    2. The operator needs to apply to AdvantPlay for the addition of BrandCode/SiteCode


    https://www.md5hashgenerator.com/


    API Example

    PlaceBet

    curl -X POST 'https://{OperatorDomain}/PlaceBet' \

    --header 'Ap-Hash: 90125b8e355db614c0c40cf918fd2e76' \

    --header 'Content-Type: application/json' \

    --data

    '{"Timestamp":"2021-05-06T15:31:00.8487741-04:00","Seq":"b9302a0c-413f-11ec-b171-eaf3c94702

    ae","OPToken":"XHP1OeG4pppbChy","SiteCode":"aaaa","GameCode":"10001","GameRoundId":"33p 6uWLkqQSgnY","Stake":10,"BetTime":"2021-05-06T15:31:00.978985-04:00","IsPromo":false,"Ip":""}'

  2. API Provided by Operator

    1. GetPlayerInfo

      Operator provides this API to AdvantPlay to get player’s information.


      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/GetPlayerInfo


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "OPToken": "XHP1OeG4pppbChy",

        "BrandCode": "default", "SiteCode": "default", "GameCode": "10001"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:0

        0.848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec

        -b171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        OPToken

        string

        100

        XHP1OeG4pppbChy

        Yes

        Player’s token generated by

        operator

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "",

        "OPToken": "XHP1OeG4pppbChy", "BrandCode": "default",


"SiteCode": "default", "PlayerId": "30683153",

"PlayerName": "qatest", "PlayerCountry": "USA", "Currency": "USD", "Balance": 5688.0342,

"TestAccount": 1

}


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "OPToken": "",

        "BrandCode": "",

        "SiteCode": "",

        "PlayerId": "",

        "PlayerName": "",

        "PlayerCountry": "",

        "Currency": "", "Balance": 0,

        "TestAccount": 1

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:

        00.848741+08:00

        Yes

        ISO 8601 date format (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11

        ec-b171-eaf3c947 02ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List

        in Appendix)

        ErrorDescripti

        on

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        OPToken

        string

        100

        XHP1OeG4pppbCh

        y

        Yes

        Player Token generated by operator

        BrandCode

        string

        50

        default

        Yes

        Same as request BrandCode

        SiteCode

        string

        20

        default

        Yes

        Same as request SiteCode

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        (Allow English letters and numbers, case sensitive, 50 characters at maximum)


        PlayerName

        string

        100

        qatest

        Yes

        Operator PlayerName for

        display

        PlayerCountry

        string

        20

        USA

        No

        Operator Player Country

        Currency

        string

        10

        USD

        Yes

        Player’s Currency

        Balance

        decimal

        12,4

        5688.0342

        Yes

        Operator Player Balance

        TestAccount

        int


        1

        No

        1: test account; other value will

        be taken as real player account

    1. PlaceBet

      Notify operator player has placed bet, need to deduct money from wallet.


      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/PlaceBet


      2. Request Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "OPToken": "XHP1OeG4pppbChy",

        "BrandCode": "default", "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "33p6uWLkqQSgnY", "Stake": 100,

        "BetTime": "2021-05-06T15:31:00.978985+08:00", "PlayerId": "30683153",

        "Ip": "61.220.179.166",

        "Type": "Cash"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00

        .848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-

        b171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        OPToken

        string

        100

        XHP1OeG4pppbChy

        Yes

        Player Token generated by

        operator

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        GameRoundId

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        Stake

        decimal

        12,4

        100.0000

        Yes

        Player’s stake (only accept positive value)

        If the Note.Feature is RS/CDMA/CDMY/BW/FS/FB,

        the Stake is 0


        BetTime

        string

        50

        2021-05-06T15:31:00

        .978985+08:00

        Yes

        AdvantPlay bet time

        ISO 8601 date format

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        Ip

        string

        50

        61.220.179.166

        No

        Player IP [IPv4]

        Type

        string

        50

        Cash

        Yes

        Wallet type


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "OPTransId": "33p6uWLkqQSgnY", "Balance": 5588.0342

        }


      1. Error Response Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "OPTransId": "33p6uWLkqQSgnY", "Balance": 0

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:

        00.848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11

        ec-b171-eaf3c9470 2ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List

        in Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        OPTransId

        string

        50

        33p6uWLkqQSgnY

        Yes

        Operator Transaction ID

        Transaction ID from operator side

        Balance

        decimal

        12,4

        5688.0342

        Yes

        The latest value of player’s wallet

        Stake has been deducted

    1. RefundBet

      This API is used to refund to player’s wallet, and will be triggered when below situations occur:

      • PlaceBet API responds with success but there’s an internal error on AdvantPlay.

      • PlaceBet API responds with error.


      When API responds with error, or does not get response over 10 seconds reponse, there will be a retry after 30 seconds. There will be 5 retries at maximum.


      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/RefundBet


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "33p6uWLkqQSgnY", "PlayerId": "30683153",

        "TotalStake": 20.06

        }


      1. Request Body Parameters


        Name

        Type

        Lengt h

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:0

        0.848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec

        -b171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlays game ID

        GameRoundId

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        (Allow English letters and numbers, case sensitive, 50 characters at maximum)

        TotalStake

        decimal

        12,4

        20.0600

        Yes

        Total stake placed


      2. Response Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "Balance": 5568.0042

        }


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Balance": 0

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:0

        0.848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec

        -b171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List

        in Appendix)

        ErrorDescrip

        tion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Balance

        decimal

        12,4

        5668.0042

        No

        Latest value of player’s wallet


    1. Settle

      This API is used to settle the game result and dispatch the winnings to players.


      When API responds with error, or does not get response over 10 seconds reponse, there will be a retry after 30 seconds. There will be 5 retries at maximum.


      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/Settle


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "33p6uWLkqQSgnY", "PlayerId": "30683153",

        "TotalStake": 100,

        "TotalWin": 20,

        "SettleTime": "2021-05-06T15:31:00.848741+08:00",

        "HitJackpot": 0, "Type": "Cash"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        GameRoundId

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        it’s a unique number id.

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        TotalStake

        decimal

        12,4

        20.0600

        Yes

        Total stake placed.

        If the Note.Feature is







        RS/CDMA/CDMY/BW/FS/FB,

        the TotalStake is 0

        TotalWin

        decimal

        12,4

        5.0200

        Yes

        Total win value

        (JPWin is not included)

        SettleTime

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        The date and time the bet settled

        ISO 8601 date format

        HitJackpot

        int

        1

        1

        Yes

        1: won Jackpot;

        0: did not win Jackpot

        Type

        string

        50

        Cash

        Yes

        Wallet type


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "Balance": 5573.0242

        }


      1. Error Response Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Balance": 0

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List

        in Appendix)

        ErrorDescripti

        on

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Balance

        decimal

        12,4

        5668.0042

        No

        Latest value of player’s wallet


    1. JPSettle

      This API is used to settle after Progressive Jackpot (JP for short) is won and dispatch the winnings to players.


      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/JPSettle


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default",

        "GameRoundId": "422TghNr90wGKiZk", "PlayerId": "30683153",

        "JPWin": 10.0500,

        "JPSettleTime": "2021-05-06T15:31:00.848741+08:00"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameRoundId

        string

        20

        422TghNr90wGKiZk

        Yes

        AdvantPlay TicketNo/GameNo

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        JPWin

        decimal

        12,4

        10.0500

        Yes

        Jackpot Win

        JPSettleTime

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        No

        Jackpot settle date and time

        ISO 8601 date format


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,


"ErrorDescription": "", "Balance": 5583.0742

}


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Balance": 0

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00

        .848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-

        b171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List in

        Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Balance

        decimal

        12,4

        5583.0742

        No

        Latest value of player’s wallet


    1. CPSettle (Campaign Settle)

      This API is used to settle after Campaign (CP for short) is won and dispatch the winnings to players.


      Campaign’s win amount transfer to real wallet.

      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/CPSettle


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "PlayerId": "30683153", "CPId": "CP3aBc",

        "CPType": "BW",

        "CPTransId": "2022032213194256",

        "CPWin": 10.0125

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        PlayerId

        string

        20

        30683153

        Yes

        Operator Player ID

        CPId

        string

        50

        CP3aBc

        Yes

        AdvantPlay Campaign ID

        CPType

        string

        20

        BW

        No

        AdvantPlay Campaign Type (See Campaign Type List in Appendix)

        Default is BW

        CPTransId

        string

        50

        2022032213194256

        Yes

        AdvantPlay Campaign

        Transaction ID

        CPWin

        decimal

        12,4

        10.0125

        Yes

        Player Campaign Win


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "Balance": 5573.0242

        }


      1. Error Response Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5100,

        "ErrorDescription": "APIError"

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00

        .848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-

        b171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List in

        Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Balance

        decimal

        12,4

        5573.0242

        No

        Player’s wallet balance


    1. GetBalance

      Get the balance of player’s wallet

      1. Request URL

        • MethodPOST

        • URL{OperatorDomain}/GetBalance


      2. Request Response


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "OPToken": "XHP1OeG4pppbChy",

        "BrandCode": "default", "SiteCode": "default", "PlayerId": "30683153"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        OPToken

        string

        100

        XHP1OeG4pppbChy

        Yes

        Player’s token generated by

        operator

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        PlayerId

        string

        50

        30683153

        No

        Operator Player ID


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "Balance": 5688.0242

        }


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Balance": 0

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        A unique UUID for every API

        call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code

        List in Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Balance

        decimal

        12,4

        5688.0242

        Yes

        Player’s wallet balance

  1. AdvantPlay API

    1. LaunchGame

      To launch AdvantPlay game. If there is an error, AdvantPlay will display a simple HTML error page.


      1. Request URL

        • MethodGET

        • URL

          {AdvantPlayWebDomain}/LaunchGame?Token=b8e98971-413f-11ec-b171-eaf3c94702ae&Brand Code=default&SiteCode=default&GameCode=10001&LangCode=en-US&MinBet=1&MaxBet=100 00&DefaultBet=1


      2. Request URL Query Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Token

        string

        50

        b8e98971-413f-11ec-

        b171-eaf3c94702ae

        Yes

        Player Token generated by

        operator

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        LangCode

        string

        20

        en-US

        No

        Please see the language list in

        Appendix

        BackUrl

        string

        50


        No

        The url to get back to operator after the game ends

        (Please use UrlEncode for encoding to avoid unexpected errors in subsequent

        parameters)

        MinBet

        decimal

        12,4

        1.0000

        No

        default=0

        MaxBet

        decimal

        12,4

        10000.0000

        No

        default=0

        DefaultBet

        decimal

        12,4

        1.0000

        No

        default=0


      3. JackPot Additional Notes


        • You can call the version without the JackPot game directly if you do not participate in the AdvantPlay JackPot game.


          With JackPot GameCode

          Without JackPot GameCode

          Game Name

          10003

          19001

          Divine Tree

          10004

          19002

          3 Warloads

          10007

          19003

          Luck Dragon


    2. GameDetail

      Used to display the settlement result within the last three months of a game round of the player. If an error occurs, the AdvantPlay will display an error page.


      Need to call GetPlayerToken API first to get the one-time Token of AdvantPlay.


      1. Request URL

        • MethodGET

        • URL

          {AdvantPlayWebDomain}/GameDetail?Token=353phgw125t6w0kw9dtx&BrandCode=default&Sit eCode=default&GameCode=10001&GameRoundId=33p6uWLkqQSgnY&LangCode=en-US


      2. Request URL Query Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Token

        string

        50

        353phgw125t6w0kw 9dtx

        Yes

        AdvantPlay PlayerToken

        Need to call GetPlayerToken first

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        GameRoundId

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        LangCode

        string

        20

        en-US

        No

        Please see the language list in

        Appendix


    3. GetPlayerToken

      Use this API to get Token from AdvantPlay.

      It is a one-time token.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/GetPlayerToken


      2. Request Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "PlayerId": "30683153"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-11-16T16:34:21.

        567043+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b 171-eaf3c94702ae

        Yes

        Operator UUID

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID


      2. Response Example


        {

        "Timestamp": "2021-11-16T16:06:39.459682+08:00",

        "Seq": "207a0ec4-46b4-11ec-ab5c-8c8caa234419", "ErrorCode": 0,

        "ErrorDescription": "",

        "Token": "353phgw125t6w0kw9dtx"

        }


      1. Error Response Example


        {

        "Timestamp": "2021-11-16T16:06:39.459682+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5114,

        "ErrorDescription": "payload error", "Token": ""

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        32

        2021-11-16T16:06:39.

        459682+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b 171-eaf3c94702ae

        Yes

        Operator UUID

        ErrorCode

        int


        0

        Yes

        Error Code

        (See Error Code List in Appendix)

        ErrorDescript ion

        string

        100


        Yes

        Description of the error (See Error Code List in

        Appendix)

        Token

        string

        20

        353phgw125t6w0kw9d tx

        Yes

        AdvantPlay Player Token


    1. CheckTicketStatus

      The purpose of this API is to obtain ticket status from AdvantPlay when requested.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/CheckTicketStatus


      2. Request Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "33p6uWLkqQSgnY", "PlayerId": "30683153"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.8

        48741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        Operator UUID

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        GameCode

        string

        20

        10001

        No

        AdvantPlay game ID

        GameRoundId

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        PlayerId

        string

        50

        30683153

        No

        Operator Player ID


      2. Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "StatusCode": "Settled", "TotalWin": 20.5,

        "TotalStake": 100,

        "SettleTime": "2021-05-06T15:31:00.848741+08:00"


}


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "StatusCode": "",

        "TotalWin": 0,

        "TotalStake": 0, "SettleTime": ""

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        Operator UUID

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code

        List in Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        StatusCode

        string

        30

        Settled

        Yes

        AdvantPlay Ticket Status

        (RunningSettledRefund)

        TotalWin

        decimal

        12,4

        20.5000

        Yes

        Total win amount

        TotalStake

        decimal

        12,4

        100.0000

        Yes

        Total stake placed

        SettleTime

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        No

        ISO 8601 date format


    1. GetBatchHistory

      The purpose of this API is to obtain batch game records from AdvantPlay.

      Access to game records within 90 days only.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/GetBatchHistory


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default",

        "DateFrom": "2021-05-06T15:31:00.848741+08:00", "DateTo": "2021-05-30T17:46:00.894226+08:00",

        "Page": 1,

        "PageSize": 2

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b

        171-eaf3c94702ae

        Yes

        Operator UUID

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default") To get all sites, please fill in "*".

        DateFrom

        string

        50

        2021-05-06T15:31:00.

        848741+08:00

        Yes

        ISO 8601 date format

        >= DateFrom

        DateTo

        string

        50

        2021-05-30T17:46:00.

        894226+08:00

        Yes

        ISO 8601 date format

        < DateTo

        Page

        int


        1

        No

        Page number

        (If you don't want pagination, fill in 0)

        PageSize

        int


        2

        No

        Number of records per page

        (If you don't want pagination, fill in 0)

        WalletType

        string

        20

        "Cash" or "Promo"

        No

        Wallet type

        (The default value is "Cash")


      2. Response Example - Cash

        {

        "Timestamp": "2023-10-05T11:35:56.379488Z", "Seq": "59305db5-6373-11ee-9111-080027cc67c0",

        "ErrorCode": 0, "ErrorDescription": "", "Info": {

        "Page": 1,

        "PageSize": 2,

        "Records": 6

        },

        "Results": [

        {

        "BrandCode": "default", "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "8L4MqwShrxxYr1", "PlayerId": "30683153",

        "Currency": "USD", "StatusCode": "Settled",

        "BetTime": "2023-10-04T01:38:34.000000Z", "SettleTime": "2023-10-04T01:38:34.000000Z",

        "TotalStake": 0,

        "TotalWin": 0, "WalletType": "Cash"

        },

        {

        "BrandCode": "default", "SiteCode": "default", "GameCode": "10001",

        "GameRoundId": "8L52WqVSjhr5Ep", "PlayerId": "30683153",

        "Currency": "USD", "StatusCode": "Settled",

        "BetTime": "2023-10-04T01:54:12.000000Z", "SettleTime": "2023-10-04T01:54:12.000000Z",

        "TotalStake": 0,

        "TotalWin": 0, "WalletType": "Cash"

        }

        ]

        }


      3. Response Example - Promo


        {

        "Timestamp": "2023-10-05T11:35:56.379488Z",


"Seq": "59305db5-6373-11ee-9111-080027cc67c0",

"ErrorCode": 0, "ErrorDescription": "", "Info": {

"Page": 1,

"PageSize": 2,

"Records": 6

},

"Results": [

{

"BrandCode": "default", "SiteCode": "default", "GameCode": "10001",

"GameRoundId": "8L4MqwShrxxYr1", "PlayerId": "30683153",

"Currency": "USD", "StatusCode": "Settled",

"BetTime": "2023-10-04T01:38:34.000000Z", "SettleTime": "2023-10-04T01:38:34.000000Z",

"TotalStake": 0,

"TotalWin": 0, "WalletType": "Promo", "PromoDetails": {

"CPType": "BW",

"CPId": "CP_8KqK6pTGgHHFNB", "CPSpin": {

"Stake": 10,

"Win": 27.5

},

"ReferenceId": null

}

},

{

"BrandCode": "default", "SiteCode": "default", "GameCode": "10001",

"GameRoundId": "8L52WqVSjhr5Ep", "PlayerId": "30683153",

"Currency": "USD", "StatusCode": "Settled",

"BetTime": "2023-10-04T01:54:12.000000Z", "SettleTime": "2023-10-04T01:54:12.000000Z",

"TotalStake": 0,

"TotalWin": 0, "WalletType": "Promo", "PromoDetails": {

"CPType": "BW",

"CPId": "CP_8KqK6pTGgHHFNB",


"CPSpin": {

"Stake": 10,

"Win": 0

},

"ReferenceId": null

}

}

]

}


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Results": []

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Require

        d

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.8

        48741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b1

        71-eaf3c94702ae

        Yes

        Operator UUID

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List in

        Appendix)

        ErrorDescript

        ion

        string

        100


        Yes

        Description of the error (See Error

        Code List in Appendix)

        Info

        Object



        Yes

        Query information

        Page

        int


        1

        Yes

        Page number

        PageSize

        int


        20

        Yes

        Number of records per page

        Records

        int


        999

        Yes

        The total number of data records in

        the specified time range.

        Results

        array



        Yes

        Result data array

        BrandCode

        string

        50

        default

        Yes

        Same as request BrandCode

        SiteCode

        string

        20

        default

        Yes

        Same as request SiteCode

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        GameRoundI

        d

        string

        20

        33p6uWLkqQSgnY

        Yes

        AdvantPlay TicketNo/GameNo

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        Currency

        string

        20

        USD

        Yes

        AdvantPlay Player Currency Code

        StatusCode

        string

        30

        Settled

        Yes

        AdvantPlay Ticket Status







        (RunningSettledRefund)

        BetTime

        string

        50

        2021-05-06T15:36:00.1

        23456+08:00

        No

        ISO 8601 date

        Date and time a bet is placed

        SettleTime

        string

        50

        2021-05-06T15:36:00.1

        23456+08:00

        No

        ISO 8601 date format

        Date and time a bet is settled

        TotalStake

        decimal

        12,4

        20.5

        Yes

        Total stake placed

        TotalWin

        decimal

        12,4

        100

        Yes

        Total win amount

        WalletType

        string

        20

        Promo

        Yes

        Wallet type

        PromoDetails

        object



        No

        Promo wallet only

        CPType



        BW


        AdvantPlay Campaign Type (See

        Campaign Type List in Appendix)

        CPId



        CP_8KqK6pTGgHHFNB


        AdvantPlay Campaign ID

        CPSpin

        object



        No

        Promo spin

        Stake

        decimal

        12,4

        20.5

        No

        Promo bet

        Win

        decimal

        12,4

        100

        No

        Promo win

        ReferenceId

        string

        100

        33p6uWLkqQSgnY


        AdvantPlay TicketNo/GameNo for triggering CashDrop (CD), only show valid value when

        CPType=CDMA/CDMY


    1. GetTransSummary

      The purpose of this API is to obtain a summary of settled tickets grouped by SiteCode and Currency within a specified time period from AdvantPlay.

      Access to game records within 90 days only.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/GetTransSummary


      2. Request Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default",

        "DateFrom": "2021-05-06T15:31:00.848741+08:00", "DateTo": "2021-05-30T17:46:00.894226+08:00"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.8487

        41+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b171-

        eaf3c94702ae

        Yes

        Operator UUID

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default") To get all sites, please fill in "*".

        DateFrom

        string

        50

        2021-05-06T15:31:00.8487

        41+08:00

        Yes

        ISO 8601 date format

        >=DateFrom

        DateTo

        string

        50

        2021-05-30T17:46:00.8942

        26+08:00

        Yes

        ISO 8601 date format

        <DateTo

        WalletType

        string

        20

        "Cash" or "Promo"

        No

        Wallet type

        (The default value is "Cash")


      2. Response Example - Cash


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae",


"ErrorCode": 0, "ErrorDescription": "", "Results": [

{

"BrandCode": "default", "SiteCode": "default", "Currency": "IDR", "TicketCount ": 1,

"TotalStake": 20.5,

"TotalWin": 100, "WalletType": "Cash"

},

{

"BrandCode": "default", "SiteCode": "default", "Currency": "USD", "TicketCount ": 1,

"TotalStake": 20,

"TotalWin": 0, "WalletType": "Cash"

}

]

}


      1. Response Example - Promo

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 0,

        "ErrorDescription": "", "Results": [

        {

        "BrandCode": "default", "SiteCode": "default", "Currency": "IDR", "TicketCount ": 1,

        "TotalStake": 20.5,

        "TotalWin": 100, "WalletType": "Promo"

        },

        {

        "BrandCode": "default", "SiteCode": "default", "Currency": "USD", "TicketCount ": 1,

        "TotalStake": 20,

        "TotalWin": 0,


"WalletType": "Promo"

}

]

}


      1. Error Response Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5112,

        "ErrorDescription": "Token is invalid", "Results": []

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00

        .848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-

        b171-eaf3c94702ae

        Yes

        Operator UUID

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code

        List in Appendix)

        ErrorDescriptio

        n

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Results

        array



        Yes

        Result data array

        BrandCode

        string

        50

        default

        Yes

        Same as request BrandCode

        SiteCode

        string

        20

        default

        Yes

        Same as request SiteCode

        Currency

        string

        20

        USD

        Yes

        AdvantPlay Player Currency

        Code

        TicketCount

        int


        12

        Yes


        TotalStake

        decimal

        12,4

        20.5000

        Yes

        Total stake placed

        TotalWin

        decimal

        12,4

        100.0000

        Yes

        Total win amount

        WalletType

        string

        20

        Promo

        Yes

        Wallet type


    1. GetIconSizes

      The purpose of this API is to get a list of icon sizes from AdantPlay and use it in GetGameList (see 3.8).


      1. Request URL

        • MethodGET

        • URL{AdvantPlayAPIDomain}/GetIconSizes


      2. Request URL Query Parameters

        • No parameters required


      3. Response Example


        {

        "Timestamp":"2023-05-08T11:32:37.290540+08:00",

        "Seq":"fa6ac10f-ed50-11ed-a948-00090faa0001", "ErrorCode":0,

        "ErrorDescription":"", "Size":{

        "66x67", "112x112", "150x150", "160x160", "200x200", "220x128", "250x150", "268x200", "268x268", "300x300", "340x220", "492x660", "870x570"

        }

        }


    1. GetGameList

      The purpose of this API is to obtain the list of currently supported games and the specified icon size from AdvantPlay (see 3.7), including the name of each language game and the path of the game icon. For details, see 3.8.4 Response Examples.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/GetGameList

      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "Size": "66x67"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00.8487

        41+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-b171-

        eaf3c94702ae

        Yes

        Operator UUID

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        Size

        string

        20

        66x67

        Yes

        Icon size (see 3.7)


      2. Response Example


        {

        "Timestamp": "2024-01-04T09:21:43.274875+08:00",

        "Seq": "9e9e1ec4-aa9f-11ee-8ce8-da5fc32e941d", "ErrorCode": 0,

        "ErrorDescription": "", "Games": [

        {

        "GameCategory": [ "slot"

        ],


"GameCode": "10041",

"GameTag": "NEW", "IconList": [

{

"Language": "cn",

"Name": "幸福圣礼", "Url": {

"150x150": {

"bkg":

"https://funplay.pypc.net/icon/10041/150x150/icon_10041_150x150_bkg_CN.jpg?17017718 75",

"transparent": "https://funplay.pypc.net/icon/10041/150x150/icon_10041_150x150_transparent_CN.png?1 701771875"

}

}

},

{

"Language": "en",

"Name": "Xmas Gift Delight", "Url": {

"150x150": {

"bkg":

"https://funplay.pypc.net/icon/10041/150x150/icon_10041_150x150_bkg_EN.jpg?17017718 75",

"transparent": "https://funplay.pypc.net/icon/10041/150x150/icon_10041_150x150_transparent_EN.png?1 701771875"

}

}

},

{

"Language": "hi",

"Name": "f समस उपहार आनंद", "Url": {}

},

{

"Language": "id",

"Name": "Kegembiraan Kado Natal", "Url": {}

},

{

"Language": "ja",

"Name": "クリスマスギフトの喜び", "Url": {}

},

{

"Language": "kh",


"Name": "ការរីករាយនឹងអំណោយថ្ងបុណយណូអល", "Url": {}

},

{

"Language": "kr",

"Name": "크리스마스 선물 기쁨",

"Url": {}

},

{

"Language": "my",

"Name": "ခရစ္စမတ်လက်ေဆာင်", "Url": {}

},

{

"Language": "pt",

"Name": "Delícia de Presente de Natal", "Url": {}

},

{

"Language": "th",

"Name": "ความสุขของขวัญคริสต์มาส", "Url": {}

},

{

"Language": "vi",

"Name": "Món quà Giáng sinh Thú v", "Url": {}

}

],

"Id": 1,

"ReleaseDate": "2023-12-05T00:00:00Z"

}

]

}


      1. Error Response Example

        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5102,

        "ErrorDescription": "parameter missing",

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:00

        .848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec-

        b171-eaf3c94702ae

        Yes

        Operator UUID

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code

        List in Appendix)

        ErrorDescriptio

        n

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        Games

        object



        Yes

        Game list object

        GameCode

        string

        10

        10001

        Yes

        Game code

        IconList

        array



        Yes

        Icon list object

        Language

        string

        20

        en

        Yes

        Game language

        Name

        string


        Battle of Heros

        Yes

        Game name

        Url

        object


        see 3.8.4

        Yes

        Game icon link


    1. LaunchLobby

      To launch AdvantPlay lobby. If there is an error, AdvantPlay will display a simple HTML error page.


      1. Request URL

        • MethodGET

        • URL

          {AdvantPlayWebDomain}/Lobby/LaunchLobby?Token=b8e98971-413f-11ec-b171-eaf3c94702ae &BrandCode=default&SiteCode=default&BackLobby=1&LangCode=en-US&MinBet=1&MaxBet=1 0000&DefaultBet=1


      2. Request URL Query Parameters


        Name Type Length Value Example Required Description

        Token

        string

        50

        b8e98971-413f-11ec-

        b171-eaf3c94702ae

        Yes

        Player Token generated by

        operator

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        LangCode

        string

        20

        en-US

        No

        Please see the language list in

        Appendix

        BackLobby

        int


        1

        No

        Redirect to AdvantPlay game lobby after exit the game by the quit button. Set 1 will show,

        otherwise not.

        MinBet

        decimal

        12,4

        1.0000

        No

        default=0

        MaxBet

        decimal

        12,4

        10000.0000

        No

        default=0

        DefaultBet

        decimal

        12,4

        1.0000

        No

        default=0


    2. GetLaunchDomain

      To get AdvantPlay latest launch domain.

      Use the server to obtain the domain to avoid being blocked by the ISP.


      1. Request URL

        • MethodGET

        • URL{AdvantPlayAPIDomain}/GetLaunchDomain


      2. Request URL Query Parameters

        • No parameters required


      3. Response Example

        {

        "Timestamp": "2023-12-20T13:37:22.657307+08:00",

        "Seq": "d967e0fd-9ef9-11ee-b4c2-9edbfc7a998a", "ErrorCode": 0,

        "ErrorDescription": "", "LaunchDomain": "https://aa.bb.cc"

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:3

        1:00.848741+08:

        00

        Yes

        ISO 8601 date format (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-1

        1ec-b171-eaf3c9 4702ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code

        (See Error Code List in Appendix)

        ErrorDescription

        string

        100


        Yes

        Description of the error

        (See Error Code List in Appendix)

        LaunchDomain

        string

        100

        https://aa.bb.cc

        Yes

        The latest launch domain


    1. GetLaunchURL

      To get AdvantPlay launch URL with the latest domain when provide the parameters, and the launch URL will combine those parameters.

      Use the server to obtain the domain to avoid being blocked by the ISP.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/GetLaunchURL


      2. Request Example


        {

        "Timestamp": "2023-12-20T16:50:06.674494+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default",

        "Token": "4hccmy98h019df8p5uz3", "GameCode":"10001"

        }


      1. Request Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:

        00.848741+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11e

        c-b171-eaf3c94702 ae

        Yes

        A unique UUID for every API call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        Token

        string

        50

        4hccmy98h019df 8p5uz3

        Yes

        Player Token generated by operator

        GameCode

        string

        20

        10001

        Yes

        AdvantPlay game ID

        LangCode

        string

        20

        en-US

        No

        Please see the language list in Appendix

        BackUrl

        string

        50


        No

        The URL to get back to operator after the game ends

        (It can not use UrlEncode)

        MinBet

        decimal

        12,4

        10.5

        No

        default=0

        MaxBet

        decimal

        12,4

        10000

        No

        default=0

        DefaultBet

        decimal

        12,4

        1

        No

        default=0

        LaunchLobby

        bool


        false

        No

        If true, will provide a launch lobby URL.


      2. Response Example


        {

        "Timestamp": "2023-12-20T16:50:07.674494+08:00",

        "Seq": "c6b174dc-9f14-11ee-b4c2-9edbfc7a998a", "ErrorCode": 0,

        "ErrorDescription": "",

        "LaunchURL": "https://aa.bb.cc/web/{platform_code}/LaunchGame?. "

        }


      1. Error Response Example


        {

        "Timestamp": "2023-12-20T16:52:46.194261+08:00", "Seq": "252da753-9f15-11ee-8bf5-12772c9e7c69",

        "ErrorCode": 5100, "ErrorDescription": "APIError"

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Required

        Description

        Timestamp

        string

        50

        2021-05-06T15:31:

        00.848741+08:00

        Yes

        ISO 8601 date format (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11

        ec-b171-eaf3c947 02ae

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code (See Error Code List

        in Appendix)

        ErrorDescription

        string

        100


        Yes

        Description of the error (See

        Error Code List in Appendix)

        LaunchURL

        string

        255

        https://aa.bb.cc/

        web/.

        Yes

        Launch Game URL (or Launch Lobby URL)


    1. CreatePlayer

      Used to create AdvantPlay players.


      1. Request URL

        • MethodPOST

        • URL{AdvantPlayAPIDomain}/CreatePlayer


      2. Request Example


        {

        "Timestamp": "2021-05-06T15:31:00.848741+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "BrandCode": "default",

        "SiteCode": "default", "PlayerId": "30683153",

        "PlayerName": "30683153", "PlayerCountry": "USA", "Currency": "USD", "TestAccount": 1

        }


      1. Request Body Parameters


        Name

        Type

        Lengt h

        Value Example

        Requir ed

        Description

        Timestamp

        string

        50

        2021-11-16T16:34:2

        1.567043+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        b9302a0c-413f-11ec- b171-eaf3c94702ae

        Yes

        A unique UUID for every API call

        BrandCode

        string

        50

        default

        No

        Operator brand

        (The default value is "default")

        SiteCode

        string

        20

        default

        Yes

        Operator site

        (The default value is "default")

        PlayerId

        string

        50

        30683153

        Yes

        Operator Player ID

        (Allow in English letters and numbers, case sensitive, 50 characters at maximum)

        PlayerName

        string

        100

        30683153

        Yes

        Operator Player Name for display

        PlayerCountry

        string

        20

        USA

        No

        Operator Player Country

        Currency

        string

        20

        USD

        Yes

        AdvantPlay Player Currency Code

        TestAccount

        int


        1

        No

        1: test ; Others are official account


      2. Response Example


        {

        "Timestamp": "2021-11-16T16:34:21.567043+08:00",

        "Seq": "ff2beaa5-46b7-11ec-ab5c-8c8caa234419", "ErrorCode": 0,

        "ErrorDescription": ""

        }


      1. Error Response Example


        {

        "Timestamp": "2021-11-16T16:34:21.567043+08:00",

        "Seq": "b9302a0c-413f-11ec-b171-eaf3c94702ae", "ErrorCode": 5000,

        "ErrorDescription": "UnspecifiedError"

        }


      1. Response Body Parameters


        Name

        Type

        Length

        Value Example

        Requir

        ed

        Description

        Timestamp

        string

        32

        2021-11-16T16:34:2

        1.567043+08:00

        Yes

        ISO 8601 date format

        (microsecond precision)

        Seq

        string

        50

        ff2beaa5-46b7-11ec- ab5c-8c8caa234419

        Yes

        A unique UUID for every API call

        ErrorCode

        int


        0

        Yes

        Error Code

        (See Error Code List in Appendix)

        ErrorDescriptio n

        string

        100


        Yes

        Description of the error

        (See Error Code List in Appendix)

  1. Appendix

    1. Language list


      Supported Language List

      Code

      Description

      en-US

      English

      zh-CN

      Chinese

      id-ID

      Indonesian

      th-TH

      Thai

      vi-VN

      Vietnamese

      ko-KR

      Korean

      pt-PT

      Portuguese

      my-MM

      Burmese

      km-KH

      Khmer

      ja-JP

      Japanese

      hi-IN

      Indian

      ru-RU

      Russian

      tr-TR

      Turkish

      bn-BD

      Bengali


    2. Currency list


      Supported Currency List

      Code

      API

      Amount Ratio

      Game

      Display Ratio

      Description

      COP

      1:1

      1:1000

      Colombian Peso

      IDR

      1:1

      1:1000

      Indonesian currency

      KHR

      1:1

      1:1000

      Cambodian Riel

      LAK

      1:1

      1:1000

      old kip

      MMK

      1:1

      1:1000

      Myanmar Kyat

      UZS

      1:1

      1:1000

      Uzbekistani sum

      VND

      1:1

      1:1000

      Vietnamese Dong

      AED

      1:1

      1:1

      United Arab Emirates Dirham

      AMD

      1:1

      1:1

      Armenian dram

      AOA

      1:1

      1:1

      Angolan Kwanza

      ARS

      1:1

      1:1

      Argentine Peso

      AUD

      1:1

      1:1

      Australian dollar


      AZN

      1:1

      1:1

      Azerbaijani manat

      BDT

      1:1

      1:1

      Bangladeshi taka

      BND

      1:1

      1:1

      Brunei dollar

      BRL

      1:1

      1:1

      Brazilian Real

      CAD

      1:1

      1:1

      Canadian dollar

      CHF

      1:1

      1:1

      Swiss Franc

      CLP

      1:1

      1:1

      Chilean Peso

      CNY

      1:1

      1:1

      Renminbi

      CZK

      1:1

      1:1

      Czech koruna

      EUR

      1:1

      1:1

      Euro

      GBP

      1:1

      1:1

      Pound sterling

      GEL

      1:1

      1:1

      Georgian lari

      GHS

      1:1

      1:1

      Ghanaian Cedi

      HKD

      1:1

      1:1

      Hong Kong dollar

      HRK

      1:1

      1:1

      Croatian kuna

      HUF

      1:1

      1:1

      Hungarian forint

      INR

      1:1

      1:1

      Indian Rupee

      ISK

      1:1

      1:1

      Icelandic króna

      JPY

      1:1

      1:1

      Japanese Yen

      KES

      1:1

      1:1

      Kenyan shilling

      KRW

      1:1

      1:1

      Korean Won

      KWD

      1:1

      1:1

      Kuwaiti dinar

      KZT

      1:1

      1:1

      Kazakhstani tenge

      LSL

      1:1

      1:1

      Basotho Loti

      MWK

      1:1

      1:1

      Malawian Kwacha

      MXN

      1:1

      1:1

      Mexican Peso

      MYR

      1:1

      1:1

      Ringgit Malaysia

      MZN

      1:1

      1:1

      Mozambican Metical

      NAD

      1:1

      1:1

      Namibian Dollar

      NOK

      1:1

      1:1

      Norwegian Krone

      NPR

      1:1

      1:1

      Nepalese Rupee

      NZD

      1:1

      1:1

      New Zealand Dollar

      PGK

      1:1

      1:1

      Papua New Guinean kina

      PKR

      1:1

      1:1

      Pakistan Rupee

      PEN

      1:1

      1:1

      peru sol


      PHP

      1:1

      1:1

      Philippine Peso

      PLN

      1:1

      1:1

      Polish Zloty

      RUB

      1:1

      1:1

      Russian Ruble

      RWF

      1:1

      1:1

      Rwandan franc

      SAR

      1:1

      1:1

      Saudi riyal

      SEK

      1:1

      1:1

      Swedish Krona

      SZL

      1:1

      1:1

      Swazi Lilangeni

      THB

      1:1

      1:1

      Thai Baht

      TRY

      1:1

      1:1

      Turkish lira

      TZS

      1:1

      1:1

      Tanzanian Shilling

      UAH

      1:1

      1:1

      Ukrainian hryvnia

      UGX

      1:1

      1:1

      Ugandan shilling

      USD

      1:1

      1:1

      U.S. dollars

      UYU

      1:1

      1:1

      Uruguayan peso

      ZAR

      1:1

      1:1

      South African Rand

      ZMW

      1:1

      1:1

      Zambian Kwacha

      USDT

      1:1

      1:1

      Tether


    3. Error list


      Error List

      Code

      Description

      API used

      0

      Success

      All API

      5000

      UnspecifiedError

      All API

      5011

      GameNotFound

      LaunchGame GameDetail GetPlayerInfo PlaceBet RefundBet Settle

      5012

      CurrencyNotSupport

      CreatePlayer TransferIn TransferOut

      5050

      Under Maintenance

      LaunchGame PlaceBet

      5060

      DbError

      All API

      5100

      APIError

      All API

      5101

      HashInvalid

      All API

      5102

      MandatoryParamMissing

      All API

      5103

      ParameterIncorrect

      All API


      5110

      LoginFailed

      LaunchGame

      5111

      AuthenticationIncorrect

      LaunchGame

      5112

      TokenInvalid

      LaunchGame GetPlayerInfo GetBalance PlaceBet

      5113

      TokenExpired

      LaunchGame GetPlayerInfo GetBalance PlaceBet

      5114

      DataInvalid

      All API

      5115

      AccessError

      All API

      5121

      DuplicateRequest

      PlaceBet RefundBet

      5201

      IpRestricted

      All API

      5211

      AccountAlreadyExist

      All API

      5212

      AccountNotExist

      GetPlayerToken GetBalance RefundBet Settle

      5213

      AccountLocked

      GetPlayerToken GetBalance RefundBet Settle

      5214

      AccountIsBlacklisted

      GetPlayerInfo PlaceBet

      5311

      PlayerNoPermitted

      LaunchGame PlaceBet

      5312

      StakeIllegal

      PlaceBet

      5321

      PlayerHasInsufficientFunds

      PlaceBet

      5322

      PrizeExceedLimit

      JPSettle


    4. Campaign type list


      Type List

      Code

      Description

      BW

      BonusWallet

      CDMA

      CashDrop Main

      CDMY

      CashDrop Mystery

      RS

      VIP(Reward) System

      FS

      Free Spin

      FB

      Free Bonus


    5. API Sequence