GS2-StateMachine Transaction Actions
Specification of verify/consume/acquire transaction actions
AcquireAction
Gs2StateMachine:StartStateMachineByUserId
Start state machine by specifying a user ID
Starts a new state machine instance for the specified user using the latest master version. Arguments are passed as JSON and parsed into state machine variables. An optional TTL (in minutes) can be set; if omitted, the state machine remains valid for approximately 10 years.
Whether the action allows 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 Set #{userId} to replace the currently logged in user ID. | ||
| args | string | “{}” | ~ 4096 chars | Arguments to be passed to the state machine | ||
| ttl | int | 1 ~ 525600 | Validity period (minutes) | |||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
{
"action": "Gs2StateMachine:StartStateMachineByUserId",
"request": {
"namespaceName": "[string]Namespace name",
"userId": "[string]User ID",
"args": "[string]Arguments to be passed to the state machine",
"ttl": "[int]Validity period (minutes)",
"timeOffsetToken": "[string]Time offset token"
}
}action: Gs2StateMachine:StartStateMachineByUserId
request:
namespaceName: "[string]Namespace name"
userId: "[string]User ID"
args: "[string]Arguments to be passed to the state machine"
ttl: "[int]Validity period (minutes)"
timeOffsetToken: "[string]Time offset token"transaction.service("stateMachine").acquire.start_state_machine_by_user_id({
namespaceName="[string]Namespace name",
userId="[string]User ID",
args="[string]Arguments to be passed to the state machine",
ttl="[int]Validity period (minutes)",
timeOffsetToken="[string]Time offset token",
})