Transaction Action of GS2-Mission

Specification of verify/consume/acquire transaction actions

VerifyAction

Gs2Mission:VerifyCompleteByUserId

Verify achievement status by specifying user ID

Actions for which quantity can be specified: NO

TypeDescription
namespaceNamestringNamespace name
missionGroupNamestringMission Group Name
userIdstringUser Id
Set #{userId} to replace the currently logged in user ID.
verifyTypeString Enum
enum {
  “completed”,
  “notCompleted”,
  “received”,
  “notReceived”,
  “completedAndNotReceived”
]
Type of verification
Enumerator String DefinitionDescription
“completed”Condition is achieved
“notCompleted”Condition is not achieved
“received”Reward has been received
“notReceived”Reward has not been received
“completedAndNotReceived”Condition is achieved and reward has not been received
missionTaskNamestringTask Name
multiplyValueSpecifyingQuantityboolWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:VerifyCompleteByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "missionGroupName": "[string]Mission Group Name",
        "userId": "[string]User Id",
        "verifyType": "[string]Type of verification",
        "missionTaskName": "[string]Task Name",
        "multiplyValueSpecifyingQuantity": "[bool]Whether to multiply the value used for verification when specifying the quantity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:VerifyCompleteByUserId
request:
  namespaceName: "[string]Namespace name"
  missionGroupName: "[string]Mission Group Name"
  userId: "[string]User Id"
  verifyType: "[string]Type of verification"
  missionTaskName: "[string]Task Name"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.verify_complete_by_user_id({
    namespaceName="[string]Namespace name",
    missionGroupName="[string]Mission Group Name",
    userId="[string]User Id",
    verifyType="[string]Type of verification",
    missionTaskName="[string]Task Name",
    multiplyValueSpecifyingQuantity="[bool]Whether to multiply the value used for verification when specifying the quantity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:VerifyCounterValueByUserId

Verify counter value by specifying a user ID

Actions for which quantity can be specified: YES

TypeDescription
namespaceNamestringNamespace name
userIdstringUser Id
Set #{userId} to replace the currently logged in user ID.
counterNamestringCounter Name
verifyTypeString Enum
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
]
Type of verification
Enumerator String DefinitionDescription
“less”Counter value is less than the specified value
“lessEqual”Counter value is less than or equal to the specified value
“greater”Counter value is greater than the specified value
“greaterEqual”Counter value is greater than or equal to the specified value
“equal”Counter value is equal to the specified value
“notEqual”Counter value is not equal to the specified value
scopeTypeString Enum
enum {
  “resetTiming”,
  “verifyAction”
]
Scope type
Enumerator String DefinitionDescription
“resetTiming”Reset timing
“verifyAction”Verify action
resetTypeString Enum
enum {
  “notReset”,
  “daily”,
  “weekly”,
  “monthly”,
  “days”
]
Reset timing
Enumerator String DefinitionDescription
“notReset”Not resetting.
“daily”Daily
“weekly”Weekly
“monthly”Monthly
“days”Every certain number of days
conditionNamestringCondition Name
valuelongCount value
multiplyValueSpecifyingQuantityboolWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:VerifyCounterValueByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "counterName": "[string]Counter Name",
        "verifyType": "[string]Type of verification",
        "scopeType": "[string]Scope type",
        "resetType": "[string]Reset timing",
        "conditionName": "[string]Condition Name",
        "value": "[long]Count value",
        "multiplyValueSpecifyingQuantity": "[bool]Whether to multiply the value used for verification when specifying the quantity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:VerifyCounterValueByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  counterName: "[string]Counter Name"
  verifyType: "[string]Type of verification"
  scopeType: "[string]Scope type"
  resetType: "[string]Reset timing"
  conditionName: "[string]Condition Name"
  value: "[long]Count value"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.verify_counter_value_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    counterName="[string]Counter Name",
    verifyType="[string]Type of verification",
    scopeType="[string]Scope type",
    resetType="[string]Reset timing",
    conditionName="[string]Condition Name",
    value="[long]Count value",
    multiplyValueSpecifyingQuantity="[bool]Whether to multiply the value used for verification when specifying the quantity",
    timeOffsetToken="[string]Time offset token",
})

ConsumeAction

Gs2Mission:ReceiveByUserId

Receive rewards for mission accomplishment

Actions for which quantity can be specified: NO

Reversible action: YES

TypeDescription
namespaceNamestringNamespace name
missionGroupNamestringMission Group Name
missionTaskNamestringTask Name
userIdstringSet #{userId} to replace the currently logged in user ID.
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:ReceiveByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "missionGroupName": "[string]Mission Group Name",
        "missionTaskName": "[string]Task Name",
        "userId": "[string]User Id",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:ReceiveByUserId
