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

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

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




## Verify Action

検証アクション

### Gs2Schedule:VerifyTriggerByUserId

ユーザーIDを指定してトリガーが引かれてからの経過時間を検証<br>

指定したユーザーのトリガーの状態に関する条件を検証します。verifyType は 'notTriggerd'、'elapsed'、'notElapsed' を設定できます。検証条件が満たされない場合はエラーを返します。

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| triggerName | string |  | ✓|  |  ~ 128文字 | トリガー名<br>トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| verifyType | 文字列列挙型<br>enum {<br>"notTriggerd",<br>"elapsed",<br>"notElapsed"<br>}<br> |  | ✓|  |  | 検証の種類"notTriggerd": トリガーが引かれていない / "elapsed": 指定時間が経過している / "notElapsed": 指定時間が経過していない /  |
| elapsedMinutes | int | {verifyType} in ["elapsed", "notElapsed"] | ✓※|  | 0 ~ 2147483646 | 経過時間(分)<br>※ verifyType が "elapsed","notElapsed"であれば 必須 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Schedule:VerifyTriggerByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "triggerName": "[string]トリガー名",
        "verifyType": "[string]検証の種類",
        "elapsedMinutes": "[int]経過時間(分)",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Schedule:VerifyTriggerByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  triggerName: "[string]トリガー名"
  verifyType: "[string]検証の種類"
  elapsedMinutes: "[int]経過時間(分)"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("schedule").verify.verify_trigger_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    triggerName="[string]トリガー名",
    verifyType="[string]検証の種類",
    elapsedMinutes="[int]経過時間(分)",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Schedule:VerifyEventByUserId

ユーザーIDを指定してイベントの開催期間であるかを検証<br>

指定したユーザーにおいて、指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType は 'inSchedule' または 'notInSchedule' を設定できます。検証条件が満たされない場合はエラーを返します。

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| eventName | string |  | ✓|  |  ~ 128文字 | イベント名<br>イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| verifyType | 文字列列挙型<br>enum {<br>"inSchedule",<br>"notInSchedule"<br>}<br> |  | ✓|  |  | 検証の種類"inSchedule": イベントの開催期間である / "notInSchedule": イベントの開催期間ではない /  |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Schedule:VerifyEventByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "eventName": "[string]イベント名",
        "verifyType": "[string]検証の種類",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Schedule:VerifyEventByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  eventName: "[string]イベント名"
  verifyType: "[string]検証の種類"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("schedule").verify.verify_event_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    eventName="[string]イベント名",
    verifyType="[string]検証の種類",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Consume Action

消費アクション

### Gs2Schedule:DeleteTriggerByUserId

ユーザーIDを指定してトリガーを削除<br>

指定したユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。

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

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

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




**JSON**
```json
{
    "action": "Gs2Schedule:DeleteTriggerByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "triggerName": "[string]トリガー名",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Schedule:DeleteTriggerByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  triggerName: "[string]トリガー名"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("schedule").consume.delete_trigger_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    triggerName="[string]トリガー名",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Acquire Action

入手アクション

### Gs2Schedule:TriggerByUserId

ユーザーIDを指定してトリガーを実行<br>

指定したユーザーのトリガーを引きます。トリガー戦略により動作が決まります：'renew' は新しいTTLでリセット、'extend' は既存のTTLを延長、'drop' は既に引かれている場合は無視、'repeatCycleEnd'/'repeatCycleNextStart'/'absoluteEnd' は指定したイベントのスケジュールに有効期限を合わせます。トリガーを引くと関連する相対スケジュールイベントが有効化されます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| triggerName | string |  | ✓|  |  ~ 128文字 | トリガー名<br>トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| triggerStrategy | 文字列列挙型<br>enum {<br>"renew",<br>"extend",<br>"drop",<br>"repeatCycleEnd",<br>"repeatCycleNextStart",<br>"absoluteEnd"<br>}<br> |  | ✓|  |  | トリガーの引き方の方針"renew": すでにトリガーが引かれている場合は再度新しい期間で引き直す / "extend": すでにトリガーが引かれている場合は期間を延長 / "drop": すでにトリガーが引かれている場合は無視 / "repeatCycleEnd": 指定したイベントの繰り返し期間の終了日時に有効期限を迎えるようにトリガーを引く / "repeatCycleNextStart": 指定したイベントの繰り返しで、次回の繰り返し開始日時に有効期限を迎えるようにトリガーを引く / "absoluteEnd": 指定したイベントの終了日時に有効期限を迎えるようにトリガーを引く /  |
| ttl | int | {triggerStrategy} in ["renew", "extend", "drop"] | ✓※|  | 0 ~ 2147483646 | トリガーの有効期限(秒)<br>※ triggerStrategy が "renew","extend","drop"であれば 必須 |
| eventId | string | {triggerStrategy} in ["repeatCycleEnd", "repeatCycleNextStart", "absoluteEnd"] | ✓※|  |  ~ 1024文字 | イベントGRN<br>※ triggerStrategy が "repeatCycleEnd","repeatCycleNextStart","absoluteEnd"であれば 必須 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Schedule:TriggerByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "triggerName": "[string]トリガー名",
        "userId": "[string]ユーザーID",
        "triggerStrategy": "[string]トリガーの引き方の方針",
        "ttl": "[int]トリガーの有効期限(秒)",
        "eventId": "[string]イベントGRN",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Schedule:TriggerByUserId
request:
  namespaceName: "[string]ネームスペース名"
  triggerName: "[string]トリガー名"
  userId: "[string]ユーザーID"
  triggerStrategy: "[string]トリガーの引き方の方針"
  ttl: "[int]トリガーの有効期限(秒)"
  eventId: "[string]イベントGRN"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("schedule").acquire.trigger_by_user_id({
    namespaceName="[string]ネームスペース名",
    triggerName="[string]トリガー名",
    userId="[string]ユーザーID",
    triggerStrategy="[string]トリガーの引き方の方針",
    ttl="[int]トリガーの有効期限(秒)",
    eventId="[string]イベントGRN",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Schedule:ExtendTriggerByUserId

ユーザーIDを指定してトリガーの期間を延長<br>

指定したユーザーの既存のトリガーの有効期限を指定した秒数だけ延長します。トリガーが存在しない場合は、指定した延長期間をTTLとして新しいトリガーが作成されます。

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

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

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




**JSON**
```json
{
    "action": "Gs2Schedule:ExtendTriggerByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "triggerName": "[string]トリガー名",
        "userId": "[string]ユーザーID",
        "extendSeconds": "[int]トリガーを延長する期間(秒)",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Schedule:ExtendTriggerByUserId
request:
  namespaceName: "[string]ネームスペース名"
  triggerName: "[string]トリガー名"
  userId: "[string]ユーザーID"
  extendSeconds: "[int]トリガーを延長する期間(秒)"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("schedule").acquire.extend_trigger_by_user_id({
    namespaceName="[string]ネームスペース名",
    triggerName="[string]トリガー名",
    userId="[string]ユーザーID",
    extendSeconds="[int]トリガーを延長する期間(秒)",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---



