GS2-LoginReward SDK API リファレンス

モデル

Namespace

ネームスペース

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

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

有効化条件必須デフォルト値の制限説明
namespaceIdstring~ 1024文字ネームスペースGRN
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
receiveScriptScriptSetting報酬を受け取る時に実行するスクリプト
logSettingLogSettingログの出力設定
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

BonusModelMaster

ボーナスモデル ログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。

スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。

ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。

スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。

スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。

有効化条件必須デフォルト値の制限説明
bonusModelIdstring~ 1024文字ログインボーナスモデルマスターGRN
namestring~ 128文字ログインボーナスモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
modeenum [‘schedule’, ‘streaming’]~ 128文字モード
periodEventIdstring~ 1024文字ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN
resetHourint{periodEventId} == ""~ 23受け取りフラグのリセット時間(UTC)
repeatenum [’enabled’, ‘disabled’]{mode} == “streaming”~ 128文字ストリームの終端に達した時に繰り返しを行うか
rewardsList<Reward>報酬リスト
missedReceiveReliefenum [’enabled’, ‘disabled’]“disabled”~ 128文字取り逃がし救済機能
missedReceiveReliefConsumeActionsList<ConsumeAction>{missedReceiveRelief} == “enabled”取り逃がし救済の消費アクションリスト
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

CurrentBonusMaster

現在有効なマスターデータ

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

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

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

有効化条件必須デフォルト値の制限説明
namespaceIdstring~ 1024文字現在有効なログインボーナスマスターGRN
settingsstring~ 5242880文字マスターデータ

BonusModel

ボーナスモデル ログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。

スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。

ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。

スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。

スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。

有効化条件必須デフォルト値の制限説明
bonusModelIdstring~ 1024文字ログインボーナスモデルGRN
namestring~ 128文字ボーナスモデル名
metadatastring~ 2048文字メタデータ
modeenum [‘schedule’, ‘streaming’]~ 128文字モード
periodEventIdstring~ 1024文字ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN
resetHourint{periodEventId} == ""~ 23受け取りフラグのリセット時間(UTC)
repeatenum [’enabled’, ‘disabled’]{mode} == “streaming”~ 128文字受け取りフラグのリセット時間(UTC)
rewardsList<Reward>報酬リスト
missedReceiveReliefenum [’enabled’, ‘disabled’]“disabled”~ 128文字取り逃がし救済機能
missedReceiveReliefConsumeActionsList<ConsumeAction>{missedReceiveRelief} == “enabled”取り逃がし救済の消費アクションリスト

Reward

有効化条件必須デフォルト値の制限説明
acquireActionsList<AcquireAction>入手アクションリスト

ReceiveStatus

受け取り状態

ログインボーナスの受け取り状態を保持するモデルです。

有効化条件必須デフォルト値の制限説明
receiveStatusIdstring~ 1024文字ログインボーナス受け取り状態GRN
bonusModelNamestring~ 128文字ボーナスモデルの名前
userIdstring~ 128文字ユーザーID
receivedStepsList<bool>受け取り済みフラグのリスト
lastReceivedAtlong0最終受け取り時刻
createdAtlong作成日時
updatedAtlong最終更新日時
revisionlong0~ 9223372036854775805リビジョン

ConsumeAction

有効化条件必須デフォルト値の制限説明
actionenum []~ 128文字スタンプタスクで実行するアクションの種類
requeststring~ 1048576文字入手リクエストのJSON

AcquireAction

有効化条件必須デフォルト値の制限説明
actionenum []~ 128文字スタンプシートを使用して実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

Config

有効化条件必須デフォルト値の制限説明
keystring~ 64文字名前
valuestring~ 51200文字

GitHubCheckoutSetting

有効化条件必須デフォルト値の制限説明
apiKeyIdstring~ 1024文字GitHub のAPIキーGRN
repositoryNamestring~ 1024文字リポジトリ名
sourcePathstring~ 1024文字ソースコードのファイルパス
referenceTypeenum [‘commit_hash’, ‘branch’, ’tag’]~ 128文字コードの取得元
commitHashstring{referenceType} == “commit_hash”~ 1024文字コミットハッシュ
branchNamestring{referenceType} == “branch”~ 1024文字ブランチ名
tagNamestring{referenceType} == “tag”~ 1024文字タグ名

LogSetting

有効化条件必須デフォルト値の制限説明
loggingNamespaceIdstring~ 1024文字ネームスペースGRN

TransactionSetting

