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

# GS2-AdReward トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様





## Consume Action

消費アクション

### Gs2AdReward:ConsumePointByUserId

ユーザーIDを指定してポイントを消費<br>

指定されたユーザーIDから指定された数のポイントを減算し、更新後のポイント情報を返します。<br>
要求された消費量に対してポイントが不足している場合はエラーが返されます。<br>
ネームスペースの消費スクリプト設定に GS2-Script が設定されている場合、ポイント減算前にスクリプトが実行され、カスタムバリデーションや消費量の変更が可能です。<br>
ポイント減算後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| point | long |  | ✓|  | 1 ~ 9223372036854775805 | 消費するポイント |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2AdReward:ConsumePointByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "point": "[long]消費するポイント",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2AdReward:ConsumePointByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  point: "[long]消費するポイント"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("adReward").consume.consume_point_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    point="[long]消費するポイント",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Acquire Action

入手アクション

### Gs2AdReward:AcquirePointByUserId

ユーザーIDを指定してポイントを入手<br>

指定されたユーザーIDに指定された数のポイントを追加し、更新後のポイント情報を返します。<br>
ユーザーのポイントレコードが存在しない場合、ポイント追加前に新しいレコードが自動的に作成されます。<br>
ネームスペースの入手スクリプト設定に GS2-Script が設定されている場合、ポイント追加前にスクリプトが実行され、カスタムバリデーションや入手量の変更が可能です。<br>
ポイント追加後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| point | long |  | ✓|  | 1 ~ 9223372036854775805 | 入手するポイント |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2AdReward:AcquirePointByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "point": "[long]入手するポイント",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2AdReward:AcquirePointByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  point: "[long]入手するポイント"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("adReward").acquire.acquire_point_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    point="[long]入手するポイント",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---



