GS2-Mission トランザクションアクション

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

VerifyAction

検証アクション

Gs2Mission:VerifyCompleteByUserId

ユーザーIDを指定してミッションの達成状況を検証

指定されたユーザーのミッションタスクの達成状況または受領状況を検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
missionGroupNamestring
~ 128文字ミッショングループ名
この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
verifyType文字列列挙型
enum {
  “completed”,
  “notCompleted”,
  “received”,
  “notReceived”,
  “completedAndNotReceived”
}
検証の種類
定義説明
“completed”条件が達成済みであること
“notCompleted”条件が未達成であること
“received”報酬を受け取り済みであること
“notReceived”報酬が未受け取りであること
“completedAndNotReceived”条件が達成済みで、報酬を未受け取りであること
missionTaskNamestring
~ 128文字ミッションタスクモデル名
ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:VerifyCompleteByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "missionGroupName": "[string]ミッショングループ名",
        "userId": "[string]ユーザーID",
        "verifyType": "[string]検証の種類",
        "missionTaskName": "[string]ミッションタスクモデル名",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:VerifyCompleteByUserId
request:
  namespaceName: "[string]ネームスペース名"
  missionGroupName: "[string]ミッショングループ名"
  userId: "[string]ユーザーID"
  verifyType: "[string]検証の種類"
  missionTaskName: "[string]ミッションタスクモデル名"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").verify.verify_complete_by_user_id({
    namespaceName="[string]ネームスペース名",
    missionGroupName="[string]ミッショングループ名",
    userId="[string]ユーザーID",
    verifyType="[string]検証の種類",
    missionTaskName="[string]ミッションタスクモデル名",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:VerifyCounterValueByUserId

ユーザーIDを指定してカウンター値を検証

指定されたユーザーのカウンターのスコープ付き値が指定された条件を満たしているかを検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
counterNamestring
~ 128文字カウンターモデル名
このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
“less”カウンター値が指定値未満であること
“lessEqual”カウンター値が指定値以下であること
“greater”カウンター値が指定値超過であること
“greaterEqual”カウンター値が指定値以上であること
“equal”カウンター値が指定値と一致すること
“notEqual”カウンター値が指定値と一致しないこと
scopeType文字列列挙型
enum {
  “resetTiming”,
  “verifyAction”
}
“resetTiming”スコープの種類
このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。
定義説明
“resetTiming”リセットタイミング
“verifyAction”検証アクション
resetType文字列列挙型
enum {
  “notReset”,
  “daily”,
  “weekly”,
  “monthly”,
  “days”
}
{scopeType} == “resetTiming”
✓※
リセットタイミング
このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。
定義説明
“notReset”リセットしない
“daily”毎日
“weekly”毎週
“monthly”毎月
“days”一定日数ごと
※ scopeType が “resetTiming” であれば必須
conditionNamestring{scopeType} == “verifyAction”
✓※
~ 128文字条件名
このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。
※ scopeType が “verifyAction” であれば必須
valuelong00 ~ 9223372036854775805カウント
このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:VerifyCounterValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "counterName": "[string]カウンターモデル名",
        "verifyType": "[string]検証の種類",
        "scopeType": "[string]スコープの種類",
        "resetType": "[string]リセットタイミング",
        "conditionName": "[string]条件名",
        "value": "[long]カウント",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:VerifyCounterValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  counterName: "[string]カウンターモデル名"
  verifyType: "[string]検証の種類"
  scopeType: "[string]スコープの種類"
  resetType: "[string]リセットタイミング"
  conditionName: "[string]条件名"
  value: "[long]カウント"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").verify.verify_counter_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    counterName="[string]カウンターモデル名",
    verifyType="[string]検証の種類",
    scopeType="[string]スコープの種類",
    resetType="[string]リセットタイミング",
    conditionName="[string]条件名",
    value="[long]カウント",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

ConsumeAction

消費アクション

