GS2-Lottery トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様

Acquire Action

入手アクション

Gs2Lottery:DrawByUserId

ユーザーIDを指定して抽選を実行

抽選モデルの設定に基づいて、指定されたユーザーの抽選を実行します。
抽選は2つの方式をサポートします:排出確率テーブルモード(事前定義された確率テーブルを使用)とスクリプトモード(GS2-Script で景品を決定)。
ボックス抽選モードでは、排出された景品はボックスから削除され再度排出されません。ボックスが空の場合は Empty エラーが返されます。
排出された景品はトランザクションとして発行されます。

数量指定可能なアクション:はい

反転可能なアクション:いいえ

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
lotteryName string
~ 128文字 抽選モデル名
抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
count int
1 ~ 1000 抽選回数
config List<Config> [] 0 ~ 1000 items トランザクションのプレースホルダに適用する設定値
timeOffsetToken string ~ 1024文字 タイムオフセットトークン
{
    "action": "Gs2Lottery:DrawByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "lotteryName": "[string]抽選モデル名",
        "userId": "[string]ユーザーID",
        "count": "[int]抽選回数",
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Lottery:DrawByUserId
request:
  namespaceName: "[string]ネームスペース名"
  lotteryName: "[string]抽選モデル名"
  userId: "[string]ユーザーID"
  count: "[int]抽選回数"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("lottery").acquire.draw_by_user_id({
    namespaceName="[string]ネームスペース名",
    lotteryName="[string]抽選モデル名",
    userId="[string]ユーザーID",
    count="[int]抽選回数",
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Lottery:ResetBoxByUserId

ユーザーIDを指定してボックスをリセット

指定されたユーザーのボックスを初期状態にリセットし、排出済みのすべての景品をボックスに戻します。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
prizeTableName string
~ 128文字 排出確率テーブル名
userId string
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
timeOffsetToken string ~ 1024文字 タイムオフセットトークン
{
    "action": "Gs2Lottery:ResetBoxByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "prizeTableName": "[string]排出確率テーブル名",
        "userId": "[string]ユーザーID",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Lottery:ResetBoxByUserId
request:
  namespaceName: "[string]ネームスペース名"
  prizeTableName: "[string]排出確率テーブル名"
  userId: "[string]ユーザーID"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("lottery").acquire.reset_box_by_user_id({
    namespaceName="[string]ネームスペース名",
    prizeTableName="[string]排出確率テーブル名",
    userId="[string]ユーザーID",
    timeOffsetToken="[string]タイムオフセットトークン",
})