GS2-Enchant Transaction Actions

Specification of verify/consume/acquire transaction actions

Verify Action

Gs2Enchant:VerifyRarityParameterStatusByUserId

Verify rarity parameter by specifying a user ID

Verifies that a rarity parameter status of the specified user meets the specified condition. Three verification types are supported:

  • ‘have’: Verifies that the specified parameter value exists in the status
  • ‘havent’: Verifies that the specified parameter value does not exist in the status
  • ‘count’: Verifies that the number of parameters matches the specified count This can be used as a precondition check before executing other actions.

Supports quantity specification: YES

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
parameterName string
~ 128 chars Rarity Parameter Model name
The name of the Rarity Parameter Model that defines the drawing conditions for this status. References the model that specifies the maximum parameter count, count lottery weights, and value lottery pool.
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these rarity parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
verifyType string (enum)
enum {
  “havent”,
  “have”,
  “count”
}
Type of verification
DefinitionDescription
“havent”The specified parameter must not be held
“have”The specified parameter must be held
“count”The number of parameters held must be the specified number
parameterValueName string {verifyType} in [“havent”, “have”]
✓*
~ 64 chars Name
The identifier for this lottery entry. Must be unique within the rarity parameter model’s value pool. When drawn, this name is stored in the resulting Rarity Parameter Value.
* Required if verifyType is “havent”,“have”
parameterCount int {verifyType} in [“count”]
✓*
0 ~ 10 Number of parameters to verify
multiplyValueSpecifyingQuantity bool false Whether to multiply the value used for verification when specifying the quantity
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:VerifyRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "parameterName": "[string]Rarity Parameter Model name",
        "userId": "[string]User ID",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "verifyType": "[string]Type of verification",
        "parameterValueName": "[string]Name",
        "parameterCount": "[int]Number of parameters to verify",
        "multiplyValueSpecifyingQuantity": "[bool]Whether to multiply the value used for verification when specifying the quantity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:VerifyRarityParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  parameterName: "[string]Rarity Parameter Model name"
  userId: "[string]User ID"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  verifyType: "[string]Type of verification"
  parameterValueName: "[string]Name"
  parameterCount: "[int]Number of parameters to verify"
  multiplyValueSpecifyingQuantity: "[bool]Whether to multiply the value used for verification when specifying the quantity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").verify.verify_rarity_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    parameterName="[string]Rarity Parameter Model name",
    userId="[string]User ID",
    propertyId="[string]Property ID of the resource that owns the parameter",
    verifyType="[string]Type of verification",
    parameterValueName="[string]Name",
    parameterCount="[int]Number of parameters to verify",
    multiplyValueSpecifyingQuantity="[bool]Whether to multiply the value used for verification when specifying the quantity",
    timeOffsetToken="[string]Time offset token",
})

Acquire Action

Gs2Enchant:ReDrawBalanceParameterStatusByUserId

Re-draw balance parameter by specifying a user ID

