NAV
go python java php typescript csharp GS2-Script

GS2-Lottery

GS2-SDK のリファレンス

モデル

Namespace

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

説明
namespaceId string ネームスペースGRN
name string ネームスペース名
description string 説明文
queueNamespaceId string スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyId string スタンプシートの発行に使用する GS2-Key のネームスペース
lotteryTriggerScriptId string 抽選を実行した際に呼び出される GS2-Script のスクリプト
choicePrizeTableScriptId string 抽選確率テーブルを動的に決定するための GS2-Script のスクリプト
logSetting LogSetting ログの出力設定
createdAt long 作成日時
updatedAt long 最終更新日時

LotteryModelMaster

抽選はLotteryで排出方式や排出レートを定義するエンティティです。

排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式 Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。

抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。

説明
lotteryModelId string 抽選の種類マスターGRN
name string 抽選モデルの種類名
metadata string メタデータ
description string 説明文
mode string 抽選モード
method string 抽選方法
prizeTableName string 排出確率テーブルの名前
choicePrizeTableScriptId string 排出確率テーブルを決定する GS2-Script のスクリプト
createdAt long 作成日時
updatedAt long 最終更新日時

PrizeTableMaster

排出確率テーブルとは、抽選時に排出する景品の確率を定義するエンティティです。

景品にはスタンプシートの報酬または更に排出確率テーブルを指定することができます。 排出確率テーブルを入れ子にすることで、SSR/SR/R といったレアリティを抽選するテーブルを通し、 2段目で具体的なコンテンツを抽選するような設定が可能です。 こうすることで、全体におけるレアリティの排出確率の調整が容易となります。

説明
prizeTableId string 排出確率テーブルマスターGRN
name string 排出確率テーブル名
metadata string メタデータ
description string 説明文
prizes Prize[] 景品リスト
createdAt long 作成日時
updatedAt long 最終更新日時

Box

ボックス抽選方式を利用する抽選処理で使用する排出済みの景品を管理するエンティティです。

排出されたアイテムは、景品を展開したリストにおけるインデックスを使用して管理されます。 そのため、ボックス抽選で一度でも抽選を行った後に排出確率テーブルを操作すると、排出済み景品の情報に齟齬が発生する恐れがあります。

説明
boxId string ボックスGRN
prizeTableName string 排出確率テーブル名
userId string ユーザーID
drawnIndexes int[] 排出済み景品のインデックスのリスト
createdAt long 作成日時
updatedAt long 最終更新日時

LotteryModel

抽選はLotteryで排出方式や排出レートを定義するエンティティです。

排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式 Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。

抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。

説明
lotteryModelId string 抽選の種類GRN
name string 抽選モデルの種類名
metadata string メタデータ
mode string 抽選モード
method string 抽選方法
prizeTableName string 排出確率テーブルの名前
choicePrizeTableScriptId string 排出確率テーブルを決定する GS2-Script のスクリプト

PrizeTable

排出確率テーブルとは、抽選時に排出する景品の確率を定義するエンティティです。

景品にはスタンプシートの報酬または更に排出確率テーブルを指定することができます。 排出確率テーブルを入れ子にすることで、SSR/SR/R といったレアリティを抽選するテーブルを通し、 2段目で具体的なコンテンツを抽選するような設定が可能です。 こうすることで、全体におけるレアリティの排出確率の調整が容易となります。

説明
prizeTableId string 排出確率テーブルGRN
name string 排出確率テーブル名
metadata string メタデータ
prizes Prize[] 景品リスト

Probability

説明
prize DrawnPrize 景品の種類
rate float 排出確率(0.0〜1.0)

CurrentLotteryMaster

GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

JSONファイルの形式についてはドキュメントを参照ください。

説明
namespaceId string ネームスペースGRN
settings string マスターデータ

GitHubCheckoutSetting

説明
apiKeyId string GitHub のAPIキーGRN
repositoryName string リポジトリ名
sourcePath string ソースコードのファイルパス
referenceType string コードの取得元
commitHash string コミットハッシュ
branchName string ブランチ名
tagName string タグ名

LogSetting

説明
loggingNamespaceId string ネームスペースGRN

Prize

説明
prizeId string 景品ID
type string 景品の種類
acquireActions AcquireAction[] 景品の入手アクションリスト
prizeTableName string 排出確率テーブルの名前
weight int 排出重み

AcquireAction

説明
action string スタンプシートで実行するアクションの種類
request string 消費リクエストのJSON

DrawnPrize

説明
acquireActions AcquireAction[] 入手アクションのリスト

BoxItem

説明
acquireActions AcquireAction[] 入手アクションのリスト
remaining int 残り数量
initial int 初期数量

BoxItems

説明
boxId string ボックスGRN
prizeTableName string 排出確率テーブル名
userId string ユーザーID
items BoxItem[] ボックスから取り出したアイテムのリスト

Config

説明
key string 名前
value string

メソッド

describeNamespaces

