Transaction Action of GS2-Experience

Specification of verify/consume/acquire transaction actions

VerifyAction

Gs2Experience:VerifyRankByUserId

Verify rank by specifying a 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
verifyTypeString Enum
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
Type of verification
Enumerator String DefinitionDescription
“less”Rank is less than the specified value
“lessEqual”Rank is less than or equal to the specified value
“greater”Rank is greater than the specified value
“greaterEqual”Rank is greater than or equal to the specified value
“equal”Rank is equal to the specified value
“notEqual”Rank is not equal to the specified value
propertyIdstring
~ 1024 charsProperty ID
rankValuelong
00 ~ 9223372036854775805Current Rank
multiplyValueSpecifyingQuantitybool
falseWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:VerifyRankByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "verifyType": "[string]Type of verification",
        "propertyId": "[string]Property ID",
        "rankValue": "[long]Current Rank",
        "multiplyValueSpecifyingQuantity": "[bool]Whether to multiply the value used for verification when specifying the quantity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:VerifyRankByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  verifyType: "[string]Type of verification"
  propertyId: "[string]Property ID"
  rankValue: "[long]Current Rank"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").verify.verify_rank_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    verifyType="[string]Type of verification",
    propertyId="[string]Property ID",
    rankValue="[long]Current Rank",
    multiplyValueSpecifyingQuantity="[bool]Whether to multiply the value used for verification when specifying the quantity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:VerifyRankCapByUserId

Verify rank cap by specifying a 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
verifyTypeString Enum
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
Type of verification
Enumerator String DefinitionDescription
“less”Rank cap is less than the specified value
“lessEqual”Rank cap is less than or equal to the specified value
“greater”Rank cap is greater than the specified value
“greaterEqual”Rank cap is greater than or equal to the specified value
“equal”Rank cap is equal to the specified value
“notEqual”Rank cap is not equal to the specified value
propertyIdstring
~ 1024 charsProperty ID
rankCapValuelong
0 ~ 9223372036854775805Current Rank Cap
multiplyValueSpecifyingQuantitybool
falseWhether to multiply the value used for verification when specifying the quantity
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:VerifyRankCapByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "verifyType": "[string]Type of verification",
        "propertyId": "[string]Property ID",
        "rankCapValue": "[long]Current Rank Cap",
        "multiplyValueSpecifyingQuantity": "[bool]Whether to multiply the value used for verification when specifying the quantity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:VerifyRankCapByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  verifyType: "[string]Type of verification"
  propertyId: "[string]Property ID"
  rankCapValue: "[long]Current Rank Cap"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").verify.verify_rank_cap_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    verifyType="[string]Type of verification",
    propertyId="[string]Property ID",
    rankCapValue="[long]Current Rank Cap",
    multiplyValueSpecifyingQuantity="[bool]Whether to multiply the value used for verification when specifying the quantity",
    timeOffsetToken="[string]Time offset token",
})

ConsumeAction

Gs2Experience:SubExperienceByUserId

Subtract experience 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
experienceValuelong
00 ~ 9223372036854775805Lost Experience
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:SubExperienceByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "experienceValue": "[long]Lost Experience",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:SubExperienceByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  experienceValue: "[long]Lost Experience"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").consume.sub_experience_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    experienceValue="[long]Lost Experience",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:SubRankCapByUserId

Subtract rank cap 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
rankCapValuelong
0 ~ 9223372036854775805Current Rank Cap
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:SubRankCapByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "rankCapValue": "[long]Current Rank Cap",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:SubRankCapByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  rankCapValue: "[long]Current Rank Cap"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").consume.sub_rank_cap_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    rankCapValue="[long]Current Rank Cap",
    timeOffsetToken="[string]Time offset token",
})

AcquireAction

Gs2Experience:AddExperienceByUserId

Add experience 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
experienceValuelong
00 ~ 9223372036854775805Gained Experience
truncateExperienceWhenRankUpbool?falseWhether to truncate the remaining experience when ranking up
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:AddExperienceByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "experienceValue": "[long]Gained Experience",
        "truncateExperienceWhenRankUp": "[bool]Whether to truncate the remaining experience when ranking up",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:AddExperienceByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  experienceValue: "[long]Gained Experience"
  truncateExperienceWhenRankUp: "[bool]Whether to truncate the remaining experience when ranking up"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").acquire.add_experience_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    experienceValue="[long]Gained Experience",
    truncateExperienceWhenRankUp="[bool]Whether to truncate the remaining experience when ranking up",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:SetExperienceByUserId

Set experience 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
experienceValuelong
00 ~ 9223372036854775805Cumulative experience gained
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:SetExperienceByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "experienceValue": "[long]Cumulative experience gained",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:SetExperienceByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  experienceValue: "[long]Cumulative experience gained"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").acquire.set_experience_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    experienceValue="[long]Cumulative experience gained",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:AddRankCapByUserId

Add rank cap 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 (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
rankCapValuelong
0 ~ 9223372036854775805Current Rank Cap
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:AddRankCapByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "rankCapValue": "[long]Current Rank Cap",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:AddRankCapByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  rankCapValue: "[long]Current Rank Cap"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").acquire.add_rank_cap_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    rankCapValue="[long]Current Rank Cap",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:SetRankCapByUserId

Set rank cap 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.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
rankCapValuelong
0 ~ 9223372036854775805Current Rank Cap
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:SetRankCapByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "rankCapValue": "[long]Current Rank Cap",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:SetRankCapByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  rankCapValue: "[long]Current Rank Cap"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").acquire.set_rank_cap_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    rankCapValue="[long]Current Rank Cap",
    timeOffsetToken="[string]Time offset token",
})

Gs2Experience:MultiplyAcquireActionsByUserId

Multiply resources according to the rank of the property subject to the experience value by specifying user ID

Whether the action allows quantity specification: YES

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.
experienceNamestring
~ 128 charsExperience Model Name
propertyIdstring
~ 1024 charsProperty ID
rateNamestring
~ 128 charsReward addition table name
acquireActionsList<AcquireAction>[]0 ~ 100 itemsList of Acquire Action
baseRatefloat
10 ~ 1000000Base rate
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Experience:MultiplyAcquireActionsByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "experienceName": "[string]Experience Model Name",
        "propertyId": "[string]Property ID",
        "rateName": "[string]Reward addition table name",
        "acquireActions": [
            {
                "action": "[string]Types of actions to be performed in the acquire action",
                "request": "[string]JSON string of the request used when executing the action"
            }
        ],
        "baseRate": "[float]Base rate",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Experience:MultiplyAcquireActionsByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  experienceName: "[string]Experience Model Name"
  propertyId: "[string]Property ID"
  rateName: "[string]Reward addition table name"
  acquireActions: 
    - action: "[string]Types of actions to be performed in the acquire action"
      request: "[string]JSON string of the request used when executing the action"
  baseRate: "[float]Base rate"
  timeOffsetToken: "[string]Time offset token"
transaction.service("experience").acquire.multiply_acquire_actions_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    experienceName="[string]Experience Model Name",
    propertyId="[string]Property ID",
    rateName="[string]Reward addition table name",
    acquireActions={
        {
            action="[string]Types of actions to be performed in the acquire action",
            request="[string]JSON string of the request used when executing the action"
        }
    },
    baseRate="[float]Base rate",
    timeOffsetToken="[string]Time offset token",
})