Skip to main content

Batch Send FreeSpin Operator Card

Send FREE SPIN card to specified Player, supports sending to multiple Players and multiple Games at once
Note: FREE SPIN Cards: Free Spin Card, Multiplier Free Spin Card (cardType 1, 2)

API Information

  • URLPOST /v2/items/usesimplefreespin/batch
  • Authentication:Bearer Token
  • Encryption:Requests are encrypted using AES-256-GCM; responses are returned as plaintext JSON

request

Request Headers

POST /v2/items/use HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
x-agentid: integratorNBTest04
x-timestamp: 1769746894501
x-nonce: 56ffd5ecd8a3a4457863a0bd7c298fb2
x-signature: 904e97bee2589b93e9747eed0346c68b23d8ff8b568dabaf4b94a5e89093df67

Request Parameters

Decrypted Request

{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}

Parameters Before Encryption

{
"usernames": ["alice01", "bob02"],
"gameCodes": ["VP_230001_1", "VP_230002_1"],
"spinIds": [
"spin_alice_g1_0001",
"spin_alice_g2_0002",
"spin_bob_g1_0003",
"spin_bob_g2_0004"
],
"round": 10,
"itemBet": 100,
"multiple": 2,
"maxWinAmount": 5000,
"expiredTime": "2026-04-30T12:00:00.000Z"
}
FieldTypeRequiredDescription
usernamesstring ArrayYesPlayer Account
gameCodesstring ArrayYesGame Code
spinIdsstring ArrayNoOperator Card Unique Identifier, automatically generated by the system if not provided
roundnumberYesNumber of rounds, Upper Limit is 100
maxWinAmountnumberNoMaximum winning amount
itemBetnumberNoOperator Card Bet Amount, can be filled according to BetList. If not filled, the smallest Bet will be used by default.
multiplenumberNoFree Spin Multiplier, can be 1/2/3/5 times. If not filled, 1x will be used by default.
expiredTimestringNoCard expiration time

Response

Success Response

{
"code": 0,
"message": "No error.",
"data": {
"successList": [
{
"username": "alice01",
"gameCode": "VP_230001_1",
"spinId": "spin_alice_g1_0001",
"code": 0,
"message": "No error.",
"itemId": "generated-item-id1"
},
{
"username": "alice01",
"gameCode": "VP_230003_1",
"spinId": "spin_alice_g1_0001",
"code": 0,
"message": "No error.",
"itemId": "generated-item-id2"
}
],
"failedList": [
{
"username": "bob02",
"gameCode": "VP_230001_1",
"spinId": "spin_bob_g2_0004",
"code": 8,
"message": "The User is not exist"
},
{
"username": "bob02",
"gameCode": "VP_230003_1",
"spinId": "spin_bob_g2_0004",
"code": 8,
"message": "The User is not exist"
}
]
},
"logUUID": "c6a85c7b-6108-4c88-95fb-fd79a1bda0a1"
}
FieldTypeDescription
codenumberResponse code, 0 means Success
messagestringResponse message
data.successListObject ArrayItem sent Success list
data.failedListObject ArrayItem sent failed list
logUUIDstringRequest tracking ID for troubleshooting and log queries
  • Item send list parameter Description
FieldTypeDescription
usernamenumberPlayer Account
gameCodestringGame Code
spinIdstringOperator Card Unique Identifier
codenumberItem sending result response code
messagestringItem sending result response message
itemIdstringSystem Operator Card ID, generated only in the Item Success send list

Error Response

Error Codes

CodeDescriptionHandling Suggestion
5Game is not foundGames not found, delisted, or currency not supported, please confirm gameCode is correct
8The User is not existPlayer does not exist, please create Player first
78Operator card spinId was usedPlease change spinId, if you have questions, contact Customer Support
86Game is restrictedPlease refer to the Game List document or inquire Customer Support
87Invalid item parameter valueReconfirm parameter rules or Contact Customer Support Team
88Only one item can be active at a time in the same gamePlayer currently has another card active in the Games that has not been used yet
89The item has not been used yet, or the spinId does not existReconfirm if Item has been used or if Item has expired and does not exist

Error Response Example

Operator Card Parameter Combination Error

{
"code": 11,
"message": "spinIds length must match usernames x gameCodes combinations",
"logUUID": "2b82cfaf-d6ad-48fa-9963-4d91639b9b31"
}

Important Notes

  1. spinId uniqueness: Each spinId must be unique and cannot be reused
  2. spinId completeness: If spinId is provided, it must match the quantity of "Player Account" x "Game Code", otherwise an error will be Triggered
  3. Immediate effect: Every FREE SPIN card sent successfully by this API takes immediate effect
  4. Partial sending: This batch of Items will not fail to send entirely due to some Items failing to send successfully

Common QA

Q1: Does the API sending FREE SPIN have an expiration time?

A: After sending, if Player has not logged into Games to use it, it will automatically Settlement after 12 hours.

Q2: Can the API sending FREE SPIN be cancelled?

A: Yes, it can be cancelled via the Cancel Operator Card API, but it must be done before Player enters Games to use it or before automatic Settlement, otherwise it cannot be cancelled.

Q3: Will the Player be notified after automatic Settlement?

A: When Player logs into Games, a reminder reward message will be displayed, but the animation will not be re-shown. If multiple records are Settlement, only the last Settlement record will be displayed.

Q4: If the expiration time is reached, will the Operator Card automatically Settlement or be cancelled?

A: It will be cancelled, and the Operator Card spinId cannot be reused. There will be no record of this in the backend or bet logs.

Q5: If Player leaves Games during the Games animation, will FREE SPIN automatically Settlement?

A: If Player quits midway and returns to Games, it will continue until completed, and will only Settlement after all uses are finished.

Q6: What is the interaction logic between Card expiration time "expiredTime" and automatic Settlement?

A: Automatic Settlement is fixed to 12 hours later. Therefore, if the Card expiration time parameter is set to less than 12 hours, automatic Settlement will be Triggered first. If the Card expiration time is set to more than 12 hours from the sending time, it will be fixed at 12 hours to avoid Player experience discrepancy.