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

# GS2-LoginReward Transaction Actions

Specification of verify/consume/acquire transaction actions





## Consume Action



### Gs2LoginReward:MarkReceivedByUserId

Mark as received by User ID

Manually marks a specific step as received for the specified user's bonus model.

**Quantity specification supported: NO**

**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 (.). |
| bonusModelName | string |  | ✓|  |  ~ 128 chars | Bonus Model Name<br>The name of the Login Bonus Model that this receive status is associated with.<br>Links the user's receive progress to a specific bonus model definition, determining which reward list and distribution rules apply. |
| userId | string |  | ✓|  |  ~ 128 chars | User ID<br>Specify `#{userId}` to substitute the currently logged-in user's ID. |
| stepNumber | int |  | ✓|  | 0 ~ 100 | Step Number |
| timeOffsetToken | string |  | |  |  ~ 1024 chars | Time offset token |




**JSON**
```json
{
    "action": "Gs2LoginReward:MarkReceivedByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "bonusModelName": "[string]Bonus Model Name",
        "userId": "[string]User ID",
        "stepNumber": "[int]Step Number",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2LoginReward:MarkReceivedByUserId
request:
  namespaceName: "[string]Namespace name"
  bonusModelName: "[string]Bonus Model Name"
  userId: "[string]User ID"
  stepNumber: "[int]Step Number"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("loginReward").consume.mark_received_by_user_id({
    namespaceName="[string]Namespace name",
    bonusModelName="[string]Bonus Model Name",
    userId="[string]User ID",
    stepNumber="[int]Step Number",
    timeOffsetToken="[string]Time offset token",
})
```


---

## Acquire Action



### Gs2LoginReward:DeleteReceiveStatusByUserId

Delete Receive Status by User ID

Deletes all receive status data for the specified user's bonus model, completely resetting the bonus progress.

**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 (.). |
| bonusModelName | string |  | ✓|  |  ~ 128 chars | Bonus Model Name<br>The name of the Login Bonus Model that this receive status is associated with.<br>Links the user's receive progress to a specific bonus model definition, determining which reward list and distribution rules apply. |
| 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": "Gs2LoginReward:DeleteReceiveStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "bonusModelName": "[string]Bonus Model Name",
        "userId": "[string]User ID",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2LoginReward:DeleteReceiveStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  bonusModelName: "[string]Bonus Model Name"
  userId: "[string]User ID"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("loginReward").acquire.delete_receive_status_by_user_id({
    namespaceName="[string]Namespace name",
    bonusModelName="[string]Bonus Model Name",
    userId="[string]User ID",
    timeOffsetToken="[string]Time offset token",
})
```


---

### Gs2LoginReward:UnmarkReceivedByUserId

Unmark as received by User ID

Reverses a previously marked step back to unreceived for the specified user's bonus model.
If the specified step was not marked as received, an error is returned.

**Quantity specification supported: NO**

**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 (.). |
| bonusModelName | string |  | ✓|  |  ~ 128 chars | Bonus Model Name<br>The name of the Login Bonus Model that this receive status is associated with.<br>Links the user's receive progress to a specific bonus model definition, determining which reward list and distribution rules apply. |
| userId | string |  | ✓|  |  ~ 128 chars | User ID<br>Specify `#{userId}` to substitute the currently logged-in user's ID. |
| stepNumber | int |  | ✓|  | 0 ~ 100 | Step Number |
| timeOffsetToken | string |  | |  |  ~ 1024 chars | Time offset token |




**JSON**
```json
{
    "action": "Gs2LoginReward:UnmarkReceivedByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "bonusModelName": "[string]Bonus Model Name",
        "userId": "[string]User ID",
        "stepNumber": "[int]Step Number",
        "timeOffsetToken": "[string]Time offset token"
    }
}
```

**YAML**
```yaml

action: Gs2LoginReward:UnmarkReceivedByUserId
request:
  namespaceName: "[string]Namespace name"
  bonusModelName: "[string]Bonus Model Name"
  userId: "[string]User ID"
  stepNumber: "[int]Step Number"
  timeOffsetToken: "[string]Time offset token"
```

**GS2-Script**
```lua

transaction.service("loginReward").acquire.unmark_received_by_user_id({
    namespaceName="[string]Namespace name",
    bonusModelName="[string]Bonus Model Name",
    userId="[string]User ID",
    stepNumber="[int]Step Number",
    timeOffsetToken="[string]Time offset token",
})
```


---



