Transaction Action of GS2-Mission

Specification of verify/consume/acquire transaction actions

VerifyAction

Gs2Mission:VerifyCompleteByUserId

Verify achievement status by specifying user ID

Whether the action allows quantity specification: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
missionGroupNamestring
~ 128 charsMission Group Name
userIdstring
~ 128 charsUser 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
missionTaskNamestring
~ 128 charsTask Model Name
Task Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
multiplyValueSpecifyingQuantitybool
falseWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstring~ 1024 charsTime 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 Model 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 Model Name"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("mission").verify.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 Model 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

Whether the action allows quantity specification: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
counterNamestring
~ 128 charsCounter 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”
}
“resetTiming”Scope type
Enumerator String DefinitionDescription
“resetTiming”Reset timing
“verifyAction”Verify action
resetTypeString Enum
enum {
  “notReset”,
  “daily”,
  “weekly”,
  “monthly”,
  “days”
}
{scopeType} == “resetTiming”
✓*
Reset timing
Enumerator String DefinitionDescription
“notReset”Not Reset
“daily”Daily
“weekly”Weekly
“monthly”Monthly
“days”Every certain number of days
* Required if scopeType is “resetTiming”
conditionNamestring{scopeType} == “verifyAction”
✓*
~ 128 charsCondition Name
* Required if scopeType is “verifyAction”
valuelong
00 ~ 9223372036854775805Count value
multiplyValueSpecifyingQuantitybool
falseWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstring~ 1024 charsTime 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").verify.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

Whether the action allows quantity specification: NO

Whether the action is reversible: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
missionGroupNamestring
~ 128 charsMission Group Name
missionTaskNamestring
~ 128 charsTask Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
missionGroupNamestring
~ 128 charsMission Group Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
missionTaskNamesList<string>
1 ~ 100 itemsTask name list
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: YES

Whether the action is reversible: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
counterNamestring
~ 128 charsCounter Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
valuelong
1 ~ 9223372036854775805Value to be subtracted
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
counterNamestring
~ 128 charsCounter Name
scopesList<ScopedValue>
1 ~ 20 itemsList of scopes
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: NO

Whether the action is reversible: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
missionGroupNamestring
~ 128 charsMission Group Name
missionTaskNamestring
~ 128 charsTask Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: YES

Whether the action is reversible: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
counterNamestring
~ 128 charsCounter Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
valuelong
1 ~ 9223372036854775805Value to be added
timeOffsetTokenstring~ 1024 charsTime 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

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
counterNamestring
~ 128 charsCounter Name
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
valuesList<ScopedValue>0 ~ 20 itemsList of values to be set
timeOffsetTokenstring~ 1024 charsTime 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",
})