request:
  namespaceName: "[string]Namespace name"
  missionGroupName: "[string]Mission Group Name"
  missionTaskName: "[string]Task Name"
  userId: "[string]User Id"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.receive_by_user_id({
    namespaceName="[string]Namespace name",
    missionGroupName="[string]Mission Group Name",
    missionTaskName="[string]Task Name",
    userId="[string]User Id",
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:BatchReceiveByUserId

Receive rewards for multiple mission tasks in bulk

Actions for which quantity can be specified: NO

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
missionGroupNamestringMission Group Name
userIdstringSet #{userId} to replace the currently logged in user ID.
missionTaskNamesstring[]Task name list
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:BatchReceiveByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "missionGroupName": "[string]Mission Group Name",
        "userId": "[string]User Id",
        "missionTaskNames": [
            "[string]Task Name"
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:BatchReceiveByUserId
request:
  namespaceName: "[string]Namespace name"
  missionGroupName: "[string]Mission Group Name"
  userId: "[string]User Id"
  missionTaskNames: 
  - "[string]Task Name"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.batch_receive_by_user_id({
    namespaceName="[string]Namespace name",
    missionGroupName="[string]Mission Group Name",
    userId="[string]User Id",
    missionTaskNames={
        "[string]Task Name"
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:DecreaseCounterByUserId

Decrease counter by specifying a user ID

Actions for which quantity can be specified: YES

Reversible action: YES

TypeDescription
namespaceNamestringNamespace name
counterNamestringCounter Name
userIdstringSet #{userId} to replace the currently logged in user ID.
valuelongValue to be subtracted
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:DecreaseCounterByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "counterName": "[string]Counter Name",
        "userId": "[string]User Id",
        "value": "[long]Value to be subtracted",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:DecreaseCounterByUserId
request:
  namespaceName: "[string]Namespace name"
  counterName: "[string]Counter Name"
  userId: "[string]User Id"
  value: "[long]Value to be subtracted"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.decrease_counter_by_user_id({
    namespaceName="[string]Namespace name",
    counterName="[string]Counter Name",
    userId="[string]User Id",
    value="[long]Value to be subtracted",
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:ResetCounterByUserId

Reset counter by specifying a user ID

Actions for which quantity can be specified: NO

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
userIdstringSet #{userId} to replace the currently logged in user ID.
counterNamestringCounter Name
scopesScopedValue[]List of scopes
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:ResetCounterByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "counterName": "[string]Counter Name",
        "scopes": [
            {
                "scopeType": "[string]Scope type",
                "resetType": "[string]Reset timing",
                "conditionName": "[string]Condition Name",
                "value": "[long]Count value",
                "nextResetAt": "[long]Next reset timing",
                "updatedAt": "[long]Datetime of last update"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:ResetCounterByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  counterName: "[string]Counter Name"
  scopes: 
  - scopeType: "[string]Scope type"
    resetType: "[string]Reset timing"
    conditionName: "[string]Condition Name"
    value: "[long]Count value"
    nextResetAt: "[long]Next reset timing"
    updatedAt: "[long]Datetime of last update"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").consume.reset_counter_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    counterName="[string]Counter Name",
    scopes={
        {
            scopeType="[string]Scope type",
            resetType="[string]Reset timing",
            conditionName="[string]Condition Name",
            value="[long]Count value",
            nextResetAt="[long]Next reset timing",
            updatedAt="[long]Datetime of last update"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

AcquireAction

Gs2Mission:RevertReceiveByUserId

Revert the status of mission accomplishment to unreceived

Actions for which quantity can be specified: NO

Reversible action: YES

TypeDescription
namespaceNamestringNamespace name
missionGroupNamestringMission Group Name
missionTaskNamestringTask Name
userIdstringSet #{userId} to replace the currently logged in user ID.
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:RevertReceiveByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "missionGroupName": "[string]Mission Group Name",
        "missionTaskName": "[string]Task Name",
        "userId": "[string]User Id",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:RevertReceiveByUserId
request:
  namespaceName: "[string]Namespace name"
  missionGroupName: "[string]Mission Group Name"
  missionTaskName: "[string]Task Name"
  userId: "[string]User Id"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").acquire.revert_receive_by_user_id({
    namespaceName="[string]Namespace name",
    missionGroupName="[string]Mission Group Name",
    missionTaskName="[string]Task Name",
    userId="[string]User Id",
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:IncreaseCounterByUserId

Increase counter by specifying a user ID

Actions for which quantity can be specified: YES

Reversible action: YES

TypeDescription
namespaceNamestringNamespace name
counterNamestringCounter Name
userIdstringSet #{userId} to replace the currently logged in user ID.
valuelongValue to be added
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:IncreaseCounterByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "counterName": "[string]Counter Name",
        "userId": "[string]User Id",
        "value": "[long]Value to be added",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:IncreaseCounterByUserId
request:
  namespaceName: "[string]Namespace name"
  counterName: "[string]Counter Name"
  userId: "[string]User Id"
  value: "[long]Value to be added"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").acquire.increase_counter_by_user_id({
    namespaceName="[string]Namespace name",
    counterName="[string]Counter Name",
    userId="[string]User Id",
    value="[long]Value to be added",
    timeOffsetToken="[string]Time offset token",
})

Gs2Mission:SetCounterByUserId

Set counter by specifying a user ID

Actions for which quantity can be specified: NO

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
counterNamestringCounter Name
userIdstringSet #{userId} to replace the currently logged in user ID.
valuesScopedValue[]List of values to be set
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Mission:SetCounterByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "counterName": "[string]Counter Name",
        "userId": "[string]User Id",
        "values": [
            {
                "scopeType": "[string]Scope type",
                "resetType": "[string]Reset timing",
                "conditionName": "[string]Condition Name",
                "value": "[long]Count value",
                "nextResetAt": "[long]Next reset timing",
                "updatedAt": "[long]Datetime of last update"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Mission:SetCounterByUserId
request:
  namespaceName: "[string]Namespace name"
  counterName: "[string]Counter Name"
  userId: "[string]User Id"
  values: 
    - scopeType: "[string]Scope type"
      resetType: "[string]Reset timing"
      conditionName: "[string]Condition Name"
      value: "[long]Count value"
      nextResetAt: "[long]Next reset timing"
      updatedAt: "[long]Datetime of last update"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").acquire.set_counter_by_user_id({
    namespaceName="[string]Namespace name",
    counterName="[string]Counter Name",
    userId="[string]User Id",
    values={
        {
            scopeType="[string]Scope type",
            resetType="[string]Reset timing",
            conditionName="[string]Condition Name",
            value="[long]Count value",
            nextResetAt="[long]Next reset timing",
            updatedAt="[long]Datetime of last update"
        }
    },
    timeOffsetToken="[string]Time offset token",
})