API Reference of GS2-Idle SDK

Model

Namespace

Namespace

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

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

TypeConditionRequireDefaultLimitationDescription
namespaceIdstring~ 1024 charsNamespace GRN
namestring~ 32 charsNamespace name
descriptionstring~ 1024 charsdescription of Namespace
transactionSettingTransactionSettingTransaction settings
receiveScriptScriptSettingScript to be executed when the receive rewards
logSettingLogSettingLog output settings
createdAtlongDatetime of creation
updatedAtlongDatetime of last update
revisionlong0~ 9223372036854775805Revision

CategoryModelMaster

Category Model Master

A category model is an entity that sets the idle category that can be obtained as a reward for leaving. The settings include information such as the reward for each waiting time and the maximum idle time.

TypeConditionRequireDefaultLimitationDescription
categoryModelIdstring~ 1024 charsCategory Model Master GRN
namestring~ 128 charsCategory Model Name
descriptionstring~ 1024 charsdescription of Namespace
metadatastring~ 2048 charsmetadata
rewardIntervalMinutesint~ 2147483646Interval at which idle rewards can be obtained (minutes)
defaultMaximumIdleMinutesint~ 2147483646Maximum time to get idle rewards (minutes)
acquireActionsList<AcquireActionList>1 ~ 100 itemsList of acquire actions for each waiting time
idlePeriodScheduleIdstring~ 1024 charsGS2-Schedule event GRN with time period used for idle rewards calculation
receivePeriodScheduleIdstring~ 1024 charsGS2-Schedule EventGRN that sets the period during which idle rewards can be obtained
createdAtlongDatetime of creation
updatedAtlongDatetime of last update
revisionlong0~ 9223372036854775805Revision

CategoryModel

Category Model Master

A category model is an entity that sets the idle category that can be obtained as a reward for leaving. The settings include information such as the reward for each waiting time and the maximum idle time.

TypeConditionRequireDefaultLimitationDescription
categoryModelIdstring~ 1024 charsCategory Model GRN
namestring~ 128 charsCategory Model Name
metadatastring~ 2048 charsmetadata
rewardIntervalMinutesint~ 2147483646Interval at which idle rewards can be obtained (minutes)
defaultMaximumIdleMinutesint~ 2147483646Maximum time to get idle rewards (minutes)
acquireActionsList<AcquireActionList>1 ~ 100 itemsList of acquire actions for each waiting time
idlePeriodScheduleIdstring~ 1024 charsGS2-Schedule event GRN with time period used for idle rewards calculation
receivePeriodScheduleIdstring~ 1024 charsGS2-Schedule EventGRN that sets the period during which idle rewards can be obtained

Status

Status

Created when GetIdleStatus is called for the first time, and the idle time count starts from that time. The idle time count is reset when you receive a reward.

If GS2-Schedule events are associated, you cannot access Category before the event is held, and you cannot create a status. If an event is associated, the status holds the number of repetitions of the event. If the current event ID and the event ID at the time of status creation do not match, if the number of repetitions of the current event and the number of repetitions held by the status do not match, or if the status is created before the start time of the event, the waiting time is reset.

TypeConditionRequireDefaultLimitationDescription
statusIdstring~ 1024 charsStatus GRN
categoryNamestring~ 128 charsCategory Model Name
userIdstring~ 128 charsUser Id
randomSeedlong0~ 9223372036854775805Random seed
idleMinutesint~ 2147483646Idle time
maximumIdleMinutesint0~ 2147483646Maximum idle time
createdAtlongDatetime of creation
updatedAtlongDatetime of last update
revisionlong0~ 9223372036854775805Revision

CurrentCategoryMaster

Currently available master data

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

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

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

TypeConditionRequireDefaultLimitationDescription
namespaceIdstring~ 1024 charsNamespace GRN
settingsstring~ 5242880 charsMaster data

Config

TypeConditionRequireDefaultLimitationDescription
keystring~ 64 charsName
valuestring~ 51200 charsValue

AcquireAction

TypeConditionRequireDefaultLimitationDescription
actionenum []~ 128 charsTypes of actions to be performed in the stamp sheet
requeststring~ 1048576 charsJSON of request

AcquireActionList

TypeConditionRequireDefaultLimitationDescription
acquireActionsList<AcquireAction>~ 100 itemsList of Acquire Action

TransactionSetting

TypeConditionRequireDefaultLimitationDescription
enableAutoRunboolfalseAutomatically run issued stamp sheets on the server side, or
distributorNamespaceIdstring{enableAutoRun}~ 1024 charsGS2-Distributor namespace used for stamp sheet execution
keyIdstring!{enableAutoRun}~ 1024 charsGS2-Key encryption key used to sign the stamp sheet
queueNamespaceIdstring~ 1024 charsNamespace in GS2-JobQueue used to run the stamp sheet

ScriptSetting

TypeConditionRequireDefaultLimitationDescription
triggerScriptIdstring~ 1024 charsScript GRN
doneTriggerTargetTypeenum [’none’, ‘gs2_script’, ‘aws’]“none”~ 128 charsNotification of Completion
doneTriggerScriptIdstring{doneTriggerTargetType} == “gs2_script”~ 1024 charsScript GRN
doneTriggerQueueNamespaceIdstring{doneTriggerTargetType} == “gs2_script”~ 1024 charsNamespace GRN

LogSetting

TypeConditionRequireDefaultLimitationDescription
loggingNamespaceIdstring~ 1024 charsNamespace GRN

GitHubCheckoutSetting

TypeConditionRequireDefaultLimitationDescription
apiKeyIdstring~ 1024 charsGitHub API key GRN
repositoryNamestring~ 1024 charsRepository Name
sourcePathstring~ 1024 charsSource code file path
referenceTypeenum [‘commit_hash’, ‘branch’, ’tag’]~ 128 charsSource of code
commitHashstring{referenceType} == “commit_hash”~ 1024 charsCommit hash
branchNamestring{referenceType} == “branch”~ 1024 charsBranch Name
tagNamestring{referenceType} == “tag”~ 1024 charsTag Name

Methods

describeNamespaces

Get list of namespaces

Request

TypeConditionRequireDefaultLimitationDescription
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data acquired

Result

TypeDescription
itemsList<Namespace>List of Namespace
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

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

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

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

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

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

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

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

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

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

Create a new namespace

Request

TypeConditionRequireDefaultLimitationDescription
namestring~ 32 charsNamespace name
descriptionstring~ 1024 charsdescription of Namespace
transactionSettingTransactionSettingTransaction settings
receiveScriptScriptSettingScript to be executed when the receive rewards
logSettingLogSettingLog output settings

Result

TypeDescription
itemNamespaceNamespace created

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &idle.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        TransactionSetting: &idle.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: &idle.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\Idle\Gs2IdleRestClient;
use Gs2\Idle\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\Idle\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\Idle\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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CreateNamespaceRequest;
import io.gs2.idle.result.CreateNamespaceResult;

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

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

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

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

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

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

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

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

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

Get namespace status

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
statusstring

Implementation Example

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

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

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

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

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

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

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

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

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

Get namespace

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
itemNamespaceNamespace

Implementation Example

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

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

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

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

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

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

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

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

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

Update namespace

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
descriptionstring~ 1024 charsdescription of Namespace
transactionSettingTransactionSettingTransaction settings
receiveScriptScriptSettingScript to be executed when the receive rewards
logSettingLogSettingLog output settings

Result

