NAV
go python java php typescript csharp GS2-Script

GS2-Lottery

GS2 SDK Reference

GS2 SDK Reference

Models

Namespace

Namespace

Namespace is a mechanism that allows multiple uses of the same service for different purposes within a single project.
Basically, GS2 services have a layer called namespace, and different namespaces are treated as completely different data spaces, even for the same service.

Therefore, it is necessary to create a namespace before starting to use each service.

Type Description
namespaceId string Namespace GRN
name string Namespace name
description string description of Namespace
transactionSetting TransactionSetting Transaction settings
lotteryTriggerScriptId string GS2-Script scripts to be called when the lottery is executed
choicePrizeTableScriptId string GS2-Script script for dynamically determining lottery probability tables
logSetting LogSetting Log output settings
createdAt long Datetime of creation
updatedAt long Datetime of last update

LotteryModelMaster

Lottery Model Master

The Lottery Model Master is the entity that defines the emission method and emission rate in Lottery.
There are two types of emission methods: the normal lottery method draws lots with a fixed probability each time, and the rate of emission is determined by the number of lots drawn.
The box lottery is a lottery method in which a predefined number of prizes are placed in a box and the prizes are removed from the box each time the lottery is drawn.

The lottery process uses an ejection probability table.
GS2-Script can be used to replace a part of the ejection probability table with a different table when multiple drawings are performed.
By using this mechanism, it is possible to apply a different lottery probability table only once in a 10-round gacha.

Type Description
lotteryModelId string Lottery Model Master GRN
name string Lottery Model Name
metadata string metadata
description string description of Namespace
mode enum ['normal', 'box'] Drawing mode
method enum ['prize_table', 'script'] Lottery Method
prizeTableName string Name of prize table
choicePrizeTableScriptId string GS2-Script script to determine the emission probability table
createdAt long Datetime of creation
updatedAt long Datetime of last update

PrizeTableMaster

Prize Table Master

The prize can be a stamp sheet reward or a further emission probability table.
By nesting the emission probability tables, a table that draws for SSR/SR/R rarity can be passed through the table.
The second tier can be set up to draw for specific content.
In this way, it is easier to adjust the overall emission probability of each rarity.

Type Description
prizeTableId string Prize Table Master GRN
name string Prize Table Name
metadata string metadata
description string description of Namespace
prizes Prize[] List of Prize
createdAt long Datetime of creation
updatedAt long Datetime of last update

LotteryModel

Lottery Model

The Lottery Model is the entity that defines the emission method and emission rate in Lottery.
There are two types of emission methods: the normal lottery method draws lots with a fixed probability each time, and the rate of emission is determined by the number of lots drawn.
The box lottery is a lottery method in which a predefined number of prizes are placed in a box and the prizes are removed from the box each time the lottery is drawn.

The lottery process uses an ejection probability table.
GS2-Script can be used to replace a part of the ejection probability table with a different table when multiple drawings are performed.
By using this mechanism, it is possible to apply a different lottery probability table only once in a 10-round gacha.

Type Description
lotteryModelId string Prize Table GRN
name string Lottery Model Name
metadata string metadata
mode enum ['normal', 'box'] Drawing mode
method enum ['prize_table', 'script'] Lottery Method
prizeTableName string Name of prize table
choicePrizeTableScriptId string GS2-Script script to determine the emission probability table

PrizeTable

Prize Table

The prize can be either a stamp sheet reward or a further emission probability table.
By nesting the emission probability tables, a table that draws for SSR/SR/R rarity can be passed through the table.
The second tier can be set up to draw for specific content.
In this way, it is easier to adjust the overall emission probability of each rarity.

Type Description
prizeTableId string Prize Table GRN
name string Name of prize table
metadata string metadata
prizes Prize[] List of Prizes

Probability

Type Description
prize DrawnPrize Type of prize
rate float Emission probability (0.0-1.0)

CurrentLotteryMaster

Currently available master data

GS2 uses JSON format files for master data management.
By uploading the file, you can actually reflect the settings on the server.

We provide a master data editor on the management console as a way to create JSON files, but you can also create JSON files using the
The service can also be used by creating a tool more appropriate for game management and exporting a JSON file in the appropriate format.