Gs2Mission:ReceiveByUserId

ミッション達成報酬を受領する

指定されたユーザーの指定ミッションタスクを受領済みとしてマークします。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
missionGroupNamestring
~ 128文字ミッショングループ名
この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。
missionTaskNamestring
~ 128文字タスク名
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:ReceiveByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "missionGroupName": "[string]ミッショングループ名",
        "missionTaskName": "[string]タスク名",
        "userId": "[string]ユーザーID",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:ReceiveByUserId
request:
  namespaceName: "[string]ネームスペース名"
  missionGroupName: "[string]ミッショングループ名"
  missionTaskName: "[string]タスク名"
  userId: "[string]ユーザーID"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").consume.receive_by_user_id({
    namespaceName="[string]ネームスペース名",
    missionGroupName="[string]ミッショングループ名",
    missionTaskName="[string]タスク名",
    userId="[string]ユーザーID",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:BatchReceiveByUserId

複数のミッションタスクの達成報酬を一括で受領状態にする

同じミッショングループ内の複数のミッションタスクを一括で受領済みとしてマークします。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
missionGroupNamestring
~ 128文字ミッショングループ名
この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
missionTaskNamesList<string>
1 ~ 100 itemsタスク名のリスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:BatchReceiveByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "missionGroupName": "[string]ミッショングループ名",
        "userId": "[string]ユーザーID",
        "missionTaskNames": [
            "[string]タスク名"
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:BatchReceiveByUserId
request:
  namespaceName: "[string]ネームスペース名"
  missionGroupName: "[string]ミッショングループ名"
  userId: "[string]ユーザーID"
  missionTaskNames: 
  - "[string]タスク名"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").consume.batch_receive_by_user_id({
    namespaceName="[string]ネームスペース名",
    missionGroupName="[string]ミッショングループ名",
    userId="[string]ユーザーID",
    missionTaskNames={
        "[string]タスク名"
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:DecreaseCounterByUserId

ユーザーIDを指定してカウンターを減算

指定されたユーザーのカウンターから指定値を減算します。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
counterNamestring
~ 128文字カウンターモデル名
このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
valuelong
1 ~ 9223372036854775805減算する値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:DecreaseCounterByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "counterName": "[string]カウンターモデル名",
        "userId": "[string]ユーザーID",
        "value": "[long]減算する値",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:DecreaseCounterByUserId
request:
  namespaceName: "[string]ネームスペース名"
  counterName: "[string]カウンターモデル名"
  userId: "[string]ユーザーID"
  value: "[long]減算する値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").consume.decrease_counter_by_user_id({
    namespaceName="[string]ネームスペース名",
    counterName="[string]カウンターモデル名",
    userId="[string]ユーザーID",
    value="[long]減算する値",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:ResetCounterByUserId

ユーザーIDを指定してカウンターをリセット

指定されたユーザーの指定されたスコープのカウンター値をリセットします。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
counterNamestring
~ 128文字カウンターモデル名
このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。
scopesList<ScopedValue>
1 ~ 20 itemsスコープリスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:ResetCounterByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "counterName": "[string]カウンターモデル名",
        "scopes": [
            {
                "scopeType": "[string]スコープの種類",
                "resetType": "[string]リセットタイミング",
                "conditionName": "[string]条件名",
                "value": "[long]カウント",
                "nextResetAt": "[long]次回リセットタイミング",
                "updatedAt": "[long]最終更新日時"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:ResetCounterByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  counterName: "[string]カウンターモデル名"
  scopes: 
  - scopeType: "[string]スコープの種類"
    resetType: "[string]リセットタイミング"
    conditionName: "[string]条件名"
    value: "[long]カウント"
    nextResetAt: "[long]次回リセットタイミング"
    updatedAt: "[long]最終更新日時"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").consume.reset_counter_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    counterName="[string]カウンターモデル名",
    scopes={
        {
            scopeType="[string]スコープの種類",
            resetType="[string]リセットタイミング",
            conditionName="[string]条件名",
            value="[long]カウント",
            nextResetAt="[long]次回リセットタイミング",
            updatedAt="[long]最終更新日時"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

AcquireAction

入手アクション

Gs2Mission:RevertReceiveByUserId

ミッション達成報酬を未受領状態にする

ミッションタスクの受領状態を未受領に戻します。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
missionGroupNamestring
~ 128文字ミッショングループ名
この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。
missionTaskNamestring
~ 128文字タスク名
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:RevertReceiveByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "missionGroupName": "[string]ミッショングループ名",
        "missionTaskName": "[string]タスク名",
        "userId": "[string]ユーザーID",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:RevertReceiveByUserId
request:
  namespaceName: "[string]ネームスペース名"
  missionGroupName: "[string]ミッショングループ名"
  missionTaskName: "[string]タスク名"
  userId: "[string]ユーザーID"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").acquire.revert_receive_by_user_id({
    namespaceName="[string]ネームスペース名",
    missionGroupName="[string]ミッショングループ名",
    missionTaskName="[string]タスク名",
    userId="[string]ユーザーID",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:IncreaseCounterByUserId

ユーザーIDを指定してカウンターを加算

指定されたユーザーのカウンターに指定値を加算します。
加算後、このカウンターを参照するすべてのミッションタスクが自動的に再評価され、新たに達成されたミッションが changedCompletes レスポンスで返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
counterNamestring
~ 128文字カウンターモデル名
このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
valuelong
1 ~ 9223372036854775805加算する値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:IncreaseCounterByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "counterName": "[string]カウンターモデル名",
        "userId": "[string]ユーザーID",
        "value": "[long]加算する値",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:IncreaseCounterByUserId
request:
  namespaceName: "[string]ネームスペース名"
  counterName: "[string]カウンターモデル名"
  userId: "[string]ユーザーID"
  value: "[long]加算する値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").acquire.increase_counter_by_user_id({
    namespaceName="[string]ネームスペース名",
    counterName="[string]カウンターモデル名",
    userId="[string]ユーザーID",
    value="[long]加算する値",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Mission:SetCounterByUserId

ユーザーIDを指定してカウンターを設定

指定されたユーザーのカウンターのスコープ付き値を直接設定し、既存の値を置き換えます。
変更前と変更後のカウンター状態、および新たに達成されたミッションが changedCompletes レスポンスで返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
counterNamestring
~ 128文字カウンターモデル名
このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
valuesList<ScopedValue>0 ~ 20 items設定する値のリスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Mission:SetCounterByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "counterName": "[string]カウンターモデル名",
        "userId": "[string]ユーザーID",
        "values": [
            {
                "scopeType": "[string]スコープの種類",
                "resetType": "[string]リセットタイミング",
                "conditionName": "[string]条件名",
                "value": "[long]カウント",
                "nextResetAt": "[long]次回リセットタイミング",
                "updatedAt": "[long]最終更新日時"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Mission:SetCounterByUserId
request:
  namespaceName: "[string]ネームスペース名"
  counterName: "[string]カウンターモデル名"
  userId: "[string]ユーザーID"
  values: 
    - scopeType: "[string]スコープの種類"
      resetType: "[string]リセットタイミング"
      conditionName: "[string]条件名"
      value: "[long]カウント"
      nextResetAt: "[long]次回リセットタイミング"
      updatedAt: "[long]最終更新日時"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("mission").acquire.set_counter_by_user_id({
    namespaceName="[string]ネームスペース名",
    counterName="[string]カウンターモデル名",
    userId="[string]ユーザーID",
    values={
        {
            scopeType="[string]スコープの種類",
            resetType="[string]リセットタイミング",
            conditionName="[string]条件名",
            value="[long]カウント",
            nextResetAt="[long]次回リセットタイミング",
            updatedAt="[long]最終更新日時"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})