TypeDescription
itemNamespaceUpdated namespace

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &idle.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        TransactionSetting: &idle.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: &idle.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\Idle\Gs2IdleRestClient;
use Gs2\Idle\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\Idle\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\Idle\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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.UpdateNamespaceRequest;
import io.gs2.idle.result.UpdateNamespaceResult;

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

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new io.gs2.idle.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.idle.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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.UpdateNamespaceRequest;
using Gs2.Gs2Idle.Result.UpdateNamespaceResult;

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

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

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

try {
    const result = await client.updateNamespace(
        new Gs2Idle.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withTransactionSetting(new Gs2Idle.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 Gs2Idle.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 idle

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

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

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

Delete namespace

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
itemNamespaceDeleted namespace

Implementation Example

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

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

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

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

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

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

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

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

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;

dumpUserDataByUserId

Get dump data of the data associated with the specified user ID

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DumpUserDataByUserId(
    &idle.DumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DumpUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->dumpUserDataByUserId(
        (new DumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DumpUserDataByUserIdRequest;
import io.gs2.idle.result.DumpUserDataByUserIdResult;

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

try {
    DumpUserDataByUserIdResult result = client.dumpUserDataByUserId(
        new DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DumpUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.DumpUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DumpUserDataByUserIdResult> asyncResult = null;
yield return client.DumpUserDataByUserId(
    new Gs2.Gs2Idle.Request.DumpUserDataByUserIdRequest()
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.dumpUserDataByUserId(
        new Gs2Idle.DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.dump_user_data_by_user_id(
        idle.DumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.dump_user_data_by_user_id({
    userId='user-0001',
})

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

result = api_result.result

checkDumpUserDataByUserId

Check if the dump of the data associated with the specified user ID is complete

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id

Result

TypeDescription
urlstringURL of output data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CheckDumpUserDataByUserId(
    &idle.CheckDumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\CheckDumpUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkDumpUserDataByUserId(
        (new CheckDumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
    );
    $url = $result->getUrl();
} 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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CheckDumpUserDataByUserIdRequest;
import io.gs2.idle.result.CheckDumpUserDataByUserIdResult;

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

try {
    CheckDumpUserDataByUserIdResult result = client.checkDumpUserDataByUserId(
        new CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
    String url = result.getUrl();
} 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.CheckDumpUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.CheckDumpUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.CheckDumpUserDataByUserIdResult> asyncResult = null;
yield return client.CheckDumpUserDataByUserId(
    new Gs2.Gs2Idle.Request.CheckDumpUserDataByUserIdRequest()
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.checkDumpUserDataByUserId(
        new Gs2Idle.CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.check_dump_user_data_by_user_id(
        idle.CheckDumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.check_dump_user_data_by_user_id({
    userId='user-0001',
})

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

result = api_result.result
url = result.url;

cleanUserDataByUserId

Get clean data of the data associated with the specified user ID

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CleanUserDataByUserId(
    &idle.CleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\CleanUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->cleanUserDataByUserId(
        (new CleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CleanUserDataByUserIdRequest;
import io.gs2.idle.result.CleanUserDataByUserIdResult;

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

try {
    CleanUserDataByUserIdResult result = client.cleanUserDataByUserId(
        new CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.CleanUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.CleanUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.CleanUserDataByUserIdResult> asyncResult = null;
yield return client.CleanUserDataByUserId(
    new Gs2.Gs2Idle.Request.CleanUserDataByUserIdRequest()
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.cleanUserDataByUserId(
        new Gs2Idle.CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.clean_user_data_by_user_id(
        idle.CleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.clean_user_data_by_user_id({
    userId='user-0001',
})

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

result = api_result.result

checkCleanUserDataByUserId

Check if the clean of the data associated with the specified user ID is complete

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CheckCleanUserDataByUserId(
    &idle.CheckCleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\CheckCleanUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkCleanUserDataByUserId(
        (new CheckCleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CheckCleanUserDataByUserIdRequest;
import io.gs2.idle.result.CheckCleanUserDataByUserIdResult;

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

try {
    CheckCleanUserDataByUserIdResult result = client.checkCleanUserDataByUserId(
        new CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.CheckCleanUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.CheckCleanUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.CheckCleanUserDataByUserIdResult> asyncResult = null;
yield return client.CheckCleanUserDataByUserId(
    new Gs2.Gs2Idle.Request.CheckCleanUserDataByUserIdRequest()
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.checkCleanUserDataByUserId(
        new Gs2Idle.CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.check_clean_user_data_by_user_id(
        idle.CheckCleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.check_clean_user_data_by_user_id({
    userId='user-0001',
})

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

result = api_result.result

prepareImportUserDataByUserId

Start importing data associated with the specified user ID

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id

Result

TypeDescription
uploadTokenstringToken used to reflect results after upload
uploadUrlstringURL used to upload user data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.PrepareImportUserDataByUserId(
    &idle.PrepareImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\PrepareImportUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->prepareImportUserDataByUserId(
        (new PrepareImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} 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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.PrepareImportUserDataByUserIdRequest;
import io.gs2.idle.result.PrepareImportUserDataByUserIdResult;

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

try {
    PrepareImportUserDataByUserIdResult result = client.prepareImportUserDataByUserId(
        new PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.PrepareImportUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.PrepareImportUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.PrepareImportUserDataByUserIdResult> asyncResult = null;
yield return client.PrepareImportUserDataByUserId(
    new Gs2.Gs2Idle.Request.PrepareImportUserDataByUserIdRequest()
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.prepareImportUserDataByUserId(
        new Gs2Idle.PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.prepare_import_user_data_by_user_id(
        idle.PrepareImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.prepare_import_user_data_by_user_id({
    userId='user-0001',
})

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

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

importUserDataByUserId

Start importing data associated with the specified user ID

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id
uploadTokenstring~ 1024 charsToken received in preparation for upload

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.ImportUserDataByUserId(
    &idle.ImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\ImportUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->importUserDataByUserId(
        (new ImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.ImportUserDataByUserIdRequest;
import io.gs2.idle.result.ImportUserDataByUserIdResult;

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

try {
    ImportUserDataByUserIdResult result = client.importUserDataByUserId(
        new ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.ImportUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.ImportUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.ImportUserDataByUserIdResult> asyncResult = null;
yield return client.ImportUserDataByUserId(
    new Gs2.Gs2Idle.Request.ImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.importUserDataByUserId(
        new Gs2Idle.ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.import_user_data_by_user_id(
        idle.ImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.import_user_data_by_user_id({
    userId='user-0001',
    uploadToken='upload-0001',
})

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

result = api_result.result

checkImportUserDataByUserId

Check if the import of the data associated with the specified user ID is complete

Request

TypeConditionRequireDefaultLimitationDescription
userIdstring~ 128 charsUser Id
uploadTokenstring~ 1024 charsToken received in preparation for upload

Result

TypeDescription
urlstringURL of log data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CheckImportUserDataByUserId(
    &idle.CheckImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\CheckImportUserDataByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->checkImportUserDataByUserId(
        (new CheckImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
    );
    $url = $result->getUrl();
} 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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CheckImportUserDataByUserIdRequest;
import io.gs2.idle.result.CheckImportUserDataByUserIdResult;

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

try {
    CheckImportUserDataByUserIdResult result = client.checkImportUserDataByUserId(
        new CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
    );
    String url = result.getUrl();
} 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.CheckImportUserDataByUserIdRequest;
using Gs2.Gs2Idle.Result.CheckImportUserDataByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.CheckImportUserDataByUserIdResult> asyncResult = null;
yield return client.CheckImportUserDataByUserId(
    new Gs2.Gs2Idle.Request.CheckImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.checkImportUserDataByUserId(
        new Gs2Idle.CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.check_import_user_data_by_user_id(
        idle.CheckImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.check_import_user_data_by_user_id({
    userId='user-0001',
    uploadToken='upload-0001',
})

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

result = api_result.result
url = result.url;

describeCategoryModelMasters

Get list of category model masters

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data acquired

Result

TypeDescription
itemsList<CategoryModelMaster>List of Category Model Masters
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DescribeCategoryModelMasters(
    &idle.DescribeCategoryModelMastersRequest {
        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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DescribeCategoryModelMastersRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeCategoryModelMasters(
        (new DescribeCategoryModelMastersRequest())
            ->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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DescribeCategoryModelMastersRequest;
import io.gs2.idle.result.DescribeCategoryModelMastersResult;

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

try {
    DescribeCategoryModelMastersResult result = client.describeCategoryModelMasters(
        new DescribeCategoryModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<CategoryModelMaster> 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DescribeCategoryModelMastersRequest;
using Gs2.Gs2Idle.Result.DescribeCategoryModelMastersResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DescribeCategoryModelMastersResult> asyncResult = null;
yield return client.DescribeCategoryModelMasters(
    new Gs2.Gs2Idle.Request.DescribeCategoryModelMastersRequest()
        .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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.describeCategoryModelMasters(
        new Gs2Idle.DescribeCategoryModelMastersRequest()
            .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 idle

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

try:
    result = client.describe_category_model_masters(
        idle.DescribeCategoryModelMastersRequest()
            .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('idle')

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

createCategoryModelMaster

Create new category model master

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
namestring~ 128 charsCategory Model Name
descriptionstring~ 1024 charsdescription of Namespace
metadatastring~ 2048 charsmetadata
rewardIntervalMinutesint~ 2147483646Interval at which idle rewards can be obtained (minutes)
defaultMaximumIdleMinutesint~ 2147483646Maximum time to get idle rewards (minutes)
acquireActionsList<AcquireActionList>1 ~ 100 itemsList of acquire actions for each waiting time
idlePeriodScheduleIdstring~ 1024 charsGS2-Schedule event GRN with time period used for idle rewards calculation
receivePeriodScheduleIdstring~ 1024 charsGS2-Schedule EventGRN that sets the period during which idle rewards can be obtained

Result

TypeDescription
itemCategoryModelMasterCreated Category Model Master

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.CreateCategoryModelMaster(
    &idle.CreateCategoryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("category-model-0001"),
        Description: nil,
        Metadata: nil,
        RewardIntervalMinutes: pointy.Int32(5),
        DefaultMaximumIdleMinutes: pointy.Int32(1440),
        AcquireActions: []idle.AcquireActionList{
            idle.AcquireActionList{
                AcquireActions: []idle.AcquireAction{
                    idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request1"),
                    },
                idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request2"),
                    },
                },
            },
        idle.AcquireActionList{
                AcquireActions: []idle.AcquireAction{
                    idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request3"),
                    },
                },
            },
        },
        IdlePeriodScheduleId: nil,
        ReceivePeriodScheduleId: 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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\CreateCategoryModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createCategoryModelMaster(
        (new CreateCategoryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("category-model-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withRewardIntervalMinutes(5)
            ->withDefaultMaximumIdleMinutes(1440)
            ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireActionList())
                ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request1"),
            (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request2"),
            ]),
            (new \Gs2\Idle\Model\AcquireActionList())
                ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request3"),
            ]),
            ])
            ->withIdlePeriodScheduleId(null)
            ->withReceivePeriodScheduleId(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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.CreateCategoryModelMasterRequest;
import io.gs2.idle.result.CreateCategoryModelMasterResult;

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

try {
    CreateCategoryModelMasterResult result = client.createCategoryModelMaster(
        new CreateCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("category-model-0001")
            .withDescription(null)
            .withMetadata(null)
            .withRewardIntervalMinutes(5)
            .withDefaultMaximumIdleMinutes(1440)
            .withAcquireActions(Arrays.asList(
                new io.gs2.idle.model.AcquireActionList()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1"),
                new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request2")
                )),
            new io.gs2.idle.model.AcquireActionList()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request3")
                ))
            ))
            .withIdlePeriodScheduleId(null)
            .withReceivePeriodScheduleId(null)
    );
    CategoryModelMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.CreateCategoryModelMasterRequest;
using Gs2.Gs2Idle.Result.CreateCategoryModelMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.CreateCategoryModelMasterResult> asyncResult = null;
yield return client.CreateCategoryModelMaster(
    new Gs2.Gs2Idle.Request.CreateCategoryModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("category-model-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithRewardIntervalMinutes(5)
        .WithDefaultMaximumIdleMinutes(1440)
        .WithAcquireActions(new Gs2.Gs2Idle.Model.AcquireActionList[] {
            new Gs2.Gs2Idle.Model.AcquireActionList()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request1"),
            new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request2")
            }),
        new Gs2.Gs2Idle.Model.AcquireActionList()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request3")
            })
        })
        .WithIdlePeriodScheduleId(null)
        .WithReceivePeriodScheduleId(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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.createCategoryModelMaster(
        new Gs2Idle.CreateCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("category-model-0001")
            .withDescription(null)
            .withMetadata(null)
            .withRewardIntervalMinutes(5)
            .withDefaultMaximumIdleMinutes(1440)
            .withAcquireActions([
                new Gs2Idle.model.AcquireActionList()
                    .withAcquireActions([
                    new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request1"),
                new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request2")
                ]),
            new Gs2Idle.model.AcquireActionList()
                    .withAcquireActions([
                    new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request3")
                ])
            ])
            .withIdlePeriodScheduleId(null)
            .withReceivePeriodScheduleId(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.create_category_model_master(
        idle.CreateCategoryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('category-model-0001')
            .with_description(None)
            .with_metadata(None)
            .with_reward_interval_minutes(5)
            .with_default_maximum_idle_minutes(1440)
            .with_acquire_actions([    idle.AcquireActionList()
                .with_acquire_actions([    idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request1'),
            idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request2'),
            ]),
            idle.AcquireActionList()
                .with_acquire_actions([    idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request3'),
            ]),
            ])
            .with_idle_period_schedule_id(None)
            .with_receive_period_schedule_id(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.create_category_model_master({
    namespaceName='namespace1',
    name='category-model-0001',
    description=nil,
    metadata=nil,
    rewardIntervalMinutes=5,
    defaultMaximumIdleMinutes=1440,
    acquireActions={
        {
            acquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request1',
            },
        {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request2',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request3',
            }
        },
        }
    },
    idlePeriodScheduleId=nil,
    receivePeriodScheduleId=nil,
})

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

result = api_result.result
item = result.item;

getCategoryModelMaster

Get Experience model master

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemCategoryModelMasterCategory Model Master

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.GetCategoryModelMaster(
    &idle.GetCategoryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        CategoryName: pointy.String("category-model-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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\GetCategoryModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCategoryModelMaster(
        (new GetCategoryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withCategoryName("category-model-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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.GetCategoryModelMasterRequest;
import io.gs2.idle.result.GetCategoryModelMasterResult;

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

try {
    GetCategoryModelMasterResult result = client.getCategoryModelMaster(
        new GetCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
    );
    CategoryModelMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.GetCategoryModelMasterRequest;
using Gs2.Gs2Idle.Result.GetCategoryModelMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.GetCategoryModelMasterResult> asyncResult = null;
yield return client.GetCategoryModelMaster(
    new Gs2.Gs2Idle.Request.GetCategoryModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithCategoryName("category-model-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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.getCategoryModelMaster(
        new Gs2Idle.GetCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.get_category_model_master(
        idle.GetCategoryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_category_name('category-model-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.get_category_model_master({
    namespaceName='namespace1',
    categoryName='category-model-0001',
})

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

result = api_result.result
item = result.item;

updateCategoryModelMaster

Update Category Model Master

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
categoryNamestring~ 128 charsCategory Model Name
descriptionstring~ 1024 charsdescription of Namespace
metadatastring~ 2048 charsmetadata
rewardIntervalMinutesint~ 2147483646Interval at which idle rewards can be obtained (minutes)
defaultMaximumIdleMinutesint~ 2147483646Maximum time to get idle rewards (minutes)
acquireActionsList<AcquireActionList>1 ~ 100 itemsList of acquire actions for each waiting time
idlePeriodScheduleIdstring~ 1024 charsGS2-Schedule event GRN with time period used for idle rewards calculation
receivePeriodScheduleIdstring~ 1024 charsGS2-Schedule EventGRN that sets the period during which idle rewards can be obtained

Result

TypeDescription
itemCategoryModelMasterUpdated Category Model Master

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.UpdateCategoryModelMaster(
    &idle.UpdateCategoryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        CategoryName: pointy.String("category-model-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("{\"hoge\": \"fuga\"}"),
        RewardIntervalMinutes: pointy.Int32(10),
        DefaultMaximumIdleMinutes: pointy.Int32(2880),
        AcquireActions: []idle.AcquireActionList{
            idle.AcquireActionList{
                AcquireActions: []idle.AcquireAction{
                    idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request4"),
                    },
                idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request5"),
                    },
                },
            },
        idle.AcquireActionList{
                AcquireActions: []idle.AcquireAction{
                    idle.AcquireAction{
                        Action: pointy.String("Gs2Experience:AddExperienceByUserId"),
                        Request: pointy.String("Gs2Experience:AddExperienceByUserId-request6"),
                    },
                },
            },
        },
        IdlePeriodScheduleId: nil,
        ReceivePeriodScheduleId: 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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\UpdateCategoryModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCategoryModelMaster(
        (new UpdateCategoryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withCategoryName("category-model-0001")
            ->withDescription("description1")
            ->withMetadata("{\"hoge\": \"fuga\"}")
            ->withRewardIntervalMinutes(10)
            ->withDefaultMaximumIdleMinutes(2880)
            ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireActionList())
                ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request4"),
            (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request5"),
            ]),
            (new \Gs2\Idle\Model\AcquireActionList())
                ->withAcquireActions([    (new \Gs2\Idle\Model\AcquireAction())
                ->withAction("Gs2Experience:AddExperienceByUserId")
                ->withRequest("Gs2Experience:AddExperienceByUserId-request6"),
            ]),
            ])
            ->withIdlePeriodScheduleId(null)
            ->withReceivePeriodScheduleId(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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.UpdateCategoryModelMasterRequest;
import io.gs2.idle.result.UpdateCategoryModelMasterResult;

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

try {
    UpdateCategoryModelMasterResult result = client.updateCategoryModelMaster(
        new UpdateCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withRewardIntervalMinutes(10)
            .withDefaultMaximumIdleMinutes(2880)
            .withAcquireActions(Arrays.asList(
                new io.gs2.idle.model.AcquireActionList()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request4"),
                new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request5")
                )),
            new io.gs2.idle.model.AcquireActionList()
                    .withAcquireActions(Arrays.asList(
                    new io.gs2.idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request6")
                ))
            ))
            .withIdlePeriodScheduleId(null)
            .withReceivePeriodScheduleId(null)
    );
    CategoryModelMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.UpdateCategoryModelMasterRequest;
using Gs2.Gs2Idle.Result.UpdateCategoryModelMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.UpdateCategoryModelMasterResult> asyncResult = null;
yield return client.UpdateCategoryModelMaster(
    new Gs2.Gs2Idle.Request.UpdateCategoryModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithCategoryName("category-model-0001")
        .WithDescription("description1")
        .WithMetadata("{\"hoge\": \"fuga\"}")
        .WithRewardIntervalMinutes(10)
        .WithDefaultMaximumIdleMinutes(2880)
        .WithAcquireActions(new Gs2.Gs2Idle.Model.AcquireActionList[] {
            new Gs2.Gs2Idle.Model.AcquireActionList()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request4"),
            new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request5")
            }),
        new Gs2.Gs2Idle.Model.AcquireActionList()
                .WithAcquireActions(new Gs2.Core.Model.AcquireAction[] {
                new Gs2.Core.Model.AcquireAction()
                    .WithAction("Gs2Experience:AddExperienceByUserId")
                    .WithRequest("Gs2Experience:AddExperienceByUserId-request6")
            })
        })
        .WithIdlePeriodScheduleId(null)
        .WithReceivePeriodScheduleId(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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.updateCategoryModelMaster(
        new Gs2Idle.UpdateCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withRewardIntervalMinutes(10)
            .withDefaultMaximumIdleMinutes(2880)
            .withAcquireActions([
                new Gs2Idle.model.AcquireActionList()
                    .withAcquireActions([
                    new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request4"),
                new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request5")
                ]),
            new Gs2Idle.model.AcquireActionList()
                    .withAcquireActions([
                    new Gs2Idle.model.AcquireAction()
                        .withAction("Gs2Experience:AddExperienceByUserId")
                        .withRequest("Gs2Experience:AddExperienceByUserId-request6")
                ])
            ])
            .withIdlePeriodScheduleId(null)
            .withReceivePeriodScheduleId(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.update_category_model_master(
        idle.UpdateCategoryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_category_name('category-model-0001')
            .with_description('description1')
            .with_metadata('{"hoge": "fuga"}')
            .with_reward_interval_minutes(10)
            .with_default_maximum_idle_minutes(2880)
            .with_acquire_actions([    idle.AcquireActionList()
                .with_acquire_actions([    idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request4'),
            idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request5'),
            ]),
            idle.AcquireActionList()
                .with_acquire_actions([    idle.AcquireAction()
                .with_action('Gs2Experience:AddExperienceByUserId')
                .with_request('Gs2Experience:AddExperienceByUserId-request6'),
            ]),
            ])
            .with_idle_period_schedule_id(None)
            .with_receive_period_schedule_id(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.update_category_model_master({
    namespaceName='namespace1',
    categoryName='category-model-0001',
    description='description1',
    metadata='{"hoge": "fuga"}',
    rewardIntervalMinutes=10,
    defaultMaximumIdleMinutes=2880,
    acquireActions={
        {
            acquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request4',
            },
        {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request5',
            }
        },
        },
    {
            acquireActions={
            {
                action='Gs2Experience:AddExperienceByUserId',
                request='Gs2Experience:AddExperienceByUserId-request6',
            }
        },
        }
    },
    idlePeriodScheduleId=nil,
    receivePeriodScheduleId=nil,
})

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

result = api_result.result
item = result.item;

deleteCategoryModelMaster

Delete Category Model Master

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemCategoryModelMasterDeleted Category Model Master

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DeleteCategoryModelMaster(
    &idle.DeleteCategoryModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        CategoryName: pointy.String("category-model-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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DeleteCategoryModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteCategoryModelMaster(
        (new DeleteCategoryModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withCategoryName("category-model-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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DeleteCategoryModelMasterRequest;
import io.gs2.idle.result.DeleteCategoryModelMasterResult;

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

try {
    DeleteCategoryModelMasterResult result = client.deleteCategoryModelMaster(
        new DeleteCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
    );
    CategoryModelMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DeleteCategoryModelMasterRequest;
using Gs2.Gs2Idle.Result.DeleteCategoryModelMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DeleteCategoryModelMasterResult> asyncResult = null;
yield return client.DeleteCategoryModelMaster(
    new Gs2.Gs2Idle.Request.DeleteCategoryModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithCategoryName("category-model-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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.deleteCategoryModelMaster(
        new Gs2Idle.DeleteCategoryModelMasterRequest()
            .withNamespaceName("namespace1")
            .withCategoryName("category-model-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.delete_category_model_master(
        idle.DeleteCategoryModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_category_name('category-model-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.delete_category_model_master({
    namespaceName='namespace1',
    categoryName='category-model-0001',
})

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

result = api_result.result
item = result.item;

describeCategoryModels

Get list of category models

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
itemsList<CategoryModel>List of Category Model

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DescribeCategoryModels(
    &idle.DescribeCategoryModelsRequest {
        NamespaceName: pointy.String("namespace2"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DescribeCategoryModelsRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeCategoryModels(
        (new DescribeCategoryModelsRequest())
            ->withNamespaceName(self::namespace2)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DescribeCategoryModelsRequest;
import io.gs2.idle.result.DescribeCategoryModelsResult;

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

try {
    DescribeCategoryModelsResult result = client.describeCategoryModels(
        new DescribeCategoryModelsRequest()
            .withNamespaceName("namespace2")
    );
    List<CategoryModel> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DescribeCategoryModelsRequest;
using Gs2.Gs2Idle.Result.DescribeCategoryModelsResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DescribeCategoryModelsResult> asyncResult = null;
yield return client.DescribeCategoryModels(
    new Gs2.Gs2Idle.Request.DescribeCategoryModelsRequest()
        .WithNamespaceName("namespace2"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.describeCategoryModels(
        new Gs2Idle.DescribeCategoryModelsRequest()
            .withNamespaceName("namespace2")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.describe_category_models(
        idle.DescribeCategoryModelsRequest()
            .with_namespace_name(self.hash2)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.describe_category_models({
    namespaceName='namespace2',
})

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

result = api_result.result
items = result.items;

getCategoryModel

Get Category Model

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemCategoryModelCategory Model

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.GetCategoryModel(
    &idle.GetCategoryModelRequest {
        NamespaceName: pointy.String("namespace2"),
        CategoryName: pointy.String("category-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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\GetCategoryModelRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCategoryModel(
        (new GetCategoryModelRequest())
            ->withNamespaceName(self::namespace2)
            ->withCategoryName("category-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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.GetCategoryModelRequest;
import io.gs2.idle.result.GetCategoryModelResult;

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

try {
    GetCategoryModelResult result = client.getCategoryModel(
        new GetCategoryModelRequest()
            .withNamespaceName("namespace2")
            .withCategoryName("category-0001")
    );
    CategoryModel 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.GetCategoryModelRequest;
using Gs2.Gs2Idle.Result.GetCategoryModelResult;

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

AsyncResult<Gs2.Gs2Idle.Result.GetCategoryModelResult> asyncResult = null;
yield return client.GetCategoryModel(
    new Gs2.Gs2Idle.Request.GetCategoryModelRequest()
        .WithNamespaceName("namespace2")
        .WithCategoryName("category-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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.getCategoryModel(
        new Gs2Idle.GetCategoryModelRequest()
            .withNamespaceName("namespace2")
            .withCategoryName("category-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.get_category_model(
        idle.GetCategoryModelRequest()
            .with_namespace_name(self.hash2)
            .with_category_name('category-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.get_category_model({
    namespaceName='namespace2',
    categoryName='category-0001',
})

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

result = api_result.result
item = result.item;

describeStatuses

Get list of statuses

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data acquired

Result

TypeDescription
itemsList<Status>List of Status
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DescribeStatuses(
    &idle.DescribeStatusesRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DescribeStatusesRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

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

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

try {
    DescribeStatusesResult result = client.describeStatuses(
        new DescribeStatusesRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Status> 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DescribeStatusesRequest;
using Gs2.Gs2Idle.Result.DescribeStatusesResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DescribeStatusesResult> asyncResult = null;
yield return client.DescribeStatuses(
    new Gs2.Gs2Idle.Request.DescribeStatusesRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

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

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

try:
    result = client.describe_statuses(
        idle.DescribeStatusesRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

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

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

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

describeStatusesByUserId

Get list of statuses by user ID

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data acquired

Result

TypeDescription
itemsList<Status>List of Status
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DescribeStatusesByUserId(
    &idle.DescribeStatusesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DescribeStatusesByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

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

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

try {
    DescribeStatusesByUserIdResult result = client.describeStatusesByUserId(
        new DescribeStatusesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Status> 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DescribeStatusesByUserIdRequest;
using Gs2.Gs2Idle.Result.DescribeStatusesByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DescribeStatusesByUserIdResult> asyncResult = null;
yield return client.DescribeStatusesByUserId(
    new Gs2.Gs2Idle.Request.DescribeStatusesByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

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

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

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

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

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

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

getStatus

Get Status

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemStatusStatus

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.GetStatus(
    &idle.GetStatusRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
        CategoryName: pointy.String("category-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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\GetStatusRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatus(
        (new GetStatusRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withCategoryName("category-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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.GetStatusRequest;
import io.gs2.idle.result.GetStatusResult;

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

try {
    GetStatusResult result = client.getStatus(
        new GetStatusRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
    );
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.GetStatusRequest;
using Gs2.Gs2Idle.Result.GetStatusResult;

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

AsyncResult<Gs2.Gs2Idle.Result.GetStatusResult> asyncResult = null;
yield return client.GetStatus(
    new Gs2.Gs2Idle.Request.GetStatusRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001")
        .WithCategoryName("category-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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.getStatus(
        new Gs2Idle.GetStatusRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.get_status(
        idle.GetStatusRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_category_name('category-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.get_status({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
    categoryName='category-0001',
})

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

result = api_result.result
item = result.item;

getStatusByUserId

Get status by specifying user ID

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemStatusStatus

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.GetStatusByUserId(
    &idle.GetStatusByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        CategoryName: pointy.String("category-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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\GetStatusByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getStatusByUserId(
        (new GetStatusByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withCategoryName("category-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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.GetStatusByUserIdRequest;
import io.gs2.idle.result.GetStatusByUserIdResult;

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

try {
    GetStatusByUserIdResult result = client.getStatusByUserId(
        new GetStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
    );
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.GetStatusByUserIdRequest;
using Gs2.Gs2Idle.Result.GetStatusByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.GetStatusByUserIdResult> asyncResult = null;
yield return client.GetStatusByUserId(
    new Gs2.Gs2Idle.Request.GetStatusByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithCategoryName("category-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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.getStatusByUserId(
        new Gs2Idle.GetStatusByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.get_status_by_user_id(
        idle.GetStatusByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_category_name('category-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.get_status_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    categoryName='category-0001',
})

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

result = api_result.result
item = result.item;

prediction

Get list of rewards

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemsList<AcquireAction>Rewards
statusStatusStatus

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.Prediction(
    &idle.PredictionRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
        CategoryName: pointy.String("category-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\PredictionRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->prediction(
        (new PredictionRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withCategoryName("category-0001")
    );
    $items = $result->getItems();
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.PredictionRequest;
import io.gs2.idle.result.PredictionResult;

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

try {
    PredictionResult result = client.prediction(
        new PredictionRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
    );
    List<AcquireAction> items = result.getItems();
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.PredictionRequest;
using Gs2.Gs2Idle.Result.PredictionResult;

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

AsyncResult<Gs2.Gs2Idle.Result.PredictionResult> asyncResult = null;
yield return client.Prediction(
    new Gs2.Gs2Idle.Request.PredictionRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001")
        .WithCategoryName("category-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.prediction(
        new Gs2Idle.PredictionRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
    );
    const items = result.getItems();
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.prediction(
        idle.PredictionRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_category_name('category-0001')
    )
    items = result.items
    status = result.status
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.prediction({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
    categoryName='category-0001',
})

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

result = api_result.result
items = result.items;
status = result.status;

predictionByUserId

Get list of rewards by specifying user ID

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name

Result

TypeDescription
itemsList<AcquireAction>Rewards
statusStatusStatus

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.PredictionByUserId(
    &idle.PredictionByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        CategoryName: pointy.String("category-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\PredictionByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->predictionByUserId(
        (new PredictionByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withCategoryName("category-0001")
    );
    $items = $result->getItems();
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.PredictionByUserIdRequest;
import io.gs2.idle.result.PredictionByUserIdResult;

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

try {
    PredictionByUserIdResult result = client.predictionByUserId(
        new PredictionByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
    );
    List<AcquireAction> items = result.getItems();
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.PredictionByUserIdRequest;
using Gs2.Gs2Idle.Result.PredictionByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.PredictionByUserIdResult> asyncResult = null;
yield return client.PredictionByUserId(
    new Gs2.Gs2Idle.Request.PredictionByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithCategoryName("category-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.predictionByUserId(
        new Gs2Idle.PredictionByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
    );
    const items = result.getItems();
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.prediction_by_user_id(
        idle.PredictionByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_category_name('category-0001')
    )
    items = result.items
    status = result.status
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.prediction_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    categoryName='category-0001',
})

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

result = api_result.result
items = result.items;
status = result.status;

receive

Receive rewards

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
accessTokenstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name
configList<Config>[]~ 32 itemsSet values to be applied to stamp sheet variables

Result

TypeDescription
itemsList<AcquireAction>Rewards
transactionIdstringTransaction ID of the stamp sheet issued
stampSheetstringStamp sheet used to execute the quest initiation process
stampSheetEncryptionKeyIdstringCryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheetbool?Is stamp sheet auto-execution enabled?

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.Receive(
    &idle.ReceiveRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
        CategoryName: pointy.String("category-0001"),
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\ReceiveRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->receive(
        (new ReceiveRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
            ->withCategoryName("category-0001")
            ->withConfig(null)
    );
    $items = $result->getItems();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.ReceiveRequest;
import io.gs2.idle.result.ReceiveResult;

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

try {
    ReceiveResult result = client.receive(
        new ReceiveRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
            .withConfig(null)
    );
    List<AcquireAction> items = result.getItems();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.ReceiveRequest;
using Gs2.Gs2Idle.Result.ReceiveResult;

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

AsyncResult<Gs2.Gs2Idle.Result.ReceiveResult> asyncResult = null;
yield return client.Receive(
    new Gs2.Gs2Idle.Request.ReceiveRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001")
        .WithCategoryName("category-0001")
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.receive(
        new Gs2Idle.ReceiveRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
            .withCategoryName("category-0001")
            .withConfig(null)
    );
    const items = result.getItems();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.receive(
        idle.ReceiveRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
            .with_category_name('category-0001')
            .with_config(None)
    )
    items = result.items
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.receive({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
    categoryName='category-0001',
    config=nil,
})

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

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

receiveByUserId

Receive rewards

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name
configList<Config>[]~ 32 itemsSet values to be applied to stamp sheet variables

Result

TypeDescription
itemsList<AcquireAction>Rewards
transactionIdstringTransaction ID of the stamp sheet issued
stampSheetstringStamp sheet used to execute the quest initiation process
stampSheetEncryptionKeyIdstringCryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheetbool?Is stamp sheet auto-execution enabled?

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.ReceiveByUserId(
    &idle.ReceiveByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        CategoryName: pointy.String("category-0001"),
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\ReceiveByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->receiveByUserId(
        (new ReceiveByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withCategoryName("category-0001")
            ->withConfig(null)
    );
    $items = $result->getItems();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.ReceiveByUserIdRequest;
import io.gs2.idle.result.ReceiveByUserIdResult;

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

try {
    ReceiveByUserIdResult result = client.receiveByUserId(
        new ReceiveByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withConfig(null)
    );
    List<AcquireAction> items = result.getItems();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.ReceiveByUserIdRequest;
using Gs2.Gs2Idle.Result.ReceiveByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.ReceiveByUserIdResult> asyncResult = null;
yield return client.ReceiveByUserId(
    new Gs2.Gs2Idle.Request.ReceiveByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithCategoryName("category-0001")
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.receiveByUserId(
        new Gs2Idle.ReceiveByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withConfig(null)
    );
    const items = result.getItems();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.receive_by_user_id(
        idle.ReceiveByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_category_name('category-0001')
            .with_config(None)
    )
    items = result.items
    transaction_id = result.transaction_id
    stamp_sheet = result.stamp_sheet
    stamp_sheet_encryption_key_id = result.stamp_sheet_encryption_key_id
    auto_run_stamp_sheet = result.auto_run_stamp_sheet
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.receive_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    categoryName='category-0001',
    config=nil,
})

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

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

increaseMaximumIdleMinutesByUserId

Increase the maximum idle time by specifying user ID

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name
increaseMinutesint1 ~ 2147483646Minutes to increase the maximum idle time

Result

TypeDescription
itemStatusUpdated Status

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.IncreaseMaximumIdleMinutesByUserId(
    &idle.IncreaseMaximumIdleMinutesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        CategoryName: pointy.String("category-0001"),
        IncreaseMinutes: pointy.Int32(5),
    }
)
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\IncreaseMaximumIdleMinutesByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->increaseMaximumIdleMinutesByUserId(
        (new IncreaseMaximumIdleMinutesByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withCategoryName("category-0001")
            ->withIncreaseMinutes(5)
    );
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.IncreaseMaximumIdleMinutesByUserIdRequest;
import io.gs2.idle.result.IncreaseMaximumIdleMinutesByUserIdResult;

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

try {
    IncreaseMaximumIdleMinutesByUserIdResult result = client.increaseMaximumIdleMinutesByUserId(
        new IncreaseMaximumIdleMinutesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withIncreaseMinutes(5)
    );
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.IncreaseMaximumIdleMinutesByUserIdRequest;
using Gs2.Gs2Idle.Result.IncreaseMaximumIdleMinutesByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.IncreaseMaximumIdleMinutesByUserIdResult> asyncResult = null;
yield return client.IncreaseMaximumIdleMinutesByUserId(
    new Gs2.Gs2Idle.Request.IncreaseMaximumIdleMinutesByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithCategoryName("category-0001")
        .WithIncreaseMinutes(5),
    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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.increaseMaximumIdleMinutesByUserId(
        new Gs2Idle.IncreaseMaximumIdleMinutesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withIncreaseMinutes(5)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.increase_maximum_idle_minutes_by_user_id(
        idle.IncreaseMaximumIdleMinutesByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_category_name('category-0001')
            .with_increase_minutes(5)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.increase_maximum_idle_minutes_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    categoryName='category-0001',
    increaseMinutes=5,
})

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

result = api_result.result
item = result.item;

decreaseMaximumIdleMinutesByUserId

Decrease the maximum idle time by specifying user ID

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
userIdstring~ 128 charsUser Id
categoryNamestring~ 128 charsCategory Model Name
decreaseMinutesint1 ~ 2147483646Minutes to decrease the maximum idle time

Result

TypeDescription
itemStatusUpdated Status

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DecreaseMaximumIdleMinutesByUserId(
    &idle.DecreaseMaximumIdleMinutesByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        CategoryName: pointy.String("category-0001"),
        DecreaseMinutes: pointy.Int32(5),
    }
)
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DecreaseMaximumIdleMinutesByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->decreaseMaximumIdleMinutesByUserId(
        (new DecreaseMaximumIdleMinutesByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withCategoryName("category-0001")
            ->withDecreaseMinutes(5)
    );
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DecreaseMaximumIdleMinutesByUserIdRequest;
import io.gs2.idle.result.DecreaseMaximumIdleMinutesByUserIdResult;

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

try {
    DecreaseMaximumIdleMinutesByUserIdResult result = client.decreaseMaximumIdleMinutesByUserId(
        new DecreaseMaximumIdleMinutesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withDecreaseMinutes(5)
    );
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DecreaseMaximumIdleMinutesByUserIdRequest;
using Gs2.Gs2Idle.Result.DecreaseMaximumIdleMinutesByUserIdResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DecreaseMaximumIdleMinutesByUserIdResult> asyncResult = null;
yield return client.DecreaseMaximumIdleMinutesByUserId(
    new Gs2.Gs2Idle.Request.DecreaseMaximumIdleMinutesByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithCategoryName("category-0001")
        .WithDecreaseMinutes(5),
    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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.decreaseMaximumIdleMinutesByUserId(
        new Gs2Idle.DecreaseMaximumIdleMinutesByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withCategoryName("category-0001")
            .withDecreaseMinutes(5)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.decrease_maximum_idle_minutes_by_user_id(
        idle.DecreaseMaximumIdleMinutesByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_category_name('category-0001')
            .with_decrease_minutes(5)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.decrease_maximum_idle_minutes_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    categoryName='category-0001',
    decreaseMinutes=5,
})

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

result = api_result.result
item = result.item;

increaseMaximumIdleMinutesByStampSheet

Increase the maximum idle time by stamp sheet

Request

TypeConditionRequireDefaultLimitationDescription
stampSheetstring~ 5242880 charsStamp sheet
keyIdstring~ 1024 charsencryption key GRN

Result

TypeDescription
itemStatusUpdated Status

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.IncreaseMaximumIdleMinutesByStampSheet(
    &idle.IncreaseMaximumIdleMinutesByStampSheetRequest {
        StampSheet: pointy.String("$stampSheet"),
        KeyId: pointy.String("$key1.keyId"),
    }
)
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\IncreaseMaximumIdleMinutesByStampSheetRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->increaseMaximumIdleMinutesByStampSheet(
        (new IncreaseMaximumIdleMinutesByStampSheetRequest())
            ->withStampSheet(self::$stampSheet)
            ->withKeyId(self::$key1.keyId)
    );
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.IncreaseMaximumIdleMinutesByStampSheetRequest;
import io.gs2.idle.result.IncreaseMaximumIdleMinutesByStampSheetResult;

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

try {
    IncreaseMaximumIdleMinutesByStampSheetResult result = client.increaseMaximumIdleMinutesByStampSheet(
        new IncreaseMaximumIdleMinutesByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    Status 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.IncreaseMaximumIdleMinutesByStampSheetRequest;
using Gs2.Gs2Idle.Result.IncreaseMaximumIdleMinutesByStampSheetResult;

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

AsyncResult<Gs2.Gs2Idle.Result.IncreaseMaximumIdleMinutesByStampSheetResult> asyncResult = null;
yield return client.IncreaseMaximumIdleMinutesByStampSheet(
    new Gs2.Gs2Idle.Request.IncreaseMaximumIdleMinutesByStampSheetRequest()
        .WithStampSheet("$stampSheet")
        .WithKeyId("$key1.keyId"),
    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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.increaseMaximumIdleMinutesByStampSheet(
        new Gs2Idle.IncreaseMaximumIdleMinutesByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.increase_maximum_idle_minutes_by_stamp_sheet(
        idle.IncreaseMaximumIdleMinutesByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

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

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

result = api_result.result
item = result.item;

decreaseMaximumIdleMinutesByStampTask

Decrease the maximum idle time by stamp task

Request

TypeConditionRequireDefaultLimitationDescription
stampTaskstring~ 5242880 charsStamp task
keyIdstring~ 1024 charsencryption key GRN

Result

TypeDescription
itemStatusUpdated Status
newContextStackstringRequest of context in which stamp task execution results are recorded

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.DecreaseMaximumIdleMinutesByStampTask(
    &idle.DecreaseMaximumIdleMinutesByStampTaskRequest {
        StampTask: pointy.String("$stampTask"),
        KeyId: pointy.String("$key1.keyId"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
newContextStack := result.NewContextStack
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\DecreaseMaximumIdleMinutesByStampTaskRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->decreaseMaximumIdleMinutesByStampTask(
        (new DecreaseMaximumIdleMinutesByStampTaskRequest())
            ->withStampTask(self::$stampTask)
            ->withKeyId(self::$key1.keyId)
    );
    $item = $result->getItem();
    $newContextStack = $result->getNewContextStack();
} 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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.DecreaseMaximumIdleMinutesByStampTaskRequest;
import io.gs2.idle.result.DecreaseMaximumIdleMinutesByStampTaskResult;

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

try {
    DecreaseMaximumIdleMinutesByStampTaskResult result = client.decreaseMaximumIdleMinutesByStampTask(
        new DecreaseMaximumIdleMinutesByStampTaskRequest()
            .withStampTask("$stampTask")
            .withKeyId("$key1.keyId")
    );
    Status item = result.getItem();
    String newContextStack = result.getNewContextStack();
} 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.DecreaseMaximumIdleMinutesByStampTaskRequest;
using Gs2.Gs2Idle.Result.DecreaseMaximumIdleMinutesByStampTaskResult;

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

AsyncResult<Gs2.Gs2Idle.Result.DecreaseMaximumIdleMinutesByStampTaskResult> asyncResult = null;
yield return client.DecreaseMaximumIdleMinutesByStampTask(
    new Gs2.Gs2Idle.Request.DecreaseMaximumIdleMinutesByStampTaskRequest()
        .WithStampTask("$stampTask")
        .WithKeyId("$key1.keyId"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var newContextStack = result.NewContextStack;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.decreaseMaximumIdleMinutesByStampTask(
        new Gs2Idle.DecreaseMaximumIdleMinutesByStampTaskRequest()
            .withStampTask("$stampTask")
            .withKeyId("$key1.keyId")
    );
    const item = result.getItem();
    const newContextStack = result.getNewContextStack();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.decrease_maximum_idle_minutes_by_stamp_task(
        idle.DecreaseMaximumIdleMinutesByStampTaskRequest()
            .with_stamp_task(self.stamp_task)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    new_context_stack = result.new_context_stack
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.decrease_maximum_idle_minutes_by_stamp_task({
    stampTask='$stampTask',
    keyId='$key1.keyId',
})

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

result = api_result.result
item = result.item;
newContextStack = result.newContextStack;

exportMaster

Export master data for currently available idle settings

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
itemCurrentCategoryMasterCurrently available idle settings

Implementation Example

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

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

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

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

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

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

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

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

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

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;

getCurrentCategoryMaster

Retrieve the currently available idle settings

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name

Result

TypeDescription
itemCurrentCategoryMasterCurrently available idle settings

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.GetCurrentCategoryMaster(
    &idle.GetCurrentCategoryMasterRequest {
        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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\GetCurrentCategoryMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCurrentCategoryMaster(
        (new GetCurrentCategoryMasterRequest())
            ->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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.GetCurrentCategoryMasterRequest;
import io.gs2.idle.result.GetCurrentCategoryMasterResult;

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

try {
    GetCurrentCategoryMasterResult result = client.getCurrentCategoryMaster(
        new GetCurrentCategoryMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentCategoryMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.GetCurrentCategoryMasterRequest;
using Gs2.Gs2Idle.Result.GetCurrentCategoryMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.GetCurrentCategoryMasterResult> asyncResult = null;
yield return client.GetCurrentCategoryMaster(
    new Gs2.Gs2Idle.Request.GetCurrentCategoryMasterRequest()
        .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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.getCurrentCategoryMaster(
        new Gs2Idle.GetCurrentCategoryMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.get_current_category_master(
        idle.GetCurrentCategoryMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

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

updateCurrentCategoryMaster

Update the currently available idle settings

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
settingsstring~ 5242880 charsMaster data

Result

TypeDescription
itemCurrentCategoryMasterUpdated and currently available idle settings

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentCategoryMaster(
    &idle.UpdateCurrentCategoryMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Settings: pointy.String("{\"version\": \"2023-06-06\", \"categoryModels\": [{\"name\": \"category-0001\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"ca\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}]}, {\"name\": \"category-0002\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}], \"idlePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001\", \"receivePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002\"}]}"),
    }
)
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\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\UpdateCurrentCategoryMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentCategoryMaster(
        (new UpdateCurrentCategoryMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withSettings("{\"version\": \"2023-06-06\", \"categoryModels\": [{\"name\": \"category-0001\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"ca\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}]}, {\"name\": \"category-0002\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}], \"idlePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:\namespace1:event:event-0001\", \"receivePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:\namespace1:event:event-0002\"}]}")
    );
    $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.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.UpdateCurrentCategoryMasterRequest;
import io.gs2.idle.result.UpdateCurrentCategoryMasterResult;

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

try {
    UpdateCurrentCategoryMasterResult result = client.updateCurrentCategoryMaster(
        new UpdateCurrentCategoryMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\"version\": \"2023-06-06\", \"categoryModels\": [{\"name\": \"category-0001\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"ca\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}]}, {\"name\": \"category-0002\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}], \"idlePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001\", \"receivePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002\"}]}")
    );
    CurrentCategoryMaster 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.Gs2Idle.Gs2IdleRestClient;
using Gs2.Gs2Idle.Request.UpdateCurrentCategoryMasterRequest;
using Gs2.Gs2Idle.Result.UpdateCurrentCategoryMasterResult;

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

AsyncResult<Gs2.Gs2Idle.Result.UpdateCurrentCategoryMasterResult> asyncResult = null;
yield return client.UpdateCurrentCategoryMaster(
    new Gs2.Gs2Idle.Request.UpdateCurrentCategoryMasterRequest()
        .WithNamespaceName("namespace1")
        .WithSettings("{\"version\": \"2023-06-06\", \"categoryModels\": [{\"name\": \"category-0001\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"ca\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}]}, {\"name\": \"category-0002\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}], \"idlePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001\", \"receivePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002\"}]}"),
    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 Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.updateCurrentCategoryMaster(
        new Gs2Idle.UpdateCurrentCategoryMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\"version\": \"2023-06-06\", \"categoryModels\": [{\"name\": \"category-0001\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"ca\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}]}, {\"name\": \"category-0002\", \"rewardIntervalMinutes\": 5, \"defaultMaximumIdleMinutes\": 1440, \"acquireActions\": [{\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 10}}]}, {\"acquireActions\": [{\"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": {\"namespaceName\": \"namespace-0001\", \"experienceName\": \"player\", \"userId\": \"#{userId}\", \"propertyId\": \"player\", \"experienceValue\": 5}}]}], \"idlePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001\", \"receivePeriodScheduleId\": \"grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002\"}]}")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.update_current_category_master(
        idle.UpdateCurrentCategoryMasterRequest()
            .with_namespace_name(self.hash1)
            .with_settings('{"version": "2023-06-06", "categoryModels": [{"name": "category-0001", "rewardIntervalMinutes": 5, "defaultMaximumIdleMinutes": 1440, "acquireActions": [{"acquireActions": [{"action": "ca", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 10}}]}, {"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 5}}]}]}, {"name": "category-0002", "rewardIntervalMinutes": 5, "defaultMaximumIdleMinutes": 1440, "acquireActions": [{"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 10}}]}, {"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 5}}]}], "idlePeriodScheduleId": "grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001", "receivePeriodScheduleId": "grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002"}]}')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

api_result = client.update_current_category_master({
    namespaceName='namespace1',
    settings='{"version": "2023-06-06", "categoryModels": [{"name": "category-0001", "rewardIntervalMinutes": 5, "defaultMaximumIdleMinutes": 1440, "acquireActions": [{"acquireActions": [{"action": "ca", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 10}}]}, {"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 5}}]}]}, {"name": "category-0002", "rewardIntervalMinutes": 5, "defaultMaximumIdleMinutes": 1440, "acquireActions": [{"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 10}}]}, {"acquireActions": [{"action": "Gs2Experience:AddExperienceByUserId", "request": {"namespaceName": "namespace-0001", "experienceName": "player", "userId": "#{userId}", "propertyId": "player", "experienceValue": 5}}]}], "idlePeriodScheduleId": "grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0001", "receivePeriodScheduleId": "grn:gs2:ap-northeast-1:YourOwnerId:schedule:namespace1:event:event-0002"}]}',
})

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

result = api_result.result
item = result.item;

updateCurrentCategoryMasterFromGitHub

Update the currently available idle settings

Request

TypeConditionRequireDefaultLimitationDescription
namespaceNamestring~ 32 charsNamespace name
checkoutSettingGitHubCheckoutSettingSetup to check out master data from GitHub

Result

TypeDescription
itemCurrentCategoryMasterUpdated and currently available idle settings

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/idle"
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 := idle.Gs2IdleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentCategoryMasterFromGitHub(
    &idle.UpdateCurrentCategoryMasterFromGitHubRequest {
        NamespaceName: pointy.String("namespace1"),
        CheckoutSetting: {'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'},
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Idle\Gs2IdleRestClient;
use Gs2\Idle\Request\UpdateCurrentCategoryMasterFromGitHubRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentCategoryMasterFromGitHub(
        (new UpdateCurrentCategoryMasterFromGitHubRequest())
            ->withNamespaceName(self::namespace1)
            ->withCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.idle.rest.Gs2IdleRestClient;
import io.gs2.idle.request.UpdateCurrentCategoryMasterFromGitHubRequest;
import io.gs2.idle.result.UpdateCurrentCategoryMasterFromGitHubResult;

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

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

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

AsyncResult<Gs2.Gs2Idle.Result.UpdateCurrentCategoryMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentCategoryMasterFromGitHub(
    new Gs2.Gs2Idle.Request.UpdateCurrentCategoryMasterFromGitHubRequest()
        .WithNamespaceName("namespace1")
        .WithCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'}),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Idle from '@/gs2/idle';

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

try {
    const result = await client.updateCurrentCategoryMasterFromGitHub(
        new Gs2Idle.UpdateCurrentCategoryMasterFromGitHubRequest()
            .withNamespaceName("namespace1")
            .withCheckoutSetting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import idle

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

try:
    result = client.update_current_category_master_from_git_hub(
        idle.UpdateCurrentCategoryMasterFromGitHubRequest()
            .with_namespace_name(self.hash1)
            .with_checkout_setting({'apiKeyId': '$gitHubApiKey1.apiKeyId', 'repositoryName': 'gs2io/master-data', 'sourcePath': 'path/to/file.json', 'referenceType': 'branch', 'branchName': 'develop'})
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('idle')

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

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

result = api_result.result
item = result.item;