Skip to main content

Batch Send FreeSpin Operator Card

Sends a FREE SPIN Card to specified Players, supporting sending to multiple Players and multiple Games at once
Note: FREE SPIN Card: 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; if not provided, the system will generate it automatically
roundnumberYesNumber of rounds, upper limit is 100
maxWinAmountnumberNoMaximum win amount
itemBetnumberNoOperator Card Bet Amount; can be filled in by referencing the BetList, defaults to the minimum Bet if not provided
multiplenumberNoFree Spin Multiplier; can be set to 1/2/3/5x, defaults to 1x if not provided
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 indicates success
messagestringResponse message
data.successListObject ArrayList of items sent successfully
data.failedListObject ArrayList of items that failed to send
logUUIDstringRequest tracking ID for troubleshooting and log queries
  • Item send list parameter description
FieldTypeDescription
usernamenumberPlayer Account
gameCodestringGame Code
spinIdstringOperator Card Unique Identifier
codenumberResponse code for the item send result
messagestringResponse message for the item send result
itemIdstringSystem Operator Card ID; only generated in the successfully sent item list

Error Response

Error Codes

CodeDescriptionHandling Suggestion
5Game is not foundThe game does not exist, has been taken offline, or does not support the currency; please confirm whether the gameCode is correct
8The User is not existPlayer does not exist; please create the Player first
78Operator card spinId was usedPlease use a different spinId; if you have any questions, contact Customer Support
86Game is restrictedPlease refer to the Game List documentation or ask Customer Support
87Invalid item parameter valuePlease recheck the parameter rules or contact the Customer Support Team
88Only one item can be active at a time in the same gamePlease have the Player re-enter the corresponding game and use the active item before sending again
89The item has not been used yet, or the spinId does not existPlease recheck whether the item has already been used, or whether the item has expired or 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 Matching: If spinId values are provided, their count must match the number of「Player Account」x「Game Code」combinations; otherwise, an error will be triggered
  3. Immediate Effect: Every FREE SPIN Card sent successfully by this API takes effect immediately
  4. Partial Sending: If some items fail to send, it will not cause the entire batch to fail

FAQ

Q1: Does the FREE SPIN Card sent by this API have an expiration time?

A: After sending, if the Player never logs in to the game to use it, the item will be automatically settled 12 hours after it was sent.

Q2: Can the FREE SPIN Card sent by this API be cancelled?

A: Yes, it can be cancelled via the Cancel Operator Card API, but only before the Player enters the game to use it or before it is automatically settled; otherwise, it cannot be cancelled.

Q3: Will the Player be notified after automatic settlement?

A: When the Player logs in to the game, a reward reminder message will be displayed, but the performance animation will not be replayed. If there are multiple settled records, only the most recent settlement record will be shown.

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

A: It will be cancelled, and that Operator Card's spinId cannot be reused afterward; there will be no record of it in the backend or bet history.

Q5: If the Player leaves the game while the FREE SPIN animation is playing, will it be automatically settled?

A: If the Player exits midway and returns to the game, it will continue where it left off; settlement only occurs once all spins have been used.

Q6: What is the interaction logic between the Card's expiration time ("expiredTime") and automatic settlement?

A: Automatic settlement is fixed at 12 hours after sending. Therefore, if the Card's expiration time parameter is set to less than 12 hours, automatic settlement will be triggered first. If the Card's expiration time is set to more than 12 hours after the send time, it will be capped at 12 hours, to avoid an inconsistent experience for the Player.