describeNamespaces

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &lottery.DescribeNamespacesRequest {
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeNamespacesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeNamespaces(
        (new DescribeNamespacesRequest())
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeNamespacesRequest;
import io.gs2.lottery.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeNamespacesResult result = client.describeNamespaces(
        new DescribeNamespacesRequest()
            .withPageToken(null)
            .withLimit(null)
    );
    List<Namespace> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeNamespacesRequest;
using Gs2.Gs2Lottery.Result.DescribeNamespacesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeNamespaces(
    new DescribeNamespacesRequest()
        .withPageToken(null)
        .withLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeNamespaces(
        new Gs2Lottery.DescribeNamespacesRequest()
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_namespaces(
        lottery.DescribeNamespacesRequest()
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_namespaces({
    pageToken=nil,
    limit=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

ネームスペースの一覧を取得

Request

必須 デフォルト 値の制限 説明
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items Namespace[] ネームスペースのリスト
nextPageToken string リストの続きを取得するためのページトークン

createNamespace

createNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &lottery.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        QueueNamespaceId: nil,
        KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001"),
        LotteryTriggerScriptId: nil,
        ChoicePrizeTableScriptId: nil,
        LogSetting: &lottery.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\CreateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createNamespace(
        (new CreateNamespaceRequest())
            ->withName(self::namespace1)
            ->withDescription(null)
            ->withQueueNamespaceId(null)
            ->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001")
            ->withLotteryTriggerScriptId(null)
            ->withChoicePrizeTableScriptId(null)
            ->withLogSetting((new \Gs2\Lottery\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.CreateNamespaceRequest;
import io.gs2.lottery.result.CreateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withQueueNamespaceId(null)
            .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001")
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new io.gs2.lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.CreateNamespaceRequest;
using Gs2.Gs2Lottery.Result.CreateNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.createNamespace(
    new CreateNamespaceRequest()
        .withName("namespace1")
        .withDescription(null)
        .withQueueNamespaceId(null)
        .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001")
        .withLotteryTriggerScriptId(null)
        .withChoicePrizeTableScriptId(null)
        .withLogSetting(new Gs2.Gs2Lottery.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.createNamespace(
        new Gs2Lottery.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withQueueNamespaceId(null)
            .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001")
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new Gs2Lottery.Model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.create_namespace(
        lottery.CreateNamespaceRequest()
            .with_name(self.hash1)
            .with_description(None)
            .with_queue_namespace_id(None)
            .with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001')
            .with_lottery_trigger_script_id(None)
            .with_choice_prize_table_script_id(None)
            .with_log_setting(
                lottery.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.create_namespace({
    name='namespace1',
    description=nil,
    queueNamespaceId=nil,
    keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0001',
    lotteryTriggerScriptId=nil,
    choicePrizeTableScriptId=nil,
    logSetting={
        loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001',
    },
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ネームスペースを新規作成

Request

必須 デフォルト 値の制限 説明
name string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
queueNamespaceId string ~ 1024文字 スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyId string ~ 1024文字 スタンプシートの発行に使用する GS2-Key のネームスペース
lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト
choicePrizeTableScriptId string ~ 1024文字 抽選確率テーブルを動的に決定するための GS2-Script のスクリプト
logSetting LogSetting ログの出力設定

Result

説明
item Namespace 作成したネームスペース

getNamespaceStatus

getNamespaceStatus

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &lottery.GetNamespaceStatusRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
status := result.Status
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetNamespaceStatusRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getNamespaceStatus(
        (new GetNamespaceStatusRequest())
            ->withNamespaceName(self::namespace1)
    );
    $status = $result->getStatus();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetNamespaceStatusRequest;
import io.gs2.lottery.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetNamespaceStatusResult result = client.getNamespaceStatus(
        new GetNamespaceStatusRequest()
            .withNamespaceName("namespace1")
    );
    String status = result.getStatus();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetNamespaceStatusRequest;
using Gs2.Gs2Lottery.Result.GetNamespaceStatusResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getNamespaceStatus(
    new GetNamespaceStatusRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getNamespaceStatus(
        new Gs2Lottery.GetNamespaceStatusRequest()
            .withNamespaceName("namespace1")
    );
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_namespace_status(
        lottery.GetNamespaceStatusRequest()
            .with_namespace_name(self.hash1)
    )
    status = result.status
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_namespace_status({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
status = result.status;

ネームスペースの状態を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
status string

getNamespace

getNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &lottery.GetNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getNamespace(
        (new GetNamespaceRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetNamespaceRequest;
import io.gs2.lottery.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetNamespaceResult result = client.getNamespace(
        new GetNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetNamespaceRequest;
using Gs2.Gs2Lottery.Result.GetNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getNamespace(
    new GetNamespaceRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getNamespace(
        new Gs2Lottery.GetNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_namespace(
        lottery.GetNamespaceRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_namespace({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ネームスペースを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
item Namespace ネームスペース

updateNamespace

updateNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &lottery.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002"),
        KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002"),
        LotteryTriggerScriptId: nil,
        ChoicePrizeTableScriptId: nil,
        LogSetting: &lottery.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\UpdateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateNamespace(
        (new UpdateNamespaceRequest())
            ->withNamespaceName(self::namespace1)
            ->withDescription("description1")
            ->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
            ->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002")
            ->withLotteryTriggerScriptId(null)
            ->withChoicePrizeTableScriptId(null)
            ->withLogSetting((new \Gs2\Lottery\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.UpdateNamespaceRequest;
import io.gs2.lottery.result.UpdateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
            .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002")
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new io.gs2.lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.UpdateNamespaceRequest;
using Gs2.Gs2Lottery.Result.UpdateNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.updateNamespace(
    new UpdateNamespaceRequest()
        .withNamespaceName("namespace1")
        .withDescription("description1")
        .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
        .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002")
        .withLotteryTriggerScriptId(null)
        .withChoicePrizeTableScriptId(null)
        .withLogSetting(new Gs2.Gs2Lottery.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.updateNamespace(
        new Gs2Lottery.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
            .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002")
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new Gs2Lottery.Model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.update_namespace(
        lottery.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002')
            .with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002')
            .with_lottery_trigger_script_id(None)
            .with_choice_prize_table_script_id(None)
            .with_log_setting(
                lottery.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.update_namespace({
    namespaceName='namespace1',
    description='description1',
    queueNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002',
    keyId='grn:gs2:ap-northeast-1:YourOwnerId:key:namespace-0001:key:key-0002',
    lotteryTriggerScriptId=nil,
    choicePrizeTableScriptId=nil,
    logSetting={
        loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001',
    },
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ネームスペースを更新

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
queueNamespaceId string ~ 1024文字 スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyId string ~ 1024文字 スタンプシートの発行に使用する GS2-Key のネームスペース
lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト
choicePrizeTableScriptId string ~ 1024文字 抽選確率テーブルを動的に決定するための GS2-Script のスクリプト
logSetting LogSetting ログの出力設定

Result

説明
item Namespace 更新したネームスペース

deleteNamespace

deleteNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &lottery.DeleteNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DeleteNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteNamespace(
        (new DeleteNamespaceRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DeleteNamespaceRequest;
import io.gs2.lottery.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DeleteNamespaceResult result = client.deleteNamespace(
        new DeleteNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DeleteNamespaceRequest;
using Gs2.Gs2Lottery.Result.DeleteNamespaceResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.deleteNamespace(
    new DeleteNamespaceRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.deleteNamespace(
        new Gs2Lottery.DeleteNamespaceRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.delete_namespace(
        lottery.DeleteNamespaceRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.delete_namespace({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ネームスペースを削除

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
item Namespace 削除したネームスペース

describeLotteryModelMasters

describeLotteryModelMasters

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeLotteryModelMasters(
    &lottery.DescribeLotteryModelMastersRequest {
        NamespaceName: pointy.String("namespace1"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeLotteryModelMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeLotteryModelMasters(
        (new DescribeLotteryModelMastersRequest())
            ->withNamespaceName(self::namespace1)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeLotteryModelMastersRequest;
import io.gs2.lottery.result.DescribeLotteryModelMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeLotteryModelMastersResult result = client.describeLotteryModelMasters(
        new DescribeLotteryModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<LotteryModelMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeLotteryModelMastersRequest;
using Gs2.Gs2Lottery.Result.DescribeLotteryModelMastersResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeLotteryModelMasters(
    new DescribeLotteryModelMastersRequest()
        .withNamespaceName("namespace1")
        .withPageToken(null)
        .withLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeLotteryModelMasters(
        new Gs2Lottery.DescribeLotteryModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_lottery_model_masters(
        lottery.DescribeLotteryModelMastersRequest()
            .with_namespace_name(self.hash1)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_lottery_model_masters({
    namespaceName='namespace1',
    pageToken=nil,
    limit=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

抽選の種類マスターの一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items LotteryModelMaster[] 抽選の種類マスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

createLotteryModelMaster

createLotteryModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.CreateLotteryModelMaster(
    &lottery.CreateLotteryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("lotteryModel-0001"),
        Description: nil,
        Metadata: nil,
        Mode: pointy.String("normal"),
        Method: pointy.String("prize_table"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        ChoicePrizeTableScriptId: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\CreateLotteryModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createLotteryModelMaster(
        (new CreateLotteryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("lotteryModel-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withMode("normal")
            ->withMethod("prize_table")
            ->withPrizeTableName("prizeTable-0001")
            ->withChoicePrizeTableScriptId(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.CreateLotteryModelMasterRequest;
import io.gs2.lottery.result.CreateLotteryModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    CreateLotteryModelMasterResult result = client.createLotteryModelMaster(
        new CreateLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("lotteryModel-0001")
            .withDescription(null)
            .withMetadata(null)
            .withMode("normal")
            .withMethod("prize_table")
            .withPrizeTableName("prizeTable-0001")
            .withChoicePrizeTableScriptId(null)
    );
    LotteryModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.CreateLotteryModelMasterRequest;
using Gs2.Gs2Lottery.Result.CreateLotteryModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.createLotteryModelMaster(
    new CreateLotteryModelMasterRequest()
        .withNamespaceName("namespace1")
        .withName("lotteryModel-0001")
        .withDescription(null)
        .withMetadata(null)
        .withMode("normal")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0001")
        .withChoicePrizeTableScriptId(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.createLotteryModelMaster(
        new Gs2Lottery.CreateLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("lotteryModel-0001")
            .withDescription(null)
            .withMetadata(null)
            .withMode("normal")
            .withMethod("prize_table")
            .withPrizeTableName("prizeTable-0001")
            .withChoicePrizeTableScriptId(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.create_lottery_model_master(
        lottery.CreateLotteryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('lotteryModel-0001')
            .with_description(None)
            .with_metadata(None)
            .with_mode('normal')
            .with_method('prize_table')
            .with_prize_table_name('prizeTable-0001')
            .with_choice_prize_table_script_id(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.create_lottery_model_master({
    namespaceName='namespace1',
    name='lotteryModel-0001',
    description=nil,
    metadata=nil,
    mode='normal',
    method='prize_table',
    prizeTableName='prizeTable-0001',
    choicePrizeTableScriptId=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

抽選の種類マスターを新規作成

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
name string ~ 128文字 抽選モデルの種類名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
mode string ~ 128文字 抽選モード
method string ~ 128文字 抽選方法
prizeTableName string {method} == "prize_table" ~ 128文字 排出確率テーブルの名前
choicePrizeTableScriptId string {method} == "script" ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト

Result

説明
item LotteryModelMaster 作成した抽選の種類マスター

getLotteryModelMaster

getLotteryModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetLotteryModelMaster(
    &lottery.GetLotteryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lotteryModel-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetLotteryModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getLotteryModelMaster(
        (new GetLotteryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lotteryModel-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetLotteryModelMasterRequest;
import io.gs2.lottery.result.GetLotteryModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetLotteryModelMasterResult result = client.getLotteryModelMaster(
        new GetLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    LotteryModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetLotteryModelMasterRequest;
using Gs2.Gs2Lottery.Result.GetLotteryModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getLotteryModelMaster(
    new GetLotteryModelMasterRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lotteryModel-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getLotteryModelMaster(
        new Gs2Lottery.GetLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_lottery_model_master(
        lottery.GetLotteryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lotteryModel-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_lottery_model_master({
    namespaceName='namespace1',
    lotteryName='lotteryModel-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

抽選の種類マスターを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名

Result

説明
item LotteryModelMaster 抽選の種類マスター

updateLotteryModelMaster

updateLotteryModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.UpdateLotteryModelMaster(
    &lottery.UpdateLotteryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lotteryModel-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("METADATA1"),
        Mode: pointy.String("box"),
        Method: pointy.String("prize_table"),
        PrizeTableName: pointy.String("prizeTable-0002"),
        ChoicePrizeTableScriptId: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\UpdateLotteryModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateLotteryModelMaster(
        (new UpdateLotteryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lotteryModel-0001")
            ->withDescription("description1")
            ->withMetadata("METADATA1")
            ->withMode("box")
            ->withMethod("prize_table")
            ->withPrizeTableName("prizeTable-0002")
            ->withChoicePrizeTableScriptId(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.UpdateLotteryModelMasterRequest;
import io.gs2.lottery.result.UpdateLotteryModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    UpdateLotteryModelMasterResult result = client.updateLotteryModelMaster(
        new UpdateLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
            .withDescription("description1")
            .withMetadata("METADATA1")
            .withMode("box")
            .withMethod("prize_table")
            .withPrizeTableName("prizeTable-0002")
            .withChoicePrizeTableScriptId(null)
    );
    LotteryModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.UpdateLotteryModelMasterRequest;
using Gs2.Gs2Lottery.Result.UpdateLotteryModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.updateLotteryModelMaster(
    new UpdateLotteryModelMasterRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lotteryModel-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withMode("box")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0002")
        .withChoicePrizeTableScriptId(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.updateLotteryModelMaster(
        new Gs2Lottery.UpdateLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
            .withDescription("description1")
            .withMetadata("METADATA1")
            .withMode("box")
            .withMethod("prize_table")
            .withPrizeTableName("prizeTable-0002")
            .withChoicePrizeTableScriptId(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.update_lottery_model_master(
        lottery.UpdateLotteryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lotteryModel-0001')
            .with_description('description1')
            .with_metadata('METADATA1')
            .with_mode('box')
            .with_method('prize_table')
            .with_prize_table_name('prizeTable-0002')
            .with_choice_prize_table_script_id(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.update_lottery_model_master({
    namespaceName='namespace1',
    lotteryName='lotteryModel-0001',
    description='description1',
    metadata='METADATA1',
    mode='box',
    method='prize_table',
    prizeTableName='prizeTable-0002',
    choicePrizeTableScriptId=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

抽選の種類マスターを更新

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
mode string ~ 128文字 抽選モード
method string ~ 128文字 抽選方法
prizeTableName string {method} == "prize_table" ~ 128文字 排出確率テーブルの名前
choicePrizeTableScriptId string {method} == "script" ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト

Result

説明
item LotteryModelMaster 更新した抽選の種類マスター

deleteLotteryModelMaster

deleteLotteryModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DeleteLotteryModelMaster(
    &lottery.DeleteLotteryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lotteryModel-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DeleteLotteryModelMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteLotteryModelMaster(
        (new DeleteLotteryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lotteryModel-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DeleteLotteryModelMasterRequest;
import io.gs2.lottery.result.DeleteLotteryModelMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DeleteLotteryModelMasterResult result = client.deleteLotteryModelMaster(
        new DeleteLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    LotteryModelMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DeleteLotteryModelMasterRequest;
using Gs2.Gs2Lottery.Result.DeleteLotteryModelMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.deleteLotteryModelMaster(
    new DeleteLotteryModelMasterRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lotteryModel-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.deleteLotteryModelMaster(
        new Gs2Lottery.DeleteLotteryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.delete_lottery_model_master(
        lottery.DeleteLotteryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lotteryModel-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.delete_lottery_model_master({
    namespaceName='namespace1',
    lotteryName='lotteryModel-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

抽選の種類マスターを削除

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名

Result

説明
item LotteryModelMaster 削除した抽選の種類マスター

describePrizeTableMasters

describePrizeTableMasters

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribePrizeTableMasters(
    &lottery.DescribePrizeTableMastersRequest {
        NamespaceName: pointy.String("namespace1"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribePrizeTableMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describePrizeTableMasters(
        (new DescribePrizeTableMastersRequest())
            ->withNamespaceName(self::namespace1)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribePrizeTableMastersRequest;
import io.gs2.lottery.result.DescribePrizeTableMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribePrizeTableMastersResult result = client.describePrizeTableMasters(
        new DescribePrizeTableMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<PrizeTableMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribePrizeTableMastersRequest;
using Gs2.Gs2Lottery.Result.DescribePrizeTableMastersResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describePrizeTableMasters(
    new DescribePrizeTableMastersRequest()
        .withNamespaceName("namespace1")
        .withPageToken(null)
        .withLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describePrizeTableMasters(
        new Gs2Lottery.DescribePrizeTableMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_prize_table_masters(
        lottery.DescribePrizeTableMastersRequest()
            .with_namespace_name(self.hash1)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_prize_table_masters({
    namespaceName='namespace1',
    pageToken=nil,
    limit=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

排出確率テーブルマスターの一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items PrizeTableMaster[] 排出確率テーブルマスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

createPrizeTableMaster

createPrizeTableMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.CreatePrizeTableMaster(
    &lottery.CreatePrizeTableMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("prizeTable-0001"),
        Description: nil,
        Metadata: nil,
        Prizes: []lottery.Prize{
            lottery.Prize{
                PrizeId: pointy.String("1"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-0001"),
                    },
                },
                Weight: pointy.Int32(1),
            },
        lottery.Prize{
                PrizeId: pointy.String("2"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-0002"),
                    },
                },
                Weight: pointy.Int32(2),
            },
        lottery.Prize{
                PrizeId: pointy.String("3"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-0003"),
                    },
                },
                Weight: pointy.Int32(3),
            },
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\CreatePrizeTableMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createPrizeTableMaster(
        (new CreatePrizeTableMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("prizeTable-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withPrizes([    (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("1")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-0001"),
            ])
                ->withWeight(1),
            (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("2")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-0002"),
            ])
                ->withWeight(2),
            (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("3")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-0003"),
            ])
                ->withWeight(3),
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.CreatePrizeTableMasterRequest;
import io.gs2.lottery.result.CreatePrizeTableMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    CreatePrizeTableMasterResult result = client.createPrizeTableMaster(
        new CreatePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withName("prizeTable-0001")
            .withDescription(null)
            .withMetadata(null)
            .withPrizes(Arrays.asList(
                new io.gs2.lottery.model.Prize()
                    .withPrizeId("1")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0001")
                ))
                    .withWeight(1),
            new io.gs2.lottery.model.Prize()
                    .withPrizeId("2")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0002")
                ))
                    .withWeight(2),
            new io.gs2.lottery.model.Prize()
                    .withPrizeId("3")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0003")
                ))
                    .withWeight(3)
            ))
    );
    PrizeTableMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.CreatePrizeTableMasterRequest;
using Gs2.Gs2Lottery.Result.CreatePrizeTableMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.createPrizeTableMaster(
    new CreatePrizeTableMasterRequest()
        .withNamespaceName("namespace1")
        .withName("prizeTable-0001")
        .withDescription(null)
        .withMetadata(null)
        .withPrizes(new Gs2.Gs2Lottery.Model.Prize[] {
            new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("1")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-0001")
            })
                .WithWeight(1),
        new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("2")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-0002")
            })
                .WithWeight(2),
        new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("3")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-0003")
            })
                .WithWeight(3)
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.createPrizeTableMaster(
        new Gs2Lottery.CreatePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withName("prizeTable-0001")
            .withDescription(null)
            .withMetadata(null)
            .withPrizes([
                new Gs2Lottery.Model.Prize()
                    .withPrizeId("1")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0001")
                ])
                    .withWeight(1),
            new Gs2Lottery.Model.Prize()
                    .withPrizeId("2")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0002")
                ])
                    .withWeight(2),
            new Gs2Lottery.Model.Prize()
                    .withPrizeId("3")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-0003")
                ])
                    .withWeight(3)
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.create_prize_table_master(
        lottery.CreatePrizeTableMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('prizeTable-0001')
            .with_description(None)
            .with_metadata(None)
            .with_prizes([    lottery.Prize()
                .with_prize_id('1')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-0001'),
            ])
                .with_weight(1),
            lottery.Prize()
                .with_prize_id('2')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-0002'),
            ])
                .with_weight(2),
            lottery.Prize()
                .with_prize_id('3')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-0003'),
            ])
                .with_weight(3),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.create_prize_table_master({
    namespaceName='namespace1',
    name='prizeTable-0001',
    description=nil,
    metadata=nil,
    prizes={
        {
            prizeId='1',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-0001',
            }
        },
            weight=1,
        },
    {
            prizeId='2',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-0002',
            }
        },
            weight=2,
        },
    {
            prizeId='3',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-0003',
            }
        },
            weight=3,
        }
    },
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

排出確率テーブルマスターを新規作成

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
name string ~ 128文字 排出確率テーブル名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
prizes Prize[] 景品リスト

Result

説明
item PrizeTableMaster 作成した排出確率テーブルマスター

getPrizeTableMaster

getPrizeTableMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetPrizeTableMaster(
    &lottery.GetPrizeTableMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetPrizeTableMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getPrizeTableMaster(
        (new GetPrizeTableMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetPrizeTableMasterRequest;
import io.gs2.lottery.result.GetPrizeTableMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetPrizeTableMasterResult result = client.getPrizeTableMaster(
        new GetPrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    PrizeTableMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetPrizeTableMasterRequest;
using Gs2.Gs2Lottery.Result.GetPrizeTableMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getPrizeTableMaster(
    new GetPrizeTableMasterRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getPrizeTableMaster(
        new Gs2Lottery.GetPrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_prize_table_master(
        lottery.GetPrizeTableMasterRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_prize_table_master({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

排出確率テーブルマスターを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名

Result

説明
item PrizeTableMaster 排出確率テーブルマスター

updatePrizeTableMaster

updatePrizeTableMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.UpdatePrizeTableMaster(
    &lottery.UpdatePrizeTableMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("METADATA1"),
        Prizes: []lottery.Prize{
            lottery.Prize{
                PrizeId: pointy.String("4"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-1001"),
                    },
                },
                Weight: pointy.Int32(2),
            },
        lottery.Prize{
                PrizeId: pointy.String("5"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-1002"),
                    },
                },
                Weight: pointy.Int32(3),
            },
        lottery.Prize{
                PrizeId: pointy.String("6"),
                Type: pointy.String("action"),
                AcquireActions: []lottery.AcquireAction{
                    lottery.AcquireAction{
                        Action: pointy.String("Gs2Money:DepositByUserId"),
                        Request: pointy.String("Gs2Money:DepositByUserId:request:ssr-1003"),
                    },
                },
                Weight: pointy.Int32(4),
            },
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\UpdatePrizeTableMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updatePrizeTableMaster(
        (new UpdatePrizeTableMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withDescription("description1")
            ->withMetadata("METADATA1")
            ->withPrizes([    (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("4")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-1001"),
            ])
                ->withWeight(2),
            (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("5")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-1002"),
            ])
                ->withWeight(3),
            (new \Gs2\Lottery\Model\Prize())
                ->withPrizeId("6")
                ->withType("action")
                ->withAcquireActions([    (new \Gs2\Lottery\Model\AcquireAction())
                ->withAction("Gs2Money:DepositByUserId")
                ->withRequest("Gs2Money:DepositByUserId:request:ssr-1003"),
            ])
                ->withWeight(4),
            ])
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.UpdatePrizeTableMasterRequest;
import io.gs2.lottery.result.UpdatePrizeTableMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    UpdatePrizeTableMasterResult result = client.updatePrizeTableMaster(
        new UpdatePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withDescription("description1")
            .withMetadata("METADATA1")
            .withPrizes(Arrays.asList(
                new io.gs2.lottery.model.Prize()
                    .withPrizeId("4")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1001")
                ))
                    .withWeight(2),
            new io.gs2.lottery.model.Prize()
                    .withPrizeId("5")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1002")
                ))
                    .withWeight(3),
            new io.gs2.lottery.model.Prize()
                    .withPrizeId("6")
                    .withType("action")
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.lottery.model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1003")
                ))
                    .withWeight(4)
            ))
    );
    PrizeTableMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.UpdatePrizeTableMasterRequest;
using Gs2.Gs2Lottery.Result.UpdatePrizeTableMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.updatePrizeTableMaster(
    new UpdatePrizeTableMasterRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withPrizes(new Gs2.Gs2Lottery.Model.Prize[] {
            new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("4")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-1001")
            })
                .WithWeight(2),
        new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("5")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-1002")
            })
                .WithWeight(3),
        new Gs2.Gs2Lottery.Model.Prize()
                .WithPrizeId("6")
                .WithType("action")
                .WithAcquireActions(new Gs2.Gs2Lottery.Model.AcquireAction[] {
                new Gs2.Gs2Lottery.Model.AcquireAction()
                    .WithAction("Gs2Money:DepositByUserId")
                    .WithRequest("Gs2Money:DepositByUserId:request:ssr-1003")
            })
                .WithWeight(4)
        }),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.updatePrizeTableMaster(
        new Gs2Lottery.UpdatePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withDescription("description1")
            .withMetadata("METADATA1")
            .withPrizes([
                new Gs2Lottery.Model.Prize()
                    .withPrizeId("4")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1001")
                ])
                    .withWeight(2),
            new Gs2Lottery.Model.Prize()
                    .withPrizeId("5")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1002")
                ])
                    .withWeight(3),
            new Gs2Lottery.Model.Prize()
                    .withPrizeId("6")
                    .withType("action")
                    .withAcquireActions([
                    new Gs2Lottery.Model.AcquireAction()
                        .withAction("Gs2Money:DepositByUserId")
                        .withRequest("Gs2Money:DepositByUserId:request:ssr-1003")
                ])
                    .withWeight(4)
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.update_prize_table_master(
        lottery.UpdatePrizeTableMasterRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_description('description1')
            .with_metadata('METADATA1')
            .with_prizes([    lottery.Prize()
                .with_prize_id('4')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-1001'),
            ])
                .with_weight(2),
            lottery.Prize()
                .with_prize_id('5')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-1002'),
            ])
                .with_weight(3),
            lottery.Prize()
                .with_prize_id('6')
                .with_type('action')
                .with_acquire_actions([    lottery.AcquireAction()
                .with_action('Gs2Money:DepositByUserId')
                .with_request('Gs2Money:DepositByUserId:request:ssr-1003'),
            ])
                .with_weight(4),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.update_prize_table_master({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    description='description1',
    metadata='METADATA1',
    prizes={
        {
            prizeId='4',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-1001',
            }
        },
            weight=2,
        },
    {
            prizeId='5',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-1002',
            }
        },
            weight=3,
        },
    {
            prizeId='6',
            type='action',
            acquireActions={
            {
                action='Gs2Money:DepositByUserId',
                request='Gs2Money:DepositByUserId:request:ssr-1003',
            }
        },
            weight=4,
        }
    },
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

排出確率テーブルマスターを更新

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
prizes Prize[] 景品リスト

Result

説明
item PrizeTableMaster 更新した排出確率テーブルマスター

deletePrizeTableMaster

deletePrizeTableMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DeletePrizeTableMaster(
    &lottery.DeletePrizeTableMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DeletePrizeTableMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deletePrizeTableMaster(
        (new DeletePrizeTableMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DeletePrizeTableMasterRequest;
import io.gs2.lottery.result.DeletePrizeTableMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DeletePrizeTableMasterResult result = client.deletePrizeTableMaster(
        new DeletePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    PrizeTableMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DeletePrizeTableMasterRequest;
using Gs2.Gs2Lottery.Result.DeletePrizeTableMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.deletePrizeTableMaster(
    new DeletePrizeTableMasterRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.deletePrizeTableMaster(
        new Gs2Lottery.DeletePrizeTableMasterRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.delete_prize_table_master(
        lottery.DeletePrizeTableMasterRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.delete_prize_table_master({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

排出確率テーブルマスターを削除

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名

Result

説明
item PrizeTableMaster 削除した排出確率テーブルマスター

describeBoxes

describeBoxes

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeBoxes(
    &lottery.DescribeBoxesRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeBoxesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeBoxes(
        (new DescribeBoxesRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeBoxesRequest;
import io.gs2.lottery.result.DescribeBoxesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeBoxesResult result = client.describeBoxes(
        new DescribeBoxesRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Box> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeBoxesRequest;
using Gs2.Gs2Lottery.Result.DescribeBoxesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeBoxes(
    new DescribeBoxesRequest()
        .withNamespaceName("namespace1")
        .withAccessToken("$access_token_0001")
        .withPageToken(null)
        .withLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeBoxes(
        new Gs2Lottery.DescribeBoxesRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_boxes(
        lottery.DescribeBoxesRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_boxes({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
    pageToken=nil,
    limit=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

ボックスの一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
accessToken string ~ 128文字 ユーザーID
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items Box[] ボックスのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeBoxesByUserId

describeBoxesByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeBoxesByUserId(
    &lottery.DescribeBoxesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeBoxesByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeBoxesByUserId(
        (new DescribeBoxesByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeBoxesByUserIdRequest;
import io.gs2.lottery.result.DescribeBoxesByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeBoxesByUserIdResult result = client.describeBoxesByUserId(
        new DescribeBoxesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Box> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeBoxesByUserIdRequest;
using Gs2.Gs2Lottery.Result.DescribeBoxesByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeBoxesByUserId(
    new DescribeBoxesByUserIdRequest()
        .withNamespaceName("namespace1")
        .withUserId("user-0001")
        .withPageToken(null)
        .withLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeBoxesByUserId(
        new Gs2Lottery.DescribeBoxesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_boxes_by_user_id(
        lottery.DescribeBoxesByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_boxes_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    pageToken=nil,
    limit=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

ユーザIDを指定してボックスの一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
userId string ~ 128文字 ユーザーID
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items Box[] ボックスのリスト
nextPageToken string リストの続きを取得するためのページトークン

getBox

getBox

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetBox(
    &lottery.GetBoxRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        AccessToken: pointy.String("$access_token_0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetBoxRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getBox(
        (new GetBoxRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withAccessToken(self::$accessToken0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetBoxRequest;
import io.gs2.lottery.result.GetBoxResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetBoxResult result = client.getBox(
        new GetBoxRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withAccessToken("$access_token_0001")
    );
    BoxItems item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetBoxRequest;
using Gs2.Gs2Lottery.Result.GetBoxResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getBox(
    new GetBoxRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withAccessToken("$access_token_0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getBox(
        new Gs2Lottery.GetBoxRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withAccessToken("$access_token_0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_box(
        lottery.GetBoxRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_access_token(self.access_token_0001)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_box({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    accessToken='$access_token_0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ボックスを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
accessToken string ~ 128文字 ユーザーID

Result

説明
item BoxItems ボックスから取り出したアイテムのリスト

getBoxByUserId

getBoxByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetBoxByUserId(
    &lottery.GetBoxByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetBoxByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getBoxByUserId(
        (new GetBoxByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withUserId("user-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetBoxByUserIdRequest;
import io.gs2.lottery.result.GetBoxByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetBoxByUserIdResult result = client.getBoxByUserId(
        new GetBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
    BoxItems item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetBoxByUserIdRequest;
using Gs2.Gs2Lottery.Result.GetBoxByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getBoxByUserId(
    new GetBoxByUserIdRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getBoxByUserId(
        new Gs2Lottery.GetBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_box_by_user_id(
        lottery.GetBoxByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_user_id('user-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_box_by_user_id({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    userId='user-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ユーザIDを指定してボックスを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
userId string ~ 128文字 ユーザーID

Result

説明
item BoxItems ボックスから取り出したアイテムのリスト

getRawBoxByUserId

getRawBoxByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetRawBoxByUserId(
    &lottery.GetRawBoxByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetRawBoxByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getRawBoxByUserId(
        (new GetRawBoxByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withUserId("user-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetRawBoxByUserIdRequest;
import io.gs2.lottery.result.GetRawBoxByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetRawBoxByUserIdResult result = client.getRawBoxByUserId(
        new GetRawBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
    Box item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetRawBoxByUserIdRequest;
using Gs2.Gs2Lottery.Result.GetRawBoxByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getRawBoxByUserId(
    new GetRawBoxByUserIdRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getRawBoxByUserId(
        new Gs2Lottery.GetRawBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_raw_box_by_user_id(
        lottery.GetRawBoxByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_user_id('user-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_raw_box_by_user_id({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    userId='user-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

ユーザIDを指定してボックスを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
userId string ~ 128文字 ユーザーID

Result

説明
item Box ボックス

resetBox

resetBox

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.ResetBox(
    &lottery.ResetBoxRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        AccessToken: pointy.String("$access_token_0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\ResetBoxRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->resetBox(
        (new ResetBoxRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withAccessToken(self::$accessToken0001)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.ResetBoxRequest;
import io.gs2.lottery.result.ResetBoxResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    ResetBoxResult result = client.resetBox(
        new ResetBoxRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withAccessToken("$access_token_0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.ResetBoxRequest;
using Gs2.Gs2Lottery.Result.ResetBoxResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.resetBox(
    new ResetBoxRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withAccessToken("$access_token_0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.resetBox(
        new Gs2Lottery.ResetBoxRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withAccessToken("$access_token_0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.reset_box(
        lottery.ResetBoxRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_access_token(self.access_token_0001)
    )
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.reset_box({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    accessToken='$access_token_0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

ボックスをリセット

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
accessToken string ~ 128文字 ユーザーID

Result

説明

resetBoxByUserId

resetBoxByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.ResetBoxByUserId(
    &lottery.ResetBoxByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\ResetBoxByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->resetBoxByUserId(
        (new ResetBoxByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withUserId("user-0001")
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.ResetBoxByUserIdRequest;
import io.gs2.lottery.result.ResetBoxByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    ResetBoxByUserIdResult result = client.resetBoxByUserId(
        new ResetBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.ResetBoxByUserIdRequest;
using Gs2.Gs2Lottery.Result.ResetBoxByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.resetBoxByUserId(
    new ResetBoxByUserIdRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001")
        .withUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.resetBoxByUserId(
        new Gs2Lottery.ResetBoxByUserIdRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withUserId("user-0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.reset_box_by_user_id(
        lottery.ResetBoxByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_user_id('user-0001')
    )
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.reset_box_by_user_id({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    userId='user-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

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

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名
userId string ~ 128文字 ユーザーID

Result

説明

describeLotteryModels

describeLotteryModels

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeLotteryModels(
    &lottery.DescribeLotteryModelsRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeLotteryModelsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeLotteryModels(
        (new DescribeLotteryModelsRequest())
            ->withNamespaceName(self::namespace1)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeLotteryModelsRequest;
import io.gs2.lottery.result.DescribeLotteryModelsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeLotteryModelsResult result = client.describeLotteryModels(
        new DescribeLotteryModelsRequest()
            .withNamespaceName("namespace1")
    );
    List<LotteryModel> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeLotteryModelsRequest;
using Gs2.Gs2Lottery.Result.DescribeLotteryModelsResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeLotteryModels(
    new DescribeLotteryModelsRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeLotteryModels(
        new Gs2Lottery.DescribeLotteryModelsRequest()
            .withNamespaceName("namespace1")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_lottery_models(
        lottery.DescribeLotteryModelsRequest()
            .with_namespace_name(self.hash1)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_lottery_models({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

抽選の種類の一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
items LotteryModel[] 抽選の種類のリスト

getLotteryModel

getLotteryModel

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetLotteryModel(
    &lottery.GetLotteryModelRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lotteryModel-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetLotteryModelRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getLotteryModel(
        (new GetLotteryModelRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lotteryModel-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetLotteryModelRequest;
import io.gs2.lottery.result.GetLotteryModelResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetLotteryModelResult result = client.getLotteryModel(
        new GetLotteryModelRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    LotteryModel item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetLotteryModelRequest;
using Gs2.Gs2Lottery.Result.GetLotteryModelResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getLotteryModel(
    new GetLotteryModelRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lotteryModel-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getLotteryModel(
        new Gs2Lottery.GetLotteryModelRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lotteryModel-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_lottery_model(
        lottery.GetLotteryModelRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lotteryModel-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_lottery_model({
    namespaceName='namespace1',
    lotteryName='lotteryModel-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

抽選の種類を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名

Result

説明
item LotteryModel 抽選の種類

describePrizeTables

describePrizeTables

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribePrizeTables(
    &lottery.DescribePrizeTablesRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribePrizeTablesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describePrizeTables(
        (new DescribePrizeTablesRequest())
            ->withNamespaceName(self::namespace1)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribePrizeTablesRequest;
import io.gs2.lottery.result.DescribePrizeTablesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribePrizeTablesResult result = client.describePrizeTables(
        new DescribePrizeTablesRequest()
            .withNamespaceName("namespace1")
    );
    List<PrizeTable> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribePrizeTablesRequest;
using Gs2.Gs2Lottery.Result.DescribePrizeTablesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describePrizeTables(
    new DescribePrizeTablesRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describePrizeTables(
        new Gs2Lottery.DescribePrizeTablesRequest()
            .withNamespaceName("namespace1")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_prize_tables(
        lottery.DescribePrizeTablesRequest()
            .with_namespace_name(self.hash1)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_prize_tables({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

排出確率テーブルの一覧を取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
items PrizeTable[] 排出確率テーブルのリスト

getPrizeTable

getPrizeTable

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetPrizeTable(
    &lottery.GetPrizeTableRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetPrizeTableRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getPrizeTable(
        (new GetPrizeTableRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetPrizeTableRequest;
import io.gs2.lottery.result.GetPrizeTableResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetPrizeTableResult result = client.getPrizeTable(
        new GetPrizeTableRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    PrizeTable item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetPrizeTableRequest;
using Gs2.Gs2Lottery.Result.GetPrizeTableResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getPrizeTable(
    new GetPrizeTableRequest()
        .withNamespaceName("namespace1")
        .withPrizeTableName("prizeTable-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getPrizeTable(
        new Gs2Lottery.GetPrizeTableRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_prize_table(
        lottery.GetPrizeTableRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_prize_table({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

排出確率テーブルを取得

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
prizeTableName string ~ 128文字 排出確率テーブル名

Result

説明
item PrizeTable 排出確率テーブル

drawByUserId

drawByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DrawByUserId(
    &lottery.DrawByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lottery-0001"),
        UserId: pointy.String("user-0001"),
        Count: pointy.Int32(1),
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
boxItems := result.BoxItems
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DrawByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->drawByUserId(
        (new DrawByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lottery-0001")
            ->withUserId("user-0001")
            ->withCount(1)
            ->withConfig(null)
    );
    $items = $result->getItems();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $boxItems = $result->getBoxItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DrawByUserIdRequest;
import io.gs2.lottery.result.DrawByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DrawByUserIdResult result = client.drawByUserId(
        new DrawByUserIdRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withUserId("user-0001")
            .withCount(1)
            .withConfig(null)
    );
    List<DrawnPrize> items = result.getItems();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    BoxItems boxItems = result.getBoxItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DrawByUserIdRequest;
using Gs2.Gs2Lottery.Result.DrawByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.drawByUserId(
    new DrawByUserIdRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lottery-0001")
        .withUserId("user-0001")
        .withCount(1)
        .withConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var boxItems = result.BoxItems;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.drawByUserId(
        new Gs2Lottery.DrawByUserIdRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withUserId("user-0001")
            .withCount(1)
            .withConfig(null)
    );
    const items = result.getItems();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const boxItems = result.getBoxItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.draw_by_user_id(
        lottery.DrawByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lottery-0001')
            .with_user_id('user-0001')
            .with_count(1)
            .with_config(None)
    )
    items = result.items
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    box_items = result.box_items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.draw_by_user_id({
    namespaceName='namespace1',
    lotteryName='lottery-0001',
    userId='user-0001',
    count=1,
    config=nil,
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
boxItems = result.boxItems;

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

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名
userId string ~ 128文字 ユーザーID
count int ~ 1000 抽選回数
config Config[] [] スタンプシートのプレースホルダの適用する設定値

Result

説明
items DrawnPrize[] 抽選結果の景品リスト
stampSheet string 排出された景品を入手するスタンプシート
stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN
boxItems BoxItems ボックスから取り出したアイテムのリスト

describeProbabilities

describeProbabilities

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeProbabilities(
    &lottery.DescribeProbabilitiesRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lottery-0001"),
        AccessToken: pointy.String("$access_token_0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeProbabilitiesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeProbabilities(
        (new DescribeProbabilitiesRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lottery-0001")
            ->withAccessToken(self::$accessToken0001)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeProbabilitiesRequest;
import io.gs2.lottery.result.DescribeProbabilitiesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeProbabilitiesResult result = client.describeProbabilities(
        new DescribeProbabilitiesRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withAccessToken("$access_token_0001")
    );
    List<Probability> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeProbabilitiesRequest;
using Gs2.Gs2Lottery.Result.DescribeProbabilitiesResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeProbabilities(
    new DescribeProbabilitiesRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lottery-0001")
        .withAccessToken("$access_token_0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeProbabilities(
        new Gs2Lottery.DescribeProbabilitiesRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withAccessToken("$access_token_0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_probabilities(
        lottery.DescribeProbabilitiesRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lottery-0001')
            .with_access_token(self.access_token_0001)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_probabilities({
    namespaceName='namespace1',
    lotteryName='lottery-0001',
    accessToken='$access_token_0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

排出確率を取得

通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名
accessToken string ~ 128文字 ユーザーID

Result

説明
items Probability[] 景品の当選確率リスト

describeProbabilitiesByUserId

describeProbabilitiesByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DescribeProbabilitiesByUserId(
    &lottery.DescribeProbabilitiesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        LotteryName: pointy.String("lottery-0001"),
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DescribeProbabilitiesByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeProbabilitiesByUserId(
        (new DescribeProbabilitiesByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withLotteryName("lottery-0001")
            ->withUserId("user-0001")
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DescribeProbabilitiesByUserIdRequest;
import io.gs2.lottery.result.DescribeProbabilitiesByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DescribeProbabilitiesByUserIdResult result = client.describeProbabilitiesByUserId(
        new DescribeProbabilitiesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withUserId("user-0001")
    );
    List<Probability> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DescribeProbabilitiesByUserIdRequest;
using Gs2.Gs2Lottery.Result.DescribeProbabilitiesByUserIdResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.describeProbabilitiesByUserId(
    new DescribeProbabilitiesByUserIdRequest()
        .withNamespaceName("namespace1")
        .withLotteryName("lottery-0001")
        .withUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.describeProbabilitiesByUserId(
        new Gs2Lottery.DescribeProbabilitiesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withLotteryName("lottery-0001")
            .withUserId("user-0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.describe_probabilities_by_user_id(
        lottery.DescribeProbabilitiesByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_lottery_name('lottery-0001')
            .with_user_id('user-0001')
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.describe_probabilities_by_user_id({
    namespaceName='namespace1',
    lotteryName='lottery-0001',
    userId='user-0001',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

排出確率を取得

通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
lotteryName string ~ 128文字 抽選モデルの種類名
userId string ~ 128文字 ユーザーID

Result

説明
items Probability[] 景品の当選確率リスト

drawByStampSheet

drawByStampSheet

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.DrawByStampSheet(
    &lottery.DrawByStampSheetRequest {
        StampSheet: pointy.String("$stampSheet"),
        KeyId: pointy.String("$key1.keyId"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
boxItems := result.BoxItems
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\DrawByStampSheetRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->drawByStampSheet(
        (new DrawByStampSheetRequest())
            ->withStampSheet(self::$stampSheet)
            ->withKeyId(self::$key1.keyId)
    );
    $items = $result->getItems();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $boxItems = $result->getBoxItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.DrawByStampSheetRequest;
import io.gs2.lottery.result.DrawByStampSheetResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    DrawByStampSheetResult result = client.drawByStampSheet(
        new DrawByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    List<DrawnPrize> items = result.getItems();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    BoxItems boxItems = result.getBoxItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.DrawByStampSheetRequest;
using Gs2.Gs2Lottery.Result.DrawByStampSheetResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.drawByStampSheet(
    new DrawByStampSheetRequest()
        .withStampSheet("$stampSheet")
        .withKeyId("$key1.keyId"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var boxItems = result.BoxItems;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.drawByStampSheet(
        new Gs2Lottery.DrawByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    const items = result.getItems();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const boxItems = result.getBoxItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.draw_by_stamp_sheet(
        lottery.DrawByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    items = result.items
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    box_items = result.box_items
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.draw_by_stamp_sheet({
    stampSheet='$stampSheet',
    keyId='$key1.keyId',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
boxItems = result.boxItems;

スタンプシートを使用して抽選処理を実行

Request

必須 デフォルト 値の制限 説明
stampSheet string ~ 5242880文字 スタンプシート
keyId string ~ 1024文字 暗号鍵GRN

Result

説明
items DrawnPrize[] 抽選結果の景品リスト
stampSheet string 排出された景品を入手するスタンプシート
stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN
boxItems BoxItems ボックスから取り出したアイテムのリスト

exportMaster

exportMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &lottery.ExportMasterRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\ExportMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->exportMaster(
        (new ExportMasterRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.ExportMasterRequest;
import io.gs2.lottery.result.ExportMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    ExportMasterResult result = client.exportMaster(
        new ExportMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentLotteryMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.ExportMasterRequest;
using Gs2.Gs2Lottery.Result.ExportMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.exportMaster(
    new ExportMasterRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.exportMaster(
        new Gs2Lottery.ExportMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.export_master(
        lottery.ExportMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.export_master({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

現在有効な抽選設定のマスターデータをエクスポートします

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
item CurrentLotteryMaster 現在有効な抽選設定

getCurrentLotteryMaster

getCurrentLotteryMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.GetCurrentLotteryMaster(
    &lottery.GetCurrentLotteryMasterRequest {
        NamespaceName: pointy.String("namespace1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\GetCurrentLotteryMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCurrentLotteryMaster(
        (new GetCurrentLotteryMasterRequest())
            ->withNamespaceName(self::namespace1)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.GetCurrentLotteryMasterRequest;
import io.gs2.lottery.result.GetCurrentLotteryMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    GetCurrentLotteryMasterResult result = client.getCurrentLotteryMaster(
        new GetCurrentLotteryMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentLotteryMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.GetCurrentLotteryMasterRequest;
using Gs2.Gs2Lottery.Result.GetCurrentLotteryMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.getCurrentLotteryMaster(
    new GetCurrentLotteryMasterRequest()
        .withNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.getCurrentLotteryMaster(
        new Gs2Lottery.GetCurrentLotteryMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.get_current_lottery_master(
        lottery.GetCurrentLotteryMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_current_lottery_master({
    namespaceName='namespace1',
});

if(api_result.isError) then
    # エラー発生時
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

現在有効な抽選設定を取得します

Request

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名

Result

説明
item CurrentLotteryMaster 現在有効な抽選設定

updateCurrentLotteryMaster

updateCurrentLotteryMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/lottery"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := lottery.Gs2LotteryRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentLotteryMaster(
    &lottery.UpdateCurrentLotteryMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Settings: pointy.String("{\n  \"version\": \"2019-02-21\",\n  \"lotteryModels\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"GACHA\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha\"\n    },\n    {\n      \"name\": \"gacha_ssr\",\n      \"metadata\": \"SSR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-ssr\"\n    },\n    {\n      \"name\": \"gacha_sr\",\n      \"metadata\": \"SR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-sr\"\n    },\n    {\n      \"name\": \"gacha_r\",\n      \"metadata\": \"R\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-r\"\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"mode\": \"box\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"box\"\n    }\n  ],\n  \"prizeTables\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"3\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-r\",\n          \"weight\": 80\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-ssr\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"6\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 3\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-sr\",\n      \"metadata\": \"SR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"9\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-r\",\n      \"metadata\": \"R\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"12\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 300\n        }\n      ]\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"15\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        }\n      ]\n    }\n  ]\n}"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Lottery\Gs2LotteryRestClient;
use Gs2\Lottery\Request\UpdateCurrentLotteryMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentLotteryMaster(
        (new UpdateCurrentLotteryMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withSettings("{\n  \"version\": \"2019-02-21\",\n  \"lotteryModels\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"GACHA\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha\"\n    },\n    {\n      \"name\": \"gacha_ssr\",\n      \"metadata\": \"SSR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-ssr\"\n    },\n    {\n      \"name\": \"gacha_sr\",\n      \"metadata\": \"SR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-sr\"\n    },\n    {\n      \"name\": \"gacha_r\",\n      \"metadata\": \"R\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-r\"\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"mode\": \"box\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"box\"\n    }\n  ],\n  \"prizeTables\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"3\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-r\",\n          \"weight\": 80\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-ssr\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"6\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 3\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-sr\",\n      \"metadata\": \"SR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"9\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-r\",\n      \"metadata\": \"R\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"12\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 300\n        }\n      ]\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"15\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        }\n      ]\n    }\n  ]\n}")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.lottery.rest.Gs2LotteryRestClient;
import io.gs2.lottery.request.UpdateCurrentLotteryMasterRequest;
import io.gs2.lottery.result.UpdateCurrentLotteryMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session);

try {
    UpdateCurrentLotteryMasterResult result = client.updateCurrentLotteryMaster(
        new UpdateCurrentLotteryMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2019-02-21\",\n  \"lotteryModels\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"GACHA\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha\"\n    },\n    {\n      \"name\": \"gacha_ssr\",\n      \"metadata\": \"SSR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-ssr\"\n    },\n    {\n      \"name\": \"gacha_sr\",\n      \"metadata\": \"SR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-sr\"\n    },\n    {\n      \"name\": \"gacha_r\",\n      \"metadata\": \"R\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-r\"\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"mode\": \"box\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"box\"\n    }\n  ],\n  \"prizeTables\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"3\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-r\",\n          \"weight\": 80\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-ssr\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"6\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 3\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-sr\",\n      \"metadata\": \"SR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"9\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-r\",\n      \"metadata\": \"R\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"12\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 300\n        }\n      ]\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"15\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        }\n      ]\n    }\n  ]\n}")
    );
    CurrentLotteryMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Lottery.Gs2LotteryRestClient;
using Gs2.Gs2Lottery.Request.UpdateCurrentLotteryMasterRequest;
using Gs2.Gs2Lottery.Result.UpdateCurrentLotteryMasterResult;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2LotteryRestClient(session);

AsyncResult<Gs2.Gs2Account.Result.CreateNamespaceResult> asyncResult = null;
yield return client.updateCurrentLotteryMaster(
    new UpdateCurrentLotteryMasterRequest()
        .withNamespaceName("namespace1")
        .withSettings("{\n  \"version\": \"2019-02-21\",\n  \"lotteryModels\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"GACHA\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha\"\n    },\n    {\n      \"name\": \"gacha_ssr\",\n      \"metadata\": \"SSR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-ssr\"\n    },\n    {\n      \"name\": \"gacha_sr\",\n      \"metadata\": \"SR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-sr\"\n    },\n    {\n      \"name\": \"gacha_r\",\n      \"metadata\": \"R\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-r\"\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"mode\": \"box\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"box\"\n    }\n  ],\n  \"prizeTables\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"3\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-r\",\n          \"weight\": 80\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-ssr\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"6\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 3\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-sr\",\n      \"metadata\": \"SR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"9\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-r\",\n      \"metadata\": \"R\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"12\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 300\n        }\n      ]\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"15\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        }\n      ]\n    }\n  ]\n}"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Lottery from '@/gs2/lottery';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Lottery.Gs2LotteryRestClient(session);

try {
    const result = await client.updateCurrentLotteryMaster(
        new Gs2Lottery.UpdateCurrentLotteryMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2019-02-21\",\n  \"lotteryModels\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"GACHA\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha\"\n    },\n    {\n      \"name\": \"gacha_ssr\",\n      \"metadata\": \"SSR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-ssr\"\n    },\n    {\n      \"name\": \"gacha_sr\",\n      \"metadata\": \"SR\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-sr\"\n    },\n    {\n      \"name\": \"gacha_r\",\n      \"metadata\": \"R\",\n      \"mode\": \"normal\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"gacha-r\"\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"mode\": \"box\",\n      \"method\": \"prize_table\",\n      \"prizeTableName\": \"box\"\n    }\n  ],\n  \"prizeTables\": [\n    {\n      \"name\": \"gacha\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"3\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-r\",\n          \"weight\": 80\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-ssr\",\n      \"metadata\": \"SSR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"6\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 3\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-sr\",\n      \"metadata\": \"SR\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"9\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        }\n      ]\n    },\n    {\n      \"name\": \"gacha-r\",\n      \"metadata\": \"R\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"12\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 300\n        }\n      ]\n    },\n    {\n      \"name\": \"box\",\n      \"metadata\": \"BOX\",\n      \"prizes\": [\n        {\n          \"prizeId\": \"13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"15\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        }\n      ]\n    }\n  ]\n}")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import lottery

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = lottery.Gs2LotteryRestClient(session)

try:
    result = client.update_current_lottery_master(
        lottery.UpdateCurrentLotteryMasterRequest()
            .with_namespace_name(self.hash1)
            .with_settings('{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "prizeId": "1",\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "prizeId": "2",\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "prizeId": "3",\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "prizeId": "4",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "prizeId": "5",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "prizeId": "6",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n      "name": "gacha-sr",\n      "metadata": "SR",\n      "prizes": [\n        {\n          "prizeId": "7",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "prizeId": "8",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "9",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 30\n        }\n      ]\n    },\n    {\n      "name": "gacha-r",\n      "metadata": "R",\n      "prizes": [\n        {\n          "prizeId": "10",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "prizeId": "11",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "prizeId": "12",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 300\n        }\n      ]\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "prizes": [\n        {\n          "prizeId": "13",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "prizeId": "14",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "15",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 10\n        }\n      ]\n    }\n  ]\n}')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.update_current_lottery_master({
    namespaceName='namespace1',
    settings='{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "prizeId": "1",\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "prizeId": "2",\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "prizeId": "3",\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "prizeId": "4",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "prizeId": "5",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "prizeId": "6",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n