Please refer to the documentation for the format of the JSON file.

Type Description
namespaceId string Namespace GRN
settings string Master data

Prize

Type Description
prizeId string Prize ID
type enum ['action', 'prize_table'] Type of prize
acquireActions AcquireAction[] List of Acquire Action
drawnLimit int Maximum number of draws
limitFailOverPrizeId string Prize ID to be discharged instead when the maximum number of drawn has been reached.
prizeTableName string Name of prize table
weight int Emission Weight

PrizeLimit

PrizeLimit

Type Description
prizeLimitId string Prize Limit GRN
prizeId string Name of prize table
drawnCount int Number of drawn
createdAt long Datetime of creation
updatedAt long Datetime of last update

DrawnPrize

Type Description
prizeId string Prize ID
acquireActions AcquireAction[] List of Acquire Actions

BoxItem

Type Description
acquireActions AcquireAction[] List of Acquire Action
remaining int Remaining quantity
initial int Initial quantity

BoxItems

Type Description
boxId string Box GRN
prizeTableName string Prize Table Name
userId string User Id
items BoxItem[] List of Items taken out of the box

AcquireAction

Type Description
action enum [] Types of actions to be performed in the stamp sheet
request string JSON of request

Config

Type Description
key string Name
value string Value

GitHubCheckoutSetting

Type Description
apiKeyId string GitHub API key GRN
repositoryName string Repository Name
sourcePath string Source code file path
referenceType enum ['commit_hash', 'branch', 'tag'] Source of code
commitHash string Commit hash
branchName string Branch Name
tagName string Tag Name

LogSetting

Type Description
loggingNamespaceId string Namespace GRN

TransactionSetting

Type Description
enableAutoRun bool Automatically run issued stamp sheets on the server side, or
distributorNamespaceId string GS2-Distributor namespace used for stamp sheet execution
keyId string GS2-Key encryption key used to sign the stamp sheet
queueNamespaceId string Namespace in GS2-JobQueue used to run the stamp sheet

Methods

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.Gs2Lottery.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of namespaces



Request

