Transaction Action of GS2-Exchange

VerifyAction

ConsumeAction

Gs2Exchange:DeleteAwaitByUserId

Delete exchange standby

Actions for which quantity can be specified: NO

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
userIdstringSet #{userId} to replace the currently logged in user ID.
awaitNamestringExchange standby name
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Exchange:DeleteAwaitByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "awaitName": "[string]Exchange standby name",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:DeleteAwaitByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  awaitName: "[string]Exchange standby name"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").consume.delete_await_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    awaitName="[string]Exchange standby name",
    timeOffsetToken="[string]Time offset token",
})

AcquireAction

Gs2Exchange:ExchangeByUserId

Perform exchange by specifying a user ID

Actions for which quantity can be specified: YES

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
rateNamestringExchange Rate Name
userIdstringSet #{userId} to replace the currently logged in user ID.
countintNumber of lots to be exchanged
configConfig[]Set values to be applied to transaction variables
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Exchange:ExchangeByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "rateName": "[string]Exchange Rate Name",
        "userId": "[string]User Id",
        "count": "[int]Number of lots to be exchanged",
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:ExchangeByUserId
request:
  namespaceName: "[string]Namespace name"
  rateName: "[string]Exchange Rate Name"
  userId: "[string]User Id"
  count: "[int]Number of lots to be exchanged"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").acquire.exchange_by_user_id({
    namespaceName="[string]Namespace name",
    rateName="[string]Exchange Rate Name",
    userId="[string]User Id",
    count="[int]Number of lots to be exchanged",
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Exchange:IncrementalExchangeByUserId

Perform cost increase type exchange by specifying a user ID

Actions for which quantity can be specified: YES

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
rateNamestringCost Increase Type Exchange Rate Name
userIdstringSet #{userId} to replace the currently logged in user ID.
countintNumber of lots to be exchanged
configConfig[]Set values to be applied to transaction variables
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Exchange:IncrementalExchangeByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "rateName": "[string]Cost Increase Type Exchange Rate Name",
        "userId": "[string]User Id",
        "count": "[int]Number of lots to be exchanged",
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:IncrementalExchangeByUserId
request:
  namespaceName: "[string]Namespace name"
  rateName: "[string]Cost Increase Type Exchange Rate Name"
  userId: "[string]User Id"
  count: "[int]Number of lots to be exchanged"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").acquire.incremental_exchange_by_user_id({
    namespaceName="[string]Namespace name",
    rateName="[string]Cost Increase Type Exchange Rate Name",
    userId="[string]User Id",
    count="[int]Number of lots to be exchanged",
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Exchange:CreateAwaitByUserId

Create exchange standby by specifying user ID

Actions for which quantity can be specified: YES

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
userIdstringSet #{userId} to replace the currently logged in user ID.
rateNamestringExchange Rate Name
countintNumber of exchanges
configConfig[]Default value to apply when obtaining rewards
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Exchange:CreateAwaitByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "rateName": "[string]Exchange Rate Name",
        "count": "[int]Number of exchanges",
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:CreateAwaitByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  rateName: "[string]Exchange Rate Name"
  count: "[int]Number of exchanges"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").acquire.create_await_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    rateName="[string]Exchange Rate Name",
    count="[int]Number of exchanges",
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Exchange:AcquireForceByUserId

Get rewarded for waiting for exchange without waiting for the waiting time

Actions for which quantity can be specified: NO

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
userIdstringSet #{userId} to replace the currently logged in user ID.
awaitNamestringExchange standby name
configConfig[]Set values to be applied to transaction variables
timeOffsetTokenstringTime offset token
{
    "action": "Gs2Exchange:AcquireForceByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "awaitName": "[string]Exchange standby name",
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:AcquireForceByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  awaitName: "[string]Exchange standby name"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").acquire.acquire_force_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    awaitName="[string]Exchange standby name",
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Exchange:SkipByUserId

Skip exchange standby by specifying user ID

Actions for which quantity can be specified: YES

Reversible action: NO

TypeDescription
namespaceNamestringNamespace name
userIdstringSet #{userId} to replace the currently logged in user ID.
awaitNamestringExchange standby name
skipTypeenum [
    “complete”,
    “minutes”,
    “totalRate”,
    “remainRate”
]
Skip type
minutesintMinutes to skip
ratefloatPercentage of time to skip
timeOffsetTokenstringTime offset token

Enumeration type definition to specify as skipType

Enumerator String DefinitionDescription
completeComplete skip
minutesSkip by specifying time(minutes)
totalRateSkip by specifying the percentage of total waiting time
remainRateSkip by specifying the percentage of remaining waiting time
{
    "action": "Gs2Exchange:SkipByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User Id",
        "awaitName": "[string]Exchange standby name",
        "skipType": "[string]Skip type",
        "minutes": "[int]Minutes to skip",
        "rate": "[float]Percentage of time to skip",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Exchange:SkipByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User Id"
  awaitName: "[string]Exchange standby name"
  skipType: "[string]Skip type"
  minutes: "[int]Minutes to skip"
  rate: "[float]Percentage of time to skip"
  timeOffsetToken: "[string]Time offset token"
transaction.service("exchange").acquire.skip_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User Id",
    awaitName="[string]Exchange standby name",
    skipType="[string]Skip type",
    minutes="[int]Minutes to skip",
    rate="[float]Percentage of time to skip",
    timeOffsetToken="[string]Time offset token",
})