Re-draws the balance parameter values for a specific property, redistributing the total value among the parameters. Specific parameters can be fixed (locked) to prevent them from being re-drawn by specifying their names in fixedParameterNames (up to 10). The total value constraint is maintained: the sum of all parameter values (including fixed ones) always equals the model’s total value. Both the updated and previous parameter states are returned.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
parameterName string
~ 128 chars Balance Parameter Model name
The name of the Balance Parameter Model that defines the drawing conditions for this status. References the model that specifies the total value, allocation strategy, and available parameter slots.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these balance parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
fixedParameterNames List<string> [] 0 ~ 10 items List of Parameter index not to re-draw
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "parameterName": "[string]Balance Parameter Model name",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "fixedParameterNames": [
            "[string]Parameter name not to re-draw"
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:ReDrawBalanceParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  parameterName: "[string]Balance Parameter Model name"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  fixedParameterNames: 
    - "[string]Parameter name not to re-draw"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").acquire.re_draw_balance_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    parameterName="[string]Balance Parameter Model name",
    propertyId="[string]Property ID of the resource that owns the parameter",
    fixedParameterNames={
        "[string]Parameter name not to re-draw"
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Enchant:SetBalanceParameterStatusByUserId

Set any value to Balance Parameter Status by specifying a user ID

Directly sets parameter values for a specific property of the specified user, bypassing the normal draw/re-draw mechanism. This is an administrative operation that allows arbitrary parameter values to be assigned. Both the updated and previous parameter states are returned.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
parameterName string
~ 128 chars Balance Parameter Model name
The name of the Balance Parameter Model that defines the drawing conditions for this status. References the model that specifies the total value, allocation strategy, and available parameter slots.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these balance parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
parameterValues List<BalanceParameterValue>
1 ~ 10 items List of balance parameter values
The concrete values assigned to each parameter slot after the drawing process. Each entry corresponds to a parameter slot defined in the model and contains the actual numeric value allocated. The sum of all values equals the total value specified in the model.
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:SetBalanceParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "parameterName": "[string]Balance Parameter Model name",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "parameterValues": [
            {
                "name": "[string]Name",
                "value": "[long]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:SetBalanceParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  parameterName: "[string]Balance Parameter Model name"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  parameterValues: 
    - name: "[string]Name"
      value: "[long]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").acquire.set_balance_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    parameterName="[string]Balance Parameter Model name",
    propertyId="[string]Property ID of the resource that owns the parameter",
    parameterValues={
        {
            name="[string]Name",
            value="[long]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Enchant:ReDrawRarityParameterStatusByUserId

Re-draw Rarity Parameter Status by specifying a user ID

Re-draws the rarity parameter values for a specific property, randomly assigning new values based on the rarity weights. Specific parameters can be fixed (locked) to prevent them from being re-drawn by specifying their names in fixedParameterNames (up to 10). Fixed parameters retain their current values while unfixed parameters are re-drawn. Both the updated and previous parameter states are returned.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
parameterName string
~ 128 chars Rarity Parameter Model name
The name of the Rarity Parameter Model that defines the drawing conditions for this status. References the model that specifies the maximum parameter count, count lottery weights, and value lottery pool.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these rarity parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
fixedParameterNames List<string> 0 ~ 10 items List of Parameter index not to re-draw
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:ReDrawRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "parameterName": "[string]Rarity Parameter Model name",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "fixedParameterNames": [
            "[string]Parameter name not to re-draw"
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:ReDrawRarityParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  parameterName: "[string]Rarity Parameter Model name"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  fixedParameterNames: 
    - "[string]Parameter name not to re-draw"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").acquire.re_draw_rarity_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    parameterName="[string]Rarity Parameter Model name",
    propertyId="[string]Property ID of the resource that owns the parameter",
    fixedParameterNames={
        "[string]Parameter name not to re-draw"
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Enchant:AddRarityParameterStatusByUserId

Add Rarity Parameter to status by specifying a user ID

Adds new parameter slots to an existing rarity parameter status by randomly drawing values based on the rarity weights. The count specifies how many parameter slots to add (1 to 10), up to the model’s maximum parameter count. Both the updated and previous parameter states are returned.

Supports quantity specification: YES

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
parameterName string
~ 128 chars Rarity Parameter Model name
The name of the Rarity Parameter Model that defines the drawing conditions for this status. References the model that specifies the maximum parameter count, count lottery weights, and value lottery pool.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these rarity parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
count int 1 1 ~ 10 Number of parameters to add
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:AddRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "parameterName": "[string]Rarity Parameter Model name",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "count": "[int]Number of parameters to add",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:AddRarityParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  parameterName: "[string]Rarity Parameter Model name"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  count: "[int]Number of parameters to add"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").acquire.add_rarity_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    parameterName="[string]Rarity Parameter Model name",
    propertyId="[string]Property ID of the resource that owns the parameter",
    count="[int]Number of parameters to add",
    timeOffsetToken="[string]Time offset token",
})

Gs2Enchant:SetRarityParameterStatusByUserId

Set any value to rarity parameter by specifying a user ID

Directly sets parameter values for a specific property of the specified user, bypassing the normal draw/re-draw mechanism. This is an administrative operation that allows arbitrary parameter values to be assigned regardless of rarity weights. Both the updated and previous parameter states are returned.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
parameterName string
~ 128 chars Rarity Parameter Model name
The name of the Rarity Parameter Model that defines the drawing conditions for this status. References the model that specifies the maximum parameter count, count lottery weights, and value lottery pool.
propertyId string
~ 1024 chars Property ID of the resource that owns the parameter
Identifies the specific game resource (e.g., a weapon or equipment item) to which these rarity parameters are attached. Typically references a GS2-Inventory item or similar resource via its property ID.
parameterValues List<RarityParameterValue> 0 ~ 10 items List of rarity parameter values
The concrete parameter values selected through weighted lottery for each granted slot. The number of entries is determined by the parameter count draw, and each entry’s value is selected from the value model pool. May contain fewer entries than the maximum parameter count.
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Enchant:SetRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "parameterName": "[string]Rarity Parameter Model name",
        "propertyId": "[string]Property ID of the resource that owns the parameter",
        "parameterValues": [
            {
                "name": "[string]Name",
                "resourceName": "[string]Resource Name",
                "resourceValue": "[long]Resource Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enchant:SetRarityParameterStatusByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  parameterName: "[string]Rarity Parameter Model name"
  propertyId: "[string]Property ID of the resource that owns the parameter"
  parameterValues: 
    - name: "[string]Name"
      resourceName: "[string]Resource Name"
      resourceValue: "[long]Resource Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enchant").acquire.set_rarity_parameter_status_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    parameterName="[string]Rarity Parameter Model name",
    propertyId="[string]Property ID of the resource that owns the parameter",
    parameterValues={
        {
            name="[string]Name",
            resourceName="[string]Resource Name",
            resourceValue="[long]Resource Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})