有効化条件必須デフォルト値の制限説明
enableAutoRunboolfalse発行したスタンプシートをサーバーサイドで自動的に実行するか
distributorNamespaceIdstring{enableAutoRun}~ 1024文字スタンプシートの実行に使用する GS2-Distributor ネームスペース
keyIdstring!{enableAutoRun}~ 1024文字スタンプシートの署名に使用する GS2-Key の暗号鍵
queueNamespaceIdstring~ 1024文字スタンプシートの実行に使用する GS2-JobQueue のネームスペース

ScriptSetting

有効化条件必須デフォルト値の制限説明
triggerScriptIdstring~ 1024文字スクリプトGRN
doneTriggerTargetTypeenum [’none’, ‘gs2_script’, ‘aws’]“none”~ 128文字完了通知の通知先
doneTriggerScriptIdstring{doneTriggerTargetType} == “gs2_script”~ 1024文字スクリプトGRN
doneTriggerQueueNamespaceIdstring{doneTriggerTargetType} == “gs2_script”~ 1024文字ネームスペースGRN

メソッド

describeNamespaces

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

Request

有効化条件必須デフォルト値の制限説明
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<Namespace>ネームスペースのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &login_reward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.DescribeNamespacesRequest;
import io.gs2.loginReward.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LoginRewardRestClient client = new Gs2LoginRewardRestClient(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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.DescribeNamespacesRequest;
using Gs2.Gs2LoginReward.Result.DescribeNamespacesResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.describeNamespaces(
        new Gs2LoginReward.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 login_reward

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

try:
    result = client.describe_namespaces(
        login_reward.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('loginReward')

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;

createNamespace

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

Request

有効化条件必須デフォルト値の制限説明
namestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
receiveScriptScriptSetting報酬を受け取る時に実行するスクリプト
logSettingLogSettingログの出力設定

Result

説明
itemNamespace作成したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &login_reward.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        TransactionSetting: &loginReward.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"),
        },
        ReceiveScript: nil,
        LogSetting: &loginReward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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\LoginReward\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"))
            ->withReceiveScript(null)
            ->withLogSetting((new \Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.CreateNamespaceRequest;
import io.gs2.loginReward.result.CreateNamespaceResult;

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

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(new io.gs2.loginReward.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"))
            .withReceiveScript(null)
            .withLogSetting(new io.gs2.loginReward.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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.CreateNamespaceRequest;
using Gs2.Gs2LoginReward.Result.CreateNamespaceResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2LoginReward.Request.CreateNamespaceRequest()
        .WithName("namespace1")
        .WithDescription(null)
        .WithTransactionSetting(new Gs2.Gs2LoginReward.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"))
        .WithReceiveScript(null)
        .WithLogSetting(new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.createNamespace(
        new Gs2LoginReward.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withTransactionSetting(new Gs2LoginReward.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"))
            .withReceiveScript(null)
            .withLogSetting(new Gs2LoginReward.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 login_reward

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

try:
    result = client.create_namespace(
        login_reward.CreateNamespaceRequest()
            .with_name(self.hash1)
            .with_description(None)
            .with_transaction_setting(
                login_reward.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_receive_script(None)
            .with_log_setting(
                login_reward.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('loginReward')

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',
    },
    receiveScript=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;

getNamespaceStatus

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

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
statusstring

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &login_reward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.GetNamespaceStatusRequest;
import io.gs2.loginReward.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LoginRewardRestClient client = new Gs2LoginRewardRestClient(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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.GetNamespaceStatusRequest;
using Gs2.Gs2LoginReward.Result.GetNamespaceStatusResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

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

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

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

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;

getNamespace

ネームスペースを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemNamespaceネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &login_reward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.GetNamespaceRequest;
import io.gs2.loginReward.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LoginRewardRestClient client = new Gs2LoginRewardRestClient(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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.GetNamespaceRequest;
using Gs2.Gs2LoginReward.Result.GetNamespaceResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

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

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

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

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;

updateNamespace

ネームスペースを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
descriptionstring~ 1024文字説明文
transactionSettingTransactionSettingトランザクション設定
receiveScriptScriptSetting報酬を受け取る時に実行するスクリプト
logSettingLogSettingログの出力設定

Result

説明
itemNamespace更新したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &login_reward.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        TransactionSetting: &loginReward.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"),
        },
        ReceiveScript: nil,
        LogSetting: &loginReward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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\LoginReward\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"))
            ->withReceiveScript(null)
            ->withLogSetting((new \Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.UpdateNamespaceRequest;
import io.gs2.loginReward.result.UpdateNamespaceResult;

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

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new io.gs2.loginReward.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"))
            .withReceiveScript(null)
            .withLogSetting(new io.gs2.loginReward.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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.UpdateNamespaceRequest;
using Gs2.Gs2LoginReward.Result.UpdateNamespaceResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2LoginReward.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace1")
        .WithDescription("description1")
        .WithTransactionSetting(new Gs2.Gs2LoginReward.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"))
        .WithReceiveScript(null)
        .WithLogSetting(new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.updateNamespace(
        new Gs2LoginReward.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new Gs2LoginReward.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"))
            .withReceiveScript(null)
            .withLogSetting(new Gs2LoginReward.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 login_reward

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

try:
    result = client.update_namespace(
        login_reward.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_transaction_setting(
                login_reward.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_receive_script(None)
            .with_log_setting(
                login_reward.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('loginReward')

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',
    },
    receiveScript=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;

deleteNamespace

ネームスペースを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemNamespace削除したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &login_reward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.DeleteNamespaceRequest;
import io.gs2.loginReward.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
session.connect();
Gs2LoginRewardRestClient client = new Gs2LoginRewardRestClient(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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.DeleteNamespaceRequest;
using Gs2.Gs2LoginReward.Result.DeleteNamespaceResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

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

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

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

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;

describeBonusModelMasters

ログインボーナスモデルマスターの一覧を取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<BonusModelMaster>ログインボーナスモデルマスターのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.DescribeBonusModelMasters(
    &login_reward.DescribeBonusModelMastersRequest {
        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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\DescribeBonusModelMastersRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeBonusModelMasters(
        (new DescribeBonusModelMastersRequest())
            ->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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.DescribeBonusModelMastersRequest;
import io.gs2.loginReward.result.DescribeBonusModelMastersResult;

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

try {
    DescribeBonusModelMastersResult result = client.describeBonusModelMasters(
        new DescribeBonusModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<BonusModelMaster> 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.DescribeBonusModelMastersRequest;
using Gs2.Gs2LoginReward.Result.DescribeBonusModelMastersResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.DescribeBonusModelMastersResult> asyncResult = null;
yield return client.DescribeBonusModelMasters(
    new Gs2.Gs2LoginReward.Request.DescribeBonusModelMastersRequest()
        .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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.describeBonusModelMasters(
        new Gs2LoginReward.DescribeBonusModelMastersRequest()
            .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 login_reward

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

try:
    result = client.describe_bonus_model_masters(
        login_reward.DescribeBonusModelMastersRequest()
            .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('loginReward')

api_result = client.describe_bonus_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;

createBonusModelMaster

ログインボーナスモデルマスターを新規作成

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
namestring~ 128文字ログインボーナスモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
modeenum [‘schedule’, ‘streaming’]~ 128文字モード
periodEventIdstring~ 1024文字ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN
resetHourint{periodEventId} == ""~ 23受け取りフラグのリセット時間(UTC)
repeatenum [’enabled’, ‘disabled’]{mode} == “streaming”~ 128文字ストリームの終端に達した時に繰り返しを行うか
rewardsList<Reward>報酬リスト
missedReceiveReliefenum [’enabled’, ‘disabled’]“disabled”~ 128文字取り逃がし救済機能
missedReceiveReliefConsumeActionsList<ConsumeAction>{missedReceiveRelief} == “enabled”取り逃がし救済の消費アクションリスト

Result

説明
itemBonusModelMaster作成したログインボーナスモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.CreateBonusModelMaster(
    &login_reward.CreateBonusModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("bonusModel-0001"),
        Description: nil,
        Metadata: nil,
        Mode: pointy.String("schedule"),
        PeriodEventId: pointy.String("grn:gs2:schedule:grn-0001"),
        ResetHour: nil,
        Repeat: nil,
        Rewards: []loginReward.Reward{
            loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        },
        MissedReceiveRelief: pointy.String("disabled"),
        MissedReceiveReliefConsumeActions: 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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\CreateBonusModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createBonusModelMaster(
        (new CreateBonusModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("bonusModel-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withMode("schedule")
            ->withPeriodEventId("grn:gs2:schedule:grn-0001")
            ->withResetHour(null)
            ->withRepeat(null)
            ->withRewards([    (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            ])
            ->withMissedReceiveRelief("disabled")
            ->withMissedReceiveReliefConsumeActions(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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.CreateBonusModelMasterRequest;
import io.gs2.loginReward.result.CreateBonusModelMasterResult;

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

try {
    CreateBonusModelMasterResult result = client.createBonusModelMaster(
        new CreateBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("bonusModel-0001")
            .withDescription(null)
            .withMetadata(null)
            .withMode("schedule")
            .withPeriodEventId("grn:gs2:schedule:grn-0001")
            .withResetHour(null)
            .withRepeat(null)
            .withRewards(Arrays.asList(
                new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                )),
            new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                )),
            new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ))
            ))
            .withMissedReceiveRelief("disabled")
            .withMissedReceiveReliefConsumeActions(null)
    );
    BonusModelMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.CreateBonusModelMasterRequest;
using Gs2.Gs2LoginReward.Result.CreateBonusModelMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.CreateBonusModelMasterResult> asyncResult = null;
yield return client.CreateBonusModelMaster(
    new Gs2.Gs2LoginReward.Request.CreateBonusModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("bonusModel-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithMode("schedule")
        .WithPeriodEventId("grn:gs2:schedule:grn-0001")
        .WithResetHour(null)
        .WithRepeat(null)
        .WithRewards(new Gs2.Gs2LoginReward.Model.Reward[] {
            new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            }),
        new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            }),
        new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            })
        })
        .WithMissedReceiveRelief("disabled")
        .WithMissedReceiveReliefConsumeActions(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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.createBonusModelMaster(
        new Gs2LoginReward.CreateBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("bonusModel-0001")
            .withDescription(null)
            .withMetadata(null)
            .withMode("schedule")
            .withPeriodEventId("grn:gs2:schedule:grn-0001")
            .withResetHour(null)
            .withRepeat(null)
            .withRewards([
                new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ]),
            new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ]),
            new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ])
            ])
            .withMissedReceiveRelief("disabled")
            .withMissedReceiveReliefConsumeActions(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.create_bonus_model_master(
        login_reward.CreateBonusModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('bonusModel-0001')
            .with_description(None)
            .with_metadata(None)
            .with_mode('schedule')
            .with_period_event_id('grn:gs2:schedule:grn-0001')
            .with_reset_hour(None)
            .with_repeat(None)
            .with_rewards([    login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            ])
            .with_missed_receive_relief('disabled')
            .with_missed_receive_relief_consume_actions(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.create_bonus_model_master({
    namespaceName='namespace1',
    name='bonusModel-0001',
    description=nil,
    metadata=nil,
    mode='schedule',
    periodEventId='grn:gs2:schedule:grn-0001',
    resetHour=nil,
    repeat=nil,
    rewards={
        {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        }
    },
    missedReceiveRelief='disabled',
    missedReceiveReliefConsumeActions=nil,
})

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

result = api_result.result
item = result.item;

getBonusModelMaster

ログインボーナスモデルマスターを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
bonusModelNamestring~ 128文字ログインボーナスモデル名

Result

説明
itemBonusModelMasterログインボーナスモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.GetBonusModelMaster(
    &login_reward.GetBonusModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        BonusModelName: pointy.String("bonusModel-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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\GetBonusModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getBonusModelMaster(
        (new GetBonusModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withBonusModelName("bonusModel-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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.GetBonusModelMasterRequest;
import io.gs2.loginReward.result.GetBonusModelMasterResult;

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

try {
    GetBonusModelMasterResult result = client.getBonusModelMaster(
        new GetBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
    );
    BonusModelMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.GetBonusModelMasterRequest;
using Gs2.Gs2LoginReward.Result.GetBonusModelMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.GetBonusModelMasterResult> asyncResult = null;
yield return client.GetBonusModelMaster(
    new Gs2.Gs2LoginReward.Request.GetBonusModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithBonusModelName("bonusModel-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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.getBonusModelMaster(
        new Gs2LoginReward.GetBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.get_bonus_model_master(
        login_reward.GetBonusModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_bonus_model_name('bonusModel-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.get_bonus_model_master({
    namespaceName='namespace1',
    bonusModelName='bonusModel-0001',
})

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

result = api_result.result
item = result.item;

updateBonusModelMaster

ログインボーナスモデルマスターを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
bonusModelNamestring~ 128文字ログインボーナスモデル名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
modeenum [‘schedule’, ‘streaming’]~ 128文字モード
periodEventIdstring~ 1024文字ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN
resetHourint{periodEventId} == ""~ 23受け取りフラグのリセット時間(UTC)
repeatenum [’enabled’, ‘disabled’]{mode} == “streaming”~ 128文字ストリームの終端に達した時に繰り返しを行うか
rewardsList<Reward>報酬リスト
missedReceiveReliefenum [’enabled’, ‘disabled’]“disabled”~ 128文字取り逃がし救済機能
missedReceiveReliefConsumeActionsList<ConsumeAction>{missedReceiveRelief} == “enabled”取り逃がし救済の消費アクションリスト

Result

説明
itemBonusModelMaster更新したログインボーナスモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.UpdateBonusModelMaster(
    &login_reward.UpdateBonusModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        BonusModelName: pointy.String("bonusModel-0001"),
        Description: pointy.String("description1"),
        Metadata: nil,
        Mode: pointy.String("streaming"),
        PeriodEventId: pointy.String("grn:gs2:schedule:grn-0001"),
        ResetHour: nil,
        Repeat: pointy.String("disabled"),
        Rewards: []loginReward.Reward{
            loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        loginReward.Reward{
                AcquireActions: []loginReward.AcquireAction{
                    loginReward.AcquireAction{
                        Action: pointy.String("Gs2Stamina:RecoverStaminaByUserId"),
                        Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
                    },
                },
            },
        },
        MissedReceiveRelief: pointy.String("enabled"),
        MissedReceiveReliefConsumeActions: []loginReward.ConsumeAction{
            loginReward.ConsumeAction{
                Action: pointy.String("Gs2Money:WithdrawByUserId"),
                Request: pointy.String("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 200, \"paidOnly\": false}"),
            },
        },
    }
)
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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\UpdateBonusModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateBonusModelMaster(
        (new UpdateBonusModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withBonusModelName("bonusModel-0001")
            ->withDescription("description1")
            ->withMetadata(null)
            ->withMode("streaming")
            ->withPeriodEventId("grn:gs2:schedule:grn-0001")
            ->withResetHour(null)
            ->withRepeat("disabled")
            ->withRewards([    (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            (new \Gs2\LoginReward\Model\Reward())
                ->withAcquireActions([    (new \Gs2\LoginReward\Model\AcquireAction())
                ->withAction("Gs2Stamina:RecoverStaminaByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}"),
            ]),
            ])
            ->withMissedReceiveRelief("enabled")
            ->withMissedReceiveReliefConsumeActions([    (new \Gs2\LoginReward\Model\ConsumeAction())
                ->withAction("Gs2Money:WithdrawByUserId")
                ->withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 200, \"paidOnly\": false}"),
            ])
    );
    $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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.UpdateBonusModelMasterRequest;
import io.gs2.loginReward.result.UpdateBonusModelMasterResult;

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

try {
    UpdateBonusModelMasterResult result = client.updateBonusModelMaster(
        new UpdateBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withMode("streaming")
            .withPeriodEventId("grn:gs2:schedule:grn-0001")
            .withResetHour(null)
            .withRepeat("disabled")
            .withRewards(Arrays.asList(
                new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                )),
            new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                )),
            new io.gs2.loginReward.model.Reward()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.loginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ))
            ))
            .withMissedReceiveRelief("enabled")
            .withMissedReceiveReliefConsumeActions(Arrays.asList(
                new io.gs2.loginReward.model.ConsumeAction()
                    .withAction("Gs2Money:WithdrawByUserId")
                    .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 200, \"paidOnly\": false}")
            ))
    );
    BonusModelMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.UpdateBonusModelMasterRequest;
using Gs2.Gs2LoginReward.Result.UpdateBonusModelMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.UpdateBonusModelMasterResult> asyncResult = null;
yield return client.UpdateBonusModelMaster(
    new Gs2.Gs2LoginReward.Request.UpdateBonusModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithBonusModelName("bonusModel-0001")
        .WithDescription("description1")
        .WithMetadata(null)
        .WithMode("streaming")
        .WithPeriodEventId("grn:gs2:schedule:grn-0001")
        .WithResetHour(null)
        .WithRepeat("disabled")
        .WithRewards(new Gs2.Gs2LoginReward.Model.Reward[] {
            new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            }),
        new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            }),
        new Gs2.Gs2LoginReward.Model.Reward()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Stamina:RecoverStaminaByUserId")
                    .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
            })
        })
        .WithMissedReceiveRelief("enabled")
        .WithMissedReceiveReliefConsumeActions(new Gs2.Core.Model.ConsumeAction[] {
            new Gs2.Core.Model.ConsumeAction()
                .WithAction("Gs2Money:WithdrawByUserId")
                .WithRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 200, \"paidOnly\": false}")
        }),
    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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.updateBonusModelMaster(
        new Gs2LoginReward.UpdateBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
            .withDescription("description1")
            .withMetadata(null)
            .withMode("streaming")
            .withPeriodEventId("grn:gs2:schedule:grn-0001")
            .withResetHour(null)
            .withRepeat("disabled")
            .withRewards([
                new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ]),
            new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ]),
            new Gs2LoginReward.model.Reward()
                    .withAcquireActions([
                    new Gs2LoginReward.model.AcquireAction()
                        .withAction("Gs2Stamina:RecoverStaminaByUserId")
                        .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 100, \"paidOnly\": false}")
                ])
            ])
            .withMissedReceiveRelief("enabled")
            .withMissedReceiveReliefConsumeActions([
                new Gs2LoginReward.model.ConsumeAction()
                    .withAction("Gs2Money:WithdrawByUserId")
                    .withRequest("{\"namespaceName\": \"stamina-0001\", \"userId\": \"user-0001\", \"slot\": 0, \"count\": 200, \"paidOnly\": false}")
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.update_bonus_model_master(
        login_reward.UpdateBonusModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_bonus_model_name('bonusModel-0001')
            .with_description('description1')
            .with_metadata(None)
            .with_mode('streaming')
            .with_period_event_id('grn:gs2:schedule:grn-0001')
            .with_reset_hour(None)
            .with_repeat('disabled')
            .with_rewards([    login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            login_reward.Reward()
                .with_acquire_actions([    login_reward.AcquireAction()
                .with_action('Gs2Stamina:RecoverStaminaByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}'),
            ]),
            ])
            .with_missed_receive_relief('enabled')
            .with_missed_receive_relief_consume_actions([    login_reward.ConsumeAction()
                .with_action('Gs2Money:WithdrawByUserId')
                .with_request('{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 200, "paidOnly": false}'),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.update_bonus_model_master({
    namespaceName='namespace1',
    bonusModelName='bonusModel-0001',
    description='description1',
    metadata=nil,
    mode='streaming',
    periodEventId='grn:gs2:schedule:grn-0001',
    resetHour=nil,
    repeat='disabled',
    rewards={
        {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Stamina:RecoverStaminaByUserId',
                request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 100, "paidOnly": false}',
            }
        },
        }
    },
    missedReceiveRelief='enabled',
    missedReceiveReliefConsumeActions={
        {
            action='Gs2Money:WithdrawByUserId',
            request='{"namespaceName": "stamina-0001", "userId": "user-0001", "slot": 0, "count": 200, "paidOnly": false}',
        }
    },
})

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

result = api_result.result
item = result.item;

deleteBonusModelMaster

ログインボーナスモデルマスターを削除

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
bonusModelNamestring~ 128文字ログインボーナスモデル名

Result

説明
itemBonusModelMaster削除したログインボーナスモデルマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.DeleteBonusModelMaster(
    &login_reward.DeleteBonusModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        BonusModelName: pointy.String("bonusModel-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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\DeleteBonusModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteBonusModelMaster(
        (new DeleteBonusModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withBonusModelName("bonusModel-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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.DeleteBonusModelMasterRequest;
import io.gs2.loginReward.result.DeleteBonusModelMasterResult;

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

try {
    DeleteBonusModelMasterResult result = client.deleteBonusModelMaster(
        new DeleteBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
    );
    BonusModelMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.DeleteBonusModelMasterRequest;
using Gs2.Gs2LoginReward.Result.DeleteBonusModelMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.DeleteBonusModelMasterResult> asyncResult = null;
yield return client.DeleteBonusModelMaster(
    new Gs2.Gs2LoginReward.Request.DeleteBonusModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithBonusModelName("bonusModel-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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.deleteBonusModelMaster(
        new Gs2LoginReward.DeleteBonusModelMasterRequest()
            .withNamespaceName("namespace1")
            .withBonusModelName("bonusModel-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.delete_bonus_model_master(
        login_reward.DeleteBonusModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_bonus_model_name('bonusModel-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.delete_bonus_model_master({
    namespaceName='namespace1',
    bonusModelName='bonusModel-0001',
})

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

result = api_result.result
item = result.item;

exportMaster

現在有効な陳列棚マスターのマスターデータをエクスポート

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemCurrentBonusMaster現在有効な陳列棚マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &login_reward.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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.ExportMasterRequest;
import io.gs2.loginReward.result.ExportMasterResult;

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

try {
    ExportMasterResult result = client.exportMaster(
        new ExportMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentBonusMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.ExportMasterRequest;
using Gs2.Gs2LoginReward.Result.ExportMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.ExportMasterResult> asyncResult = null;
yield return client.ExportMaster(
    new Gs2.Gs2LoginReward.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 Gs2LoginReward from '@/gs2/loginReward';

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

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

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

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

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;

getCurrentBonusMaster

現在有効な陳列棚マスターを取得

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名

Result

説明
itemCurrentBonusMaster現在有効な陳列棚マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.GetCurrentBonusMaster(
    &login_reward.GetCurrentBonusMasterRequest {
        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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\GetCurrentBonusMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCurrentBonusMaster(
        (new GetCurrentBonusMasterRequest())
            ->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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.GetCurrentBonusMasterRequest;
import io.gs2.loginReward.result.GetCurrentBonusMasterResult;

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

try {
    GetCurrentBonusMasterResult result = client.getCurrentBonusMaster(
        new GetCurrentBonusMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentBonusMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.GetCurrentBonusMasterRequest;
using Gs2.Gs2LoginReward.Result.GetCurrentBonusMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.GetCurrentBonusMasterResult> asyncResult = null;
yield return client.GetCurrentBonusMaster(
    new Gs2.Gs2LoginReward.Request.GetCurrentBonusMasterRequest()
        .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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.getCurrentBonusMaster(
        new Gs2LoginReward.GetCurrentBonusMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.get_current_bonus_master(
        login_reward.GetCurrentBonusMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.get_current_bonus_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;

updateCurrentBonusMaster

現在有効な陳列棚マスターを更新

Request

有効化条件必須デフォルト値の制限説明
namespaceNamestring~ 32文字ネームスペース名
settingsstring~ 5242880文字マスターデータ

Result

説明
itemCurrentBonusMaster更新した現在有効な陳列棚マスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/login_reward"
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 := login_reward.Gs2LoginRewardRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentBonusMaster(
    &login_reward.UpdateCurrentBonusMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Settings: pointy.String("{\n  \"version\": \"2023-07-11\",\n  \"settings\": {\n    \"bonusModels\": [\n      {\n        \"name\": \"schedule\",\n        \"mode\": \"schedule\",\n        \"periodEventId\": \"grn:gs2:schedule:grn-0001\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"disabled\"\n      },\n      {\n        \"name\": \"streaming\",\n        \"mode\": \"streaming\",\n        \"resetHour\": 15,\n        \"repeat\": \"enabled\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"enabled\",\n        \"missedReceiveReliefConsumeActions\": [\n          {\n            \"action\": \"Gs2Money:WithdrawByUserId\",\n            \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": 0, \\\"count\\\": 200, \\\"paidOnly\\\": false}\"\n          }\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\LoginReward\Gs2LoginRewardRestClient;
use Gs2\LoginReward\Request\UpdateCurrentBonusMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentBonusMaster(
        (new UpdateCurrentBonusMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withSettings("{\n  \"version\": \"2023-07-11\",\n  \"settings\": {\n    \"bonusModels\": [\n      {\n        \"name\": \"schedule\",\n        \"mode\": \"schedule\",\n        \"periodEventId\": \"grn:gs2:schedule:grn-0001\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"disabled\"\n      },\n      {\n        \"name\": \"streaming\",\n        \"mode\": \"streaming\",\n        \"resetHour\": 15,\n        \"repeat\": \"enabled\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"enabled\",\n        \"missedReceiveReliefConsumeActions\": [\n          {\n            \"action\": \"Gs2Money:WithdrawByUserId\",\n            \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": 0, \\\"count\\\": 200, \\\"paidOnly\\\": false}\"\n          }\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.loginReward.rest.Gs2LoginRewardRestClient;
import io.gs2.loginReward.request.UpdateCurrentBonusMasterRequest;
import io.gs2.loginReward.result.UpdateCurrentBonusMasterResult;

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

try {
    UpdateCurrentBonusMasterResult result = client.updateCurrentBonusMaster(
        new UpdateCurrentBonusMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2023-07-11\",\n  \"settings\": {\n    \"bonusModels\": [\n      {\n        \"name\": \"schedule\",\n        \"mode\": \"schedule\",\n        \"periodEventId\": \"grn:gs2:schedule:grn-0001\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"disabled\"\n      },\n      {\n        \"name\": \"streaming\",\n        \"mode\": \"streaming\",\n        \"resetHour\": 15,\n        \"repeat\": \"enabled\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"enabled\",\n        \"missedReceiveReliefConsumeActions\": [\n          {\n            \"action\": \"Gs2Money:WithdrawByUserId\",\n            \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": 0, \\\"count\\\": 200, \\\"paidOnly\\\": false}\"\n          }\n        ]\n      }\n    ]\n  }\n}")
    );
    CurrentBonusMaster 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.Gs2LoginReward.Gs2LoginRewardRestClient;
using Gs2.Gs2LoginReward.Request.UpdateCurrentBonusMasterRequest;
using Gs2.Gs2LoginReward.Result.UpdateCurrentBonusMasterResult;

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

AsyncResult<Gs2.Gs2LoginReward.Result.UpdateCurrentBonusMasterResult> asyncResult = null;
yield return client.UpdateCurrentBonusMaster(
    new Gs2.Gs2LoginReward.Request.UpdateCurrentBonusMasterRequest()
        .WithNamespaceName("namespace1")
        .WithSettings("{\n  \"version\": \"2023-07-11\",\n  \"settings\": {\n    \"bonusModels\": [\n      {\n        \"name\": \"schedule\",\n        \"mode\": \"schedule\",\n        \"periodEventId\": \"grn:gs2:schedule:grn-0001\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"disabled\"\n      },\n      {\n        \"name\": \"streaming\",\n        \"mode\": \"streaming\",\n        \"resetHour\": 15,\n        \"repeat\": \"enabled\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"enabled\",\n        \"missedReceiveReliefConsumeActions\": [\n          {\n            \"action\": \"Gs2Money:WithdrawByUserId\",\n            \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": 0, \\\"count\\\": 200, \\\"paidOnly\\\": false}\"\n          }\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 Gs2LoginReward from '@/gs2/loginReward';

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

try {
    const result = await client.updateCurrentBonusMaster(
        new Gs2LoginReward.UpdateCurrentBonusMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2023-07-11\",\n  \"settings\": {\n    \"bonusModels\": [\n      {\n        \"name\": \"schedule\",\n        \"mode\": \"schedule\",\n        \"periodEventId\": \"grn:gs2:schedule:grn-0001\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"disabled\"\n      },\n      {\n        \"name\": \"streaming\",\n        \"mode\": \"streaming\",\n        \"resetHour\": 15,\n        \"repeat\": \"enabled\",\n        \"rewards\": [\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          },\n          {\n            \"acquireActions\": [\n              {\n                \"action\": \"Gs2Stamina:RecoverStaminaByUserId\",\n                \"request\": \"{\\\"namespaceName\\\": \\\"stamina-0001\\\", \\\"staminaName\\\": \\\"quest\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"recoverValue\\\": 100}\"\n              }\n            ]\n          }\n        ],\n        \"missedReceiveRelief\": \"enabled\",\n        \"missedReceiveReliefConsumeActions\": [\n          {\n            \"action\": \"Gs2Money:WithdrawByUserId\",\n            \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": 0, \\\"count\\\": 200, \\\"paidOnly\\\": false}\"\n          }\n        ]\n      }\n    ]\n  }\n}")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import login_reward

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

try:
    result = client.update_current_bonus_master(
        login_reward.UpdateCurrentBonusMasterRequest()
            .with_namespace_name(self.hash1)
            .with_settings('{\n  "version": "2023-07-11",\n  "settings": {\n    "bonusModels": [\n      {\n        "name": "schedule",\n        "mode": "schedule",\n        "periodEventId": "grn:gs2:schedule:grn-0001",\n        "rewards": [\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          },\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          },\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          }\n        ],\n        "missedReceiveRelief": "disabled"\n      },\n      {\n        "name": "streaming",\n        "mode": "streaming",\n        "resetHour": 15,\n        "repeat": "enabled",\n        "rewards": [\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          },\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          },\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          }\n        ],\n        "missedReceiveRelief": "enabled",\n        "missedReceiveReliefConsumeActions": [\n          {\n            "action": "Gs2Money:WithdrawByUserId",\n            "request": "{\\"namespaceName\\": \\"money-0001\\", \\"userId\\": \\"#{userId}\\", \\"slot\\": 0, \\"count\\": 200, \\"paidOnly\\": false}"\n          }\n        ]\n      }\n    ]\n  }\n}')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('loginReward')

api_result = client.update_current_bonus_master({
    namespaceName='namespace1',
    settings='{\n  "version": "2023-07-11",\n  "settings": {\n    "bonusModels": [\n      {\n        "name": "schedule",\n        "mode": "schedule",\n        "periodEventId": "grn:gs2:schedule:grn-0001",\n        "rewards": [\n          {\n            "acquireActions": [\n              {\n                "action": "Gs2Stamina:RecoverStaminaByUserId",\n                "request": "{\\"namespaceName\\": \\"stamina-0001\\", \\"staminaName\\": \\"quest\\", \\"userId\\": \\"#{userId}\\", \\"recoverValue\\": 100}"\n              }\n            ]\n          },\n          {\n            "acquireActions": [\n