> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Showcase Transaction Actions

Specification of verify/consume/acquire transaction actions





## Consume Action



### Gs2Showcase:IncrementPurchaseCountByUserId

Increment the number of times a Random Displayed Item has been purchased by specifying the user ID

Increments the purchase count for a specific Random Displayed Item in the Random Showcase for the specified user. Used for tracking purchase limits per rotation period.

**Quantity specification supported: YES**

**Reversible action: YES**

|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128 chars | Namespace name<br>Unique Namespace name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
| showcaseName | string |  | ✓|  |  ~ 128 chars | Random Showcase Name |
| displayItemName | string |  | ✓|  |  ~ 128 chars | Number of Random Displayed Item purchases name<br>The name of the Random Displayed Item whose purchase count is being tracked. Corresponds to the Random Displayed Item name in the Random Showcase. |
| userId | string |  | ✓|  |  ~ 128 chars | User ID<br>Specify `#{userId}` to substitute the currently logged-in user's ID. |
| count | int |  | ✓|  | 0 ~ 100 | Number of purchase times to add |
| timeOffsetToken | string |  | |  |  ~ 1024 chars | Time offset token |




**JSON**
```json
{
    "action": "Gs2Showcase:IncrementPurchaseCountByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "showcaseName": "[string]Random Showcase Name",
        "displayItemName": "[string]Number of Random Displayed Item purchases name",
        "userId": "[string]User ID",
        "count": "[int]Number of purchase times to add",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:IncrementPurchaseCountByUserId
request:
  namespaceName: "[string]Namespace name"
  showcaseName: "[string]Random Showcase Name"
  displayItemName: "[string]Number of Random Displayed Item purchases name"
  userId: "[string]User ID"
  count: "[int]Number of purchase times to add"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("showcase").consume.increment_purchase_count_by_user_id({
    namespaceName="[string]Namespace name",
    showcaseName="[string]Random Showcase Name",
    displayItemName="[string]Number of Random Displayed Item purchases name",
    userId="[string]User ID",
    count="[int]Number of purchase times to add",
    timeOffsetToken="[string]Time offset token",
})
```


---

## Acquire Action



### Gs2Showcase:DecrementPurchaseCountByUserId

Decrement the number of times a Random Displayed Item has been purchased by specifying the user ID

Decrements the purchase count for a specific Random Displayed Item in the Random Showcase. Used to reverse purchases or adjust purchase counters.

**Quantity specification supported: YES**

**Reversible action: YES**

|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128 chars | Namespace name<br>Unique Namespace name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
| showcaseName | string |  | ✓|  |  ~ 128 chars | Random Showcase Name |
| displayItemName | string |  | ✓|  |  ~ 128 chars | Number of Random Displayed Item purchases name<br>The name of the Random Displayed Item whose purchase count is being tracked. Corresponds to the Random Displayed Item name in the Random Showcase. |
| userId | string |  | ✓|  |  ~ 128 chars | User ID<br>Specify `#{userId}` to substitute the currently logged-in user's ID. |
| count | int |  | ✓|  | 0 ~ 100 | Number of purchase times to subtract |
| timeOffsetToken | string |  | |  |  ~ 1024 chars | Time offset token |




**JSON**
```json
{
    "action": "Gs2Showcase:DecrementPurchaseCountByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "showcaseName": "[string]Random Showcase Name",
        "displayItemName": "[string]Number of Random Displayed Item purchases name",
        "userId": "[string]User ID",
        "count": "[int]Number of purchase times to subtract",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:DecrementPurchaseCountByUserId
request:
  namespaceName: "[string]Namespace name"
  showcaseName: "[string]Random Showcase Name"
  displayItemName: "[string]Number of Random Displayed Item purchases name"
  userId: "[string]User ID"
  count: "[int]Number of purchase times to subtract"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("showcase").acquire.decrement_purchase_count_by_user_id({
    namespaceName="[string]Namespace name",
    showcaseName="[string]Random Showcase Name",
    displayItemName="[string]Number of Random Displayed Item purchases name",
    userId="[string]User ID",
    count="[int]Number of purchase times to subtract",
    timeOffsetToken="[string]Time offset token",
})
```


---

### Gs2Showcase:ForceReDrawByUserId

Re-draw the contents of the Random Showcase by User ID

Forces a redraw of the random showcase items for the specified user, resetting the current selection and triggering a new random item selection from the configured pool.

**Quantity specification supported: NO**

**Reversible action: NO**

|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128 chars | Namespace name<br>Unique Namespace name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
| showcaseName | string |  | ✓|  |  ~ 128 chars | Random Showcase Name |
| userId | string |  | ✓|  |  ~ 128 chars | User ID<br>Specify `#{userId}` to substitute the currently logged-in user's ID. |
| timeOffsetToken | string |  | |  |  ~ 1024 chars | Time offset token |




**JSON**
```json
{
    "action": "Gs2Showcase:ForceReDrawByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "showcaseName": "[string]Random Showcase Name",
        "userId": "[string]User ID",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:ForceReDrawByUserId
request:
  namespaceName: "[string]Namespace name"
  showcaseName: "[string]Random Showcase Name"
  userId: "[string]User ID"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("showcase").acquire.force_re_draw_by_user_id({
    namespaceName="[string]Namespace name",
    showcaseName="[string]Random Showcase Name",
    userId="[string]User ID",
    timeOffsetToken="[string]Time offset token",
})
```


---