Type Require Default Limitation Description
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items Namespace[] List of Namespace
nextPageToken string Page token to retrieve the rest of the listing

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,
        TransactionSetting: &lottery.TransactionSetting{
            EnableAutoRun: pointy.Bool(false),
            QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001"),
            KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"),
        },
        LotteryTriggerScriptId: nil,
        ChoicePrizeTableScriptId: nil,
        LogSetting: &lottery.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log: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\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)
            ->withTransactionSetting((new \Gs2\Lottery\Model\TransactionSetting())
                ->withEnableAutoRun(False)
                ->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
                ->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:\namespace1:key:key-0001"))
            ->withLotteryTriggerScriptId(null)
            ->withChoicePrizeTableScriptId(null)
            ->withLogSetting((new \Gs2\Lottery\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\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.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)
            .withTransactionSetting(new io.gs2.lottery.model.TransactionSetting()
                .withEnableAutoRun(false)
                .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
                .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new io.gs2.lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.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.Gs2Lottery.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2Lottery.Request.CreateNamespaceRequest()
        .WithName("namespace1")
        .WithDescription(null)
        .WithTransactionSetting(new Gs2.Gs2Lottery.Model.TransactionSetting()
            .WithEnableAutoRun(false)
            .WithQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
            .WithKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
        .WithLotteryTriggerScriptId(null)
        .WithChoicePrizeTableScriptId(null)
        .WithLogSetting(new Gs2.Gs2Lottery.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.createNamespace(
        new Gs2Lottery.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(new Gs2Lottery.model.TransactionSetting()
                .withEnableAutoRun(false)
                .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001")
                .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001"))
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new Gs2Lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.create_namespace(
        lottery.CreateNamespaceRequest()
            .with_name(self.hash1)
            .with_description(None)
            .with_transaction_setting(
                lottery.TransactionSetting()
                    .with_enable_auto_run(False)
                    .with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0001')
                    .with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1: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:namespace1'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

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

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Create a new namespace



Request

Type Require Default Limitation Description
name string ~ 32 chars Namespace name
description string ~ 1024 chars description of Namespace
transactionSetting TransactionSetting Transaction settings
lotteryTriggerScriptId string ~ 1024 chars GS2-Script scripts to be called when the lottery is executed
choicePrizeTableScriptId string ~ 1024 chars GS2-Script script for dynamically determining lottery probability tables
logSetting LogSetting Log output settings

Result

Type Description
item Namespace Namespace created

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.Gs2Lottery.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
status = result.status;



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
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.Gs2Lottery.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Get namespace



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
item Namespace 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"),
        TransactionSetting: &lottery.TransactionSetting{
            EnableAutoRun: pointy.Bool(false),
            QueueNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002"),
            KeyId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"),
        },
        LotteryTriggerScriptId: nil,
        ChoicePrizeTableScriptId: nil,
        LogSetting: &lottery.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log: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\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")
            ->withTransactionSetting((new \Gs2\Lottery\Model\TransactionSetting())
                ->withEnableAutoRun(False)
                ->withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
                ->withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:\namespace1:key:key-0002"))
            ->withLotteryTriggerScriptId(null)
            ->withChoicePrizeTableScriptId(null)
            ->withLogSetting((new \Gs2\Lottery\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\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.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")
            .withTransactionSetting(new io.gs2.lottery.model.TransactionSetting()
                .withEnableAutoRun(false)
                .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
                .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new io.gs2.lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.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.Gs2Lottery.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2Lottery.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace1")
        .WithDescription("description1")
        .WithTransactionSetting(new Gs2.Gs2Lottery.Model.TransactionSetting()
            .WithEnableAutoRun(false)
            .WithQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
            .WithKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
        .WithLotteryTriggerScriptId(null)
        .WithChoicePrizeTableScriptId(null)
        .WithLogSetting(new Gs2.Gs2Lottery.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.updateNamespace(
        new Gs2Lottery.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new Gs2Lottery.model.TransactionSetting()
                .withEnableAutoRun(false)
                .withQueueNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002")
                .withKeyId("grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0002"))
            .withLotteryTriggerScriptId(null)
            .withChoicePrizeTableScriptId(null)
            .withLogSetting(new Gs2Lottery.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log: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.update_namespace(
        lottery.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_transaction_setting(
                lottery.TransactionSetting()
                    .with_enable_auto_run(False)
                    .with_queue_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:queue:queue-0002')
                    .with_key_id('grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1: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:namespace1'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

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

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Update namespace



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
description string ~ 1024 chars description of Namespace
transactionSetting TransactionSetting Transaction settings
lotteryTriggerScriptId string ~ 1024 chars GS2-Script scripts to be called when the lottery is executed
choicePrizeTableScriptId string ~ 1024 chars GS2-Script script for dynamically determining lottery probability tables
logSetting LogSetting Log output settings

Result

Type Description
item Namespace Updated 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.Gs2Lottery.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Delete namespace



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
item Namespace Deleted 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.Gs2Lottery.Result.DescribeLotteryModelMastersResult> asyncResult = null;
yield return client.DescribeLotteryModelMasters(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of lottery model masters



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items LotteryModelMaster[] List of Lottery Model Master
nextPageToken string Page token to retrieve the rest of the listing

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.Gs2Lottery.Result.CreateLotteryModelMasterResult> asyncResult = null;
yield return client.CreateLotteryModelMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Create a new lottery model master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
name string ~ 128 chars Lottery Model Name
description string ~ 1024 chars description of Namespace
metadata string ~ 128 chars metadata
mode enum ['normal', 'box'] ~ 128 chars Drawing mode
method enum ['prize_table', 'script'] ~ 128 chars Lottery Method
prizeTableName string {method} == "prize_table" ~ 128 chars Name of prize table
choicePrizeTableScriptId string {method} == "script" ~ 1024 chars GS2-Script script to determine the emission probability table

Result

Type Description
item LotteryModelMaster Lottery model master created

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.Gs2Lottery.Result.GetLotteryModelMasterResult> asyncResult = null;
yield return client.GetLotteryModelMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Obtain a lottery model master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name

Result

Type Description
item LotteryModelMaster Lottery Model Master

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.Gs2Lottery.Result.UpdateLotteryModelMasterResult> asyncResult = null;
yield return client.UpdateLotteryModelMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Update Lottery Model Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name
description string ~ 1024 chars description of Namespace
metadata string ~ 128 chars metadata
mode enum ['normal', 'box'] ~ 128 chars Drawing mode
method enum ['prize_table', 'script'] ~ 128 chars Lottery Method
prizeTableName string {method} == "prize_table" ~ 128 chars Name of prize table
choicePrizeTableScriptId string {method} == "script" ~ 1024 chars GS2-Script script to determine the emission probability table

Result

Type Description
item LotteryModelMaster Updated Lottery Model Master

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.Gs2Lottery.Result.DeleteLotteryModelMasterResult> asyncResult = null;
yield return client.DeleteLotteryModelMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Delete Lottery Model Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name

Result

Type Description
item LotteryModelMaster Deleted Lottery Model Master

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.Gs2Lottery.Result.DescribePrizeTableMastersResult> asyncResult = null;
yield return client.DescribePrizeTableMasters(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of prize table masters



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items PrizeTableMaster[] List of Emission probability table
nextPageToken string Page token to retrieve the rest of the listing

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.Gs2Lottery.Result.CreatePrizeTableMasterResult> asyncResult = null;
yield return client.CreatePrizeTableMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Create new prize table master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
name string ~ 128 chars Prize Table Name
description string ~ 1024 chars description of Namespace
metadata string ~ 128 chars metadata
prizes Prize[] List of Prize

Result

Type Description
item PrizeTableMaster Created prize table master

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.Gs2Lottery.Result.GetPrizeTableMasterResult> asyncResult = null;
yield return client.GetPrizeTableMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Obtain prize table master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Prize Table Name

Result

Type Description
item PrizeTableMaster Emission Probability Table Master

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.Gs2Lottery.Result.UpdatePrizeTableMasterResult> asyncResult = null;
yield return client.UpdatePrizeTableMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Update prize table master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Prize Table Name
description string ~ 1024 chars description of Namespace
metadata string ~ 128 chars metadata
prizes Prize[] List of Prize

Result

Type Description
item PrizeTableMaster Updated prize table master

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.Gs2Lottery.Result.DeletePrizeTableMasterResult> asyncResult = null;
yield return client.DeletePrizeTableMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Delete prize table master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Prize Table Name

Result

Type Description
item PrizeTableMaster Deleted prize table master

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.Gs2Lottery.Result.DescribeLotteryModelsResult> asyncResult = null;
yield return client.DescribeLotteryModels(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

Get list of lottery models



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
items LotteryModel[] List of Lottery Model

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.Gs2Lottery.Result.GetLotteryModelResult> asyncResult = null;
yield return client.GetLotteryModel(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Get Lottery Model



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name

Result

Type Description
item LotteryModel Lottery Model

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.Gs2Lottery.Result.DescribePrizeTablesResult> asyncResult = null;
yield return client.DescribePrizeTables(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

Get list of prize tables



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
items PrizeTable[] List of Emission probability table

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.Gs2Lottery.Result.GetPrizeTableResult> asyncResult = null;
yield return client.GetPrizeTable(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Obtain prize table



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Name of prize table

Result

Type Description
item PrizeTable Emission probability table

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
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
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();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} 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 transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} 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.Gs2Lottery.Result.DrawByUserIdResult> asyncResult = null;
yield return client.DrawByUserId(
    new Gs2.Gs2Lottery.Request.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 transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
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 transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} 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
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;

Drawing lots by specifying user IDs



Request

Type Require Default Limitation Description
namespaceName string ~ 128 chars Namespace name
lotteryName string ~ 128 chars Name of lottery model type
userId string ~ 128 chars User Id
count int 1 ~ 1000 Number of draws
config Config[] [] Stamp sheet placeholder applied settings values

Result

Type Description
items DrawnPrize[] List of Prize emission
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet to obtain emission prizes
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?

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
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
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();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} 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 transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} 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.Gs2Lottery.Result.DrawByStampSheetResult> asyncResult = null;
yield return client.DrawByStampSheet(
    new Gs2.Gs2Lottery.Request.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 transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
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 transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} 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
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;

Perform the lottery process using a stamp sheet



Request

Type Require Default Limitation Description
stampSheet string ~ 5242880 chars Stamp sheet
keyId string ~ 1024 chars encryption key GRN

Result

Type Description
items DrawnPrize[] List of Prize emission
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet to obtain emission prizes
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?

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.Gs2Lottery.Result.DescribeProbabilitiesResult> asyncResult = null;
yield return client.DescribeProbabilities(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

Get emission probability

The normal lottery responds with the same probability for all game players.
The box draw responds with a different probability for each game player, taking into account the remaining contents of the box.



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name
accessToken string ~ 128 chars User Id

Result

Type Description
items Probability[] List of Emission rate

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.Gs2Lottery.Result.DescribeProbabilitiesByUserIdResult> asyncResult = null;
yield return client.DescribeProbabilitiesByUserId(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
items = result.items;

Get emission probability by specifying user ID

The normal lottery responds with the same probability for all game players.
The box draw responds with a different probability for each game player, taking into account the remaining contents of the box.



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
lotteryName string ~ 128 chars Lottery Model Name
userId string ~ 128 chars User Id

Result

Type Description
items Probability[] List of Emission rate

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.Gs2Lottery.Result.ExportMasterResult> asyncResult = null;
yield return client.ExportMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Export master data for currently active draw settings



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
item CurrentLotteryMaster Currently available lottery settings

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.Gs2Lottery.Result.GetCurrentLotteryMasterResult> asyncResult = null;
yield return client.GetCurrentLotteryMaster(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Get the currently available lottery settings



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name

Result

Type Description
item CurrentLotteryMaster Currently available lottery settings

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\": \"prize-1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"prize-2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"prize-5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"prize-8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"prize-11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"prize-14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"prize-2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"prize-5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"prize-8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"prize-11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"prize-14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"prize-2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"prize-5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"prize-8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"prize-11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"prize-14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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.Gs2Lottery.Result.UpdateCurrentLotteryMasterResult> asyncResult = null;
yield return client.UpdateCurrentLotteryMaster(
    new Gs2.Gs2Lottery.Request.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\": \"prize-1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"prize-2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"prize-5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"prize-8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"prize-11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"prize-14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-1\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-ssr\",\n          \"weight\": 5\n        },\n        {\n          \"prizeId\": \"prize-2\",\n          \"type\": \"prize_table\",\n          \"prizeTableName\": \"gacha-sr\",\n          \"weight\": 15\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-4\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 1\n        },\n        {\n          \"prizeId\": \"prize-5\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 2\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-7\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 10\n        },\n        {\n          \"prizeId\": \"prize-8\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-10\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 100\n        },\n        {\n          \"prizeId\": \"prize-11\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 200\n        },\n        {\n          \"prizeId\": \"prize-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\": \"prize-13\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 30\n        },\n        {\n          \"prizeId\": \"prize-14\",\n          \"type\": \"action\",\n          \"acquireActions\": [\n            {\n              \"action\": \"Gs2Money:DepositByUserId\",\n              \"request\": \"{\\\"count\\\": 1}\"\n            }\n          ],\n          \"weight\": 20\n        },\n        {\n          \"prizeId\": \"prize-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": "prize-1",\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "prizeId": "prize-2",\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "prizeId": "prize-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": "prize-4",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "prizeId": "prize-5",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "prizeId": "prize-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": "prize-7",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "prizeId": "prize-8",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "prize-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": "prize-10",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "prizeId": "prize-11",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "prizeId": "prize-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": "prize-13",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "prizeId": "prize-14",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "prize-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": "prize-1",\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "prizeId": "prize-2",\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "prizeId": "prize-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": "prize-4",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "prizeId": "prize-5",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "prizeId": "prize-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": "prize-7",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "prizeId": "prize-8",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "prize-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": "prize-10",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "prizeId": "prize-11",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "prizeId": "prize-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": "prize-13",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "prizeId": "prize-14",\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\"count\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "prizeId": "prize-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(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Update the currently active lottery settings



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
settings string ~ 5242880 chars Master data

Result

Type Description
item CurrentLotteryMaster Updated, currently available lottery settings

updateCurrentLotteryMasterFromGitHub

updateCurrentLotteryMasterFromGitHub

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.UpdateCurrentLotteryMasterFromGitHub(
    &lottery.UpdateCurrentLotteryMasterFromGitHubRequest {
        NamespaceName: pointy.String("namespace1"),
        CheckoutSetting: {'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'},
    }
)
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\UpdateCurrentLotteryMasterFromGitHubRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentLotteryMasterFromGitHub(
        (new UpdateCurrentLotteryMasterFromGitHubRequest())
            ->withNamespaceName(self::namespace1)
            ->withCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    );
    $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.UpdateCurrentLotteryMasterFromGitHubRequest;
import io.gs2.lottery.result.UpdateCurrentLotteryMasterFromGitHubResult;

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

try {
    UpdateCurrentLotteryMasterFromGitHubResult result = client.updateCurrentLotteryMasterFromGitHub(
        new UpdateCurrentLotteryMasterFromGitHubRequest()
            .withNamespaceName("namespace1")
            .withCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    );
    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.UpdateCurrentLotteryMasterFromGitHubRequest;
using Gs2.Gs2Lottery.Result.UpdateCurrentLotteryMasterFromGitHubResult;

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.Gs2Lottery.Result.UpdateCurrentLotteryMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentLotteryMasterFromGitHub(
    new Gs2.Gs2Lottery.Request.UpdateCurrentLotteryMasterFromGitHubRequest()
        .WithNamespaceName("namespace1")
        .WithCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'}),
    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.updateCurrentLotteryMasterFromGitHub(
        new Gs2Lottery.UpdateCurrentLotteryMasterFromGitHubRequest()
            .withNamespaceName("namespace1")
            .withCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    );
    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_from_git_hub(
        lottery.UpdateCurrentLotteryMasterFromGitHubRequest()
            .with_namespace_name(self.hash1)
            .with_checkout_setting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.update_current_lottery_master_from_git_hub({
    namespaceName='namespace1',
    checkoutSetting={'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'},
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Update the currently active lottery settings



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
checkoutSetting GitHubCheckoutSetting Setup to check out master data from GitHub

Result

Type Description
item CurrentLotteryMaster Updated, currently available lottery settings

describePrizeLimits

describePrizeLimits

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.DescribePrizeLimits(
    &lottery.DescribePrizeLimitsRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-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\DescribePrizeLimitsRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describePrizeLimits(
        (new DescribePrizeLimitsRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-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.DescribePrizeLimitsRequest;
import io.gs2.lottery.result.DescribePrizeLimitsResult;

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

try {
    DescribePrizeLimitsResult result = client.describePrizeLimits(
        new DescribePrizeLimitsRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<PrizeLimit> 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.DescribePrizeLimitsRequest;
using Gs2.Gs2Lottery.Result.DescribePrizeLimitsResult;

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.Gs2Lottery.Result.DescribePrizeLimitsResult> asyncResult = null;
yield return client.DescribePrizeLimits(
    new Gs2.Gs2Lottery.Request.DescribePrizeLimitsRequest()
        .WithNamespaceName("namespace1")
        .WithPrizeTableName("prizeTable-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.describePrizeLimits(
        new Gs2Lottery.DescribePrizeLimitsRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-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_prize_limits(
        lottery.DescribePrizeLimitsRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-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_prize_limits({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of prizeLimits



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Name of prize table
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items PrizeLimit[] List of prizeLimits
nextPageToken string Page token to retrieve the rest of the listing

getPrizeLimit

getPrizeLimit

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.GetPrizeLimit(
    &lottery.GetPrizeLimitRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        PrizeId: pointy.String("prize-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\GetPrizeLimitRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getPrizeLimit(
        (new GetPrizeLimitRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withPrizeId("prize-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.GetPrizeLimitRequest;
import io.gs2.lottery.result.GetPrizeLimitResult;

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

try {
    GetPrizeLimitResult result = client.getPrizeLimit(
        new GetPrizeLimitRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withPrizeId("prize-0001")
    );
    PrizeLimit 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.GetPrizeLimitRequest;
using Gs2.Gs2Lottery.Result.GetPrizeLimitResult;

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.Gs2Lottery.Result.GetPrizeLimitResult> asyncResult = null;
yield return client.GetPrizeLimit(
    new Gs2.Gs2Lottery.Request.GetPrizeLimitRequest()
        .WithNamespaceName("namespace1")
        .WithPrizeTableName("prizeTable-0001")
        .WithPrizeId("prize-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.getPrizeLimit(
        new Gs2Lottery.GetPrizeLimitRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withPrizeId("prize-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_limit(
        lottery.GetPrizeLimitRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_prize_id('prize-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.get_prize_limit({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    prizeId='prize-0001',
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result
item = result.item;

Get PrizeLimit



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Name of prize table
prizeId string UUID ~ 36 chars Prize ID

Result

Type Description
item PrizeLimit prizeLimit

resetPrizeLimit

resetPrizeLimit

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.ResetPrizeLimit(
    &lottery.ResetPrizeLimitRequest {
        NamespaceName: pointy.String("namespace1"),
        PrizeTableName: pointy.String("prizeTable-0001"),
        PrizeId: pointy.String("prize-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\ResetPrizeLimitRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->resetPrizeLimit(
        (new ResetPrizeLimitRequest())
            ->withNamespaceName(self::namespace1)
            ->withPrizeTableName("prizeTable-0001")
            ->withPrizeId("prize-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.ResetPrizeLimitRequest;
import io.gs2.lottery.result.ResetPrizeLimitResult;

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

try {
    ResetPrizeLimitResult result = client.resetPrizeLimit(
        new ResetPrizeLimitRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withPrizeId("prize-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.ResetPrizeLimitRequest;
using Gs2.Gs2Lottery.Result.ResetPrizeLimitResult;

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.Gs2Lottery.Result.ResetPrizeLimitResult> asyncResult = null;
yield return client.ResetPrizeLimit(
    new Gs2.Gs2Lottery.Request.ResetPrizeLimitRequest()
        .WithNamespaceName("namespace1")
        .WithPrizeTableName("prizeTable-0001")
        .WithPrizeId("prize-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.resetPrizeLimit(
        new Gs2Lottery.ResetPrizeLimitRequest()
            .withNamespaceName("namespace1")
            .withPrizeTableName("prizeTable-0001")
            .withPrizeId("prize-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_prize_limit(
        lottery.ResetPrizeLimitRequest()
            .with_namespace_name(self.hash1)
            .with_prize_table_name('prizeTable-0001')
            .with_prize_id('prize-0001')
    )
except core.Gs2Exception as e:
    exit(1)

client = gs2('lottery')

api_result = client.reset_prize_limit({
    namespaceName='namespace1',
    prizeTableName='prizeTable-0001',
    prizeId='prize-0001',
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

result = api_result.result

Reset PrizeLimit



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
prizeTableName string ~ 128 chars Name of prize table
prizeId string UUID ~ 36 chars Prize ID

Result

Type Description

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<BoxItems> 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.Gs2Lottery.Result.DescribeBoxesResult> asyncResult = null;
yield return client.DescribeBoxes(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of boxes



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
accessToken string ~ 128 chars User Id
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items BoxItems[] List of boxes
nextPageToken string Page token to retrieve the rest of the listing

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<BoxItems> 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.Gs2Lottery.Result.DescribeBoxesByUserIdResult> asyncResult = null;
yield return client.DescribeBoxesByUserId(
    new Gs2.Gs2Lottery.Request.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
    -- When error occurs
    fail(api_result['statusCode'], api_result['message'])
end

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

Get list of boxes by specifying a user ID



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
userId string ~ 128 chars User Id
pageToken string ~ 1024 chars Token specifying the position from which to start acquiring data
limit int 30 1 ~ 1000 Number of data acquired

Result

Type Description
items BoxItems[] List of boxes
nextPageToken string Page token to retrieve the rest of the listing

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 {