GS2-Formation Transaction Actions

Specification of verify/consume/acquire transaction actions

ConsumeAction

Gs2Formation:SubMoldCapacityByUserId

Subtract capacity size by specifying a user ID

Decreases the capacity of the form storage area (mold) for the specified user. The capacity will not go below 0.

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.
moldModelNamestring
~ 128 charsForm Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacityint
0 ~ 2147483646Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:SubMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SubMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").consume.sub_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

AcquireAction

Gs2Formation:AddMoldCapacityByUserId

Add capacity size by specifying a user ID

Increases the capacity of the form storage area (mold) for the specified user. The capacity cannot exceed the maxCapacity defined in the Mold Model.

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.
moldModelNamestring
~ 128 charsForm Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacityint
0 ~ 2147483646Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:AddMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AddMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.add_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:SetMoldCapacityByUserId

Set capacity size with specified user ID

Directly sets the capacity of the form storage area (mold) for the specified user to an exact value. Captures and returns the state before the update as ‘old’, in addition to the updated mold. The capacity is capped at the maxCapacity defined in the Mold Model.

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.
moldModelNamestring
~ 128 charsForm Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacityint
0 ~ 2147483646Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:SetMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SetMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.set_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:AcquireActionsToFormProperties

Apply acquire action to Form Properties by specifying a user ID

Applies an acquire action to the form’s slot properties and starts a transaction to execute it. This is used to grant items or resources to the slots of a form, with optional config parameters for customization. Returns a transaction for transaction processing.

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.
moldModelNamestring
~ 128 charsForm Storage Area Model name
indexint
0 ~ 2147483646Index of form
The zero-based index identifying which save slot this form occupies within the mold. The maximum index is limited by the mold’s current capacity. For example, index 0 might be “Party 1” and index 1 might be “Party 2”.
acquireActionAcquireAction
Get action to be applied to form properties
configList<Config>[]0 ~ 1000 itemsList of Acquisition config
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:AcquireActionsToFormProperties",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "index": "[int]Index of form",
        "acquireAction": {
            "action": "[string]Type of action to be executed in the Acquire Action",
            "request": "[string]JSON string of the request used when executing the action"
        },
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AcquireActionsToFormProperties
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  index: "[int]Index of form"
  acquireAction: 
    action: "[string]Type of action to be executed in the Acquire Action"
    request: "[string]JSON string of the request used when executing the action"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.acquire_actions_to_form_properties({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    index="[int]Index of form",
    acquireAction={
        action="[string]Type of action to be executed in the Acquire Action",
        request="[string]JSON string of the request used when executing the action"
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:SetFormByUserId

Set form by specifying a user ID

Updates the slot values of a form for the specified user.

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.
moldModelNamestring
~ 128 charsForm Storage Area Model name
indexint
0 ~ 2147483646Index of form
The zero-based index identifying which save slot this form occupies within the mold. The maximum index is limited by the mold’s current capacity. For example, index 0 might be “Party 1” and index 1 might be “Party 2”.
slotsList<Slot>
1 ~ 10 itemsList of Slots
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:SetFormByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "index": "[int]Index of form",
        "slots": [
            {
                "name": "[string]Slot Model name",
                "propertyId": "[string]Property ID",
                "metadata": "[string]Metadata"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SetFormByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  index: "[int]Index of form"
  slots: 
    - name: "[string]Slot Model name"
      propertyId: "[string]Property ID"
      metadata: "[string]Metadata"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.set_form_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    index="[int]Index of form",
    slots={
        {
            name="[string]Slot Model name",
            propertyId="[string]Property ID",
            metadata="[string]Metadata"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:AcquireActionsToPropertyFormProperties

Apply acquire action to property form properties

Applies an acquire action to the properties of a property form, initiating a transaction. This is used to grant items or resources that are then set as slot values in the property form. The acquire action is executed as a transaction, and the resulting items are applied to the form’s slot properties. Configuration values can be passed to customize the acquire action behavior.

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.
propertyFormModelNamestring
~ 128 charsProperty Form Model name
propertyIdstring
~ 1024 charsProperty ID
A developer-defined identifier that uniquely identifies this property form instance. Typically set to the GRN of the owned resource (e.g., a GS2-Inventory item set) that this form configures, such as setting skills on a specific piece of equipment.
acquireActionAcquireAction
Get action to be applied to form properties
configList<Config>[]0 ~ 1000 itemsList of Acquisition config
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Formation:AcquireActionsToPropertyFormProperties",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "propertyFormModelName": "[string]Property Form Model name",
        "propertyId": "[string]Property ID",
        "acquireAction": {
            "action": "[string]Type of action to be executed in the Acquire Action",
            "request": "[string]JSON string of the request used when executing the action"
        },
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AcquireActionsToPropertyFormProperties
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  propertyFormModelName: "[string]Property Form Model name"
  propertyId: "[string]Property ID"
  acquireAction: 
    action: "[string]Type of action to be executed in the Acquire Action"
    request: "[string]JSON string of the request used when executing the action"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.acquire_actions_to_property_form_properties({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    propertyFormModelName="[string]Property Form Model name",
    propertyId="[string]Property ID",
    acquireAction={
        action="[string]Type of action to be executed in the Acquire Action",
        request="[string]JSON string of the request used when executing the action"
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})