NAV
go python java php typescript csharp GS2-Script

GS2-Enhance

GS2 SDK Reference

GS2 SDK Reference

Models

Namespace

Namespace

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

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

Type Description
namespaceId string Namespace GRN
name string Namespace name
description string description of Namespace
enableDirectEnhance bool DirectEnhance is available
transactionSetting TransactionSetting Transaction settings
enhanceScript ScriptSetting Script to be executed at the time of reinforcement
logSetting LogSetting Log output settings
createdAt long Datetime of creation
updatedAt long Datetime of last update

RateModel

Enhancement Rates

The enhancement rate is data that defines the materials used for enhancement and the target of enhancement.

Both material data and enhancement target data must be managed in GS2-Inventory.
The experience value obtained from the enhancement is recorded in GS2-Inventory metadata in JSON format.
Here, it is necessary to describe at which level of the metadata the experience value is stored.

A correction value can be applied to the amount of experience value that can be obtained with a certain probability of great success during enhancement.
The probability of that draw is also defined in this entity.

Type Description
rateModelId string Enhance Rate Model GRN
name string Enhanced Rate Name
description string description of Namespace
metadata string metadata
targetInventoryModelId string Inventory available for enhancement targets
acquireExperienceSuffix string Suffix to be assigned to the property ID that stores the experience value obtained from GS2-Experience
materialInventoryModelId string Inventory model GRN
acquireExperienceHierarchy string[] JSON hierarchy of metadata storing acquired experience values
experienceModelId string Experience Model GRN
bonusRates BonusRate[] Experience gain bonus

RateModelMaster

Enhancement Rate Master

The reinforcement rate is data that defines the materials used for reinforcement and the target of reinforcement.

Both material data and reinforcement target data must be managed in GS2-Inventory.
The experience value obtained from the reinforcement is recorded in GS2-Inventory metadata in JSON format.
Here, it is necessary to describe at which level of the metadata the experience value is stored.

A correction value can be applied to the amount of experience value that can be obtained with a certain probability of great success during reinforcement.
The probability of that draw is also defined in this entity.

Type Description
rateModelId string Enhance Rate Model Master GRN
name string Enhanced Rate Name
description string description of Namespace
metadata string metadata
targetInventoryModelId string Inventory available for enhancement targets
acquireExperienceSuffix string Suffix to be assigned to the property ID that stores the experience value obtained from GS2-Experience
materialInventoryModelId string Inventory available for materials
acquireExperienceHierarchy string[] JSON hierarchy of metadata storing acquired experience values
experienceModelId string Experience gained as a result of reinforcement
bonusRates BonusRate[] Experience gain bonus
createdAt long Datetime of creation
updatedAt long Datetime of last update

Progress

Enhance Progress

It is created at the beginning of the enhance and deleted at the end.

When you exit the application in the middle of an enhance, this data will remain.
It is possible to resume the game from the ongoing enhance information maintained by the entity.

Type Description
progressId string Progress GRN
userId string User Id
rateName string Rate Model Name
name string Conduct ID
propertyId string Property ID to be enhanced
experienceValue int Experience value
rate float Experience value scale factor
createdAt long Datetime of creation
updatedAt long Datetime of last update

CurrentRateMaster

Currently available enhanced rate masters

GS2 uses JSON format files for master data management.
By uploading the file, the settings can actually be reflected 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 your own JSON files using the
The service can also be used by creating a tool more appropriate for game management and exporting a JSON file in the appropriate format.

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

Type Description
namespaceId string Currently available enhance experience rate setting GRN
settings string Master data

BonusRate

Type Description
rate float Experience bonus multiplier (1.0 = no bonus)
weight int lottery weight

Material

Type Description
materialItemSetId string Quantity of items held per expiration date GRN
count int Number of consumption

Config

Type Description
key string Name
value string Value

GitHubCheckoutSetting

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

ScriptSetting

Type Description
triggerScriptId string Script GRN
doneTriggerTargetType enum ['none', 'gs2_script', 'aws'] Notification of Completion
doneTriggerScriptId string Script GRN
doneTriggerQueueNamespaceId string Namespace GRN

LogSetting

Type Description
loggingNamespaceId string Namespace GRN

TransactionSetting

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

Methods

describeNamespaces

describeNamespaces

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

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

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

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

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

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

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

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

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

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

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

Get list of namespaces



Request

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

Result

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

createNamespace

createNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &enhance.CreateNamespaceRequest {
        Name: pointy.String("namespace1"),
        Description: nil,
        EnableDirectEnhance: pointy.Bool(true),
        TransactionSetting: &enhance.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"),
        },
        EnhanceScript: nil,
        LogSetting: &enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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)
            ->withEnableDirectEnhance(True)
            ->withTransactionSetting((new \Gs2\Enhance\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"))
            ->withEnhanceScript(null)
            ->withLogSetting((new \Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateNamespaceRequest;
import io.gs2.enhance.result.CreateNamespaceResult;

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

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withEnableDirectEnhance(true)
            .withTransactionSetting(new io.gs2.enhance.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"))
            .withEnhanceScript(null)
            .withLogSetting(new io.gs2.enhance.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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateNamespaceRequest;
using Gs2.Gs2Enhance.Result.CreateNamespaceResult;

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

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

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

try {
    const result = await client.createNamespace(
        new Gs2Enhance.CreateNamespaceRequest()
            .withName("namespace1")
            .withDescription(null)
            .withEnableDirectEnhance(true)
            .withTransactionSetting(new Gs2Enhance.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"))
            .withEnhanceScript(null)
            .withLogSetting(new Gs2Enhance.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 enhance

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

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

api_result = client.create_namespace({
    name='namespace1',
    description=nil,
    enableDirectEnhance=true,
    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',
    },
    enhanceScript=nil,
    logSetting={
        loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1',
    },
})

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

result = api_result.result
item = result.item;

Create a new namespace



Request

Type Require Default Limitation Description
name string ~ 32 chars Namespace name
description string ~ 1024 chars description of Namespace
enableDirectEnhance bool false DirectEnhance is available
transactionSetting TransactionSetting Transaction settings
enhanceScript ScriptSetting Script to be executed at the time of reinforcement
logSetting LogSetting Log output settings

Result

Type Description
item Namespace Namespace created

getNamespaceStatus

getNamespaceStatus

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

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

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

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

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

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

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

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

client = gs2('enhance')

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;

Get namespace status



Request

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

Result

Type Description
status string

getNamespace

getNamespace

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

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

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

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

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

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

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

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

client = gs2('enhance')

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

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

result = api_result.result
item = result.item;

Get namespace



Request

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

Result

Type Description
item Namespace Namespace

updateNamespace

updateNamespace

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &enhance.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace1"),
        Description: pointy.String("description1"),
        EnableDirectEnhance: pointy.Bool(false),
        TransactionSetting: &enhance.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"),
        },
        EnhanceScript: nil,
        LogSetting: &enhance.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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\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")
            ->withEnableDirectEnhance(False)
            ->withTransactionSetting((new \Gs2\Enhance\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"))
            ->withEnhanceScript(null)
            ->withLogSetting((new \Gs2\Enhance\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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateNamespaceRequest;
import io.gs2.enhance.result.UpdateNamespaceResult;

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

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withEnableDirectEnhance(false)
            .withTransactionSetting(new io.gs2.enhance.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"))
            .withEnhanceScript(null)
            .withLogSetting(new io.gs2.enhance.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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.UpdateNamespaceRequest;
using Gs2.Gs2Enhance.Result.UpdateNamespaceResult;

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

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

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

try {
    const result = await client.updateNamespace(
        new Gs2Enhance.UpdateNamespaceRequest()
            .withNamespaceName("namespace1")
            .withDescription("description1")
            .withEnableDirectEnhance(false)
            .withTransactionSetting(new Gs2Enhance.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"))
            .withEnhanceScript(null)
            .withLogSetting(new Gs2Enhance.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 enhance

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

try:
    result = client.update_namespace(
        enhance.UpdateNamespaceRequest()
            .with_namespace_name(self.hash1)
            .with_description('description1')
            .with_enable_direct_enhance(False)
            .with_transaction_setting(
                enhance.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_enhance_script(None)
            .with_log_setting(
                enhance.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('enhance')

api_result = client.update_namespace({
    namespaceName='namespace1',
    description='description1',
    enableDirectEnhance=false,
    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',
    },
    enhanceScript=nil,
    logSetting={
        loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1',
    },
})

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

result = api_result.result
item = result.item;

Update namespace



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
description string ~ 1024 chars description of Namespace
enableDirectEnhance bool false DirectEnhance is available
transactionSetting TransactionSetting Transaction settings
enhanceScript ScriptSetting Script to be executed at the time of reinforcement
logSetting LogSetting Log output settings

Result

Type Description
item Namespace Updated namespace

deleteNamespace

deleteNamespace

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

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

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

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

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

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

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

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

client = gs2('enhance')

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

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

result = api_result.result
item = result.item;

Delete namespace



Request

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

Result

Type Description
item Namespace Deleted namespace

describeRateModels

describeRateModels

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

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeRateModels(
        (new DescribeRateModelsRequest())
            ->withNamespaceName(self::namespace1)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DescribeRateModelsRequest;
import io.gs2.enhance.result.DescribeRateModelsResult;

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

try {
    DescribeRateModelsResult result = client.describeRateModels(
        new DescribeRateModelsRequest()
            .withNamespaceName("namespace1")
    );
    List<RateModel> 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DescribeRateModelsRequest;
using Gs2.Gs2Enhance.Result.DescribeRateModelsResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DescribeRateModelsResult> asyncResult = null;
yield return client.DescribeRateModels(
    new Gs2.Gs2Enhance.Request.DescribeRateModelsRequest()
        .WithNamespaceName("namespace1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.describeRateModels(
        new Gs2Enhance.DescribeRateModelsRequest()
            .withNamespaceName("namespace1")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.describe_rate_models(
        enhance.DescribeRateModelsRequest()
            .with_namespace_name(self.hash1)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

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

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

result = api_result.result
items = result.items;

Get list of enhanced rate models



Request

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

Result

Type Description
items RateModel[] List of Enhanced Rate Model

getRateModel

getRateModel

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.GetRateModel(
    &enhance.GetRateModelRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("character-level"),
    }
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetRateModelRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getRateModel(
        (new GetRateModelRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("character-level")
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetRateModelRequest;
import io.gs2.enhance.result.GetRateModelResult;

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

try {
    GetRateModelResult result = client.getRateModel(
        new GetRateModelRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    RateModel 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetRateModelRequest;
using Gs2.Gs2Enhance.Result.GetRateModelResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.GetRateModelResult> asyncResult = null;
yield return client.GetRateModel(
    new Gs2.Gs2Enhance.Request.GetRateModelRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("character-level"),
    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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.getRateModel(
        new Gs2Enhance.GetRateModelRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.get_rate_model(
        enhance.GetRateModelRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('character-level')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.get_rate_model({
    namespaceName='namespace1',
    rateName='character-level',
})

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

result = api_result.result
item = result.item;

Get Enhanced Rate Model



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name

Result

Type Description
item RateModel Enhanced Rate Model

describeRateModelMasters

describeRateModelMasters

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DescribeRateModelMasters(
    &enhance.DescribeRateModelMastersRequest {
        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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DescribeRateModelMastersRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->describeRateModelMasters(
        (new DescribeRateModelMastersRequest())
            ->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DescribeRateModelMastersRequest;
import io.gs2.enhance.result.DescribeRateModelMastersResult;

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

try {
    DescribeRateModelMastersResult result = client.describeRateModelMasters(
        new DescribeRateModelMastersRequest()
            .withNamespaceName("namespace1")
            .withPageToken(null)
            .withLimit(null)
    );
    List<RateModelMaster> 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DescribeRateModelMastersRequest;
using Gs2.Gs2Enhance.Result.DescribeRateModelMastersResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DescribeRateModelMastersResult> asyncResult = null;
yield return client.DescribeRateModelMasters(
    new Gs2.Gs2Enhance.Request.DescribeRateModelMastersRequest()
        .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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.describeRateModelMasters(
        new Gs2Enhance.DescribeRateModelMastersRequest()
            .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 enhance

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

try:
    result = client.describe_rate_model_masters(
        enhance.DescribeRateModelMastersRequest()
            .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('enhance')

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

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

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

Get list of enhanced rate masters



Request

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

Result

Type Description
items RateModelMaster[] List of Enhanced Rate Master
nextPageToken string Page token to retrieve the rest of the listing

createRateModelMaster

createRateModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.CreateRateModelMaster(
    &enhance.CreateRateModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Name: pointy.String("character-level"),
        Description: nil,
        Metadata: pointy.String("CHARACTER_LEVEL"),
        TargetInventoryModelId: pointy.String("grn:inventory:character"),
        AcquireExperienceSuffix: pointy.String(":level"),
        MaterialInventoryModelId: pointy.String("grn:inventory:material"),
        AcquireExperienceHierarchy: []string{
            "experience",
        },
        ExperienceModelId: pointy.String("grn:experience:level"),
        BonusRates: []enhance.BonusRate{
            enhance.BonusRate{
                Rate: pointy.Float32(1.0),
                Weight: pointy.Int32(90),
            },
        enhance.BonusRate{
                Rate: pointy.Float32(1.5),
                Weight: pointy.Int32(9),
            },
        enhance.BonusRate{
                Rate: pointy.Float32(2.0),
                Weight: pointy.Int32(1),
            },
        },
    }
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\CreateRateModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createRateModelMaster(
        (new CreateRateModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withName("character-level")
            ->withDescription(null)
            ->withMetadata("CHARACTER_LEVEL")
            ->withTargetInventoryModelId("grn:inventory:character")
            ->withAcquireExperienceSuffix(":level")
            ->withMaterialInventoryModelId("grn:inventory:material")
            ->withAcquireExperienceHierarchy([    "experience",
            ])
            ->withExperienceModelId("grn:experience:level")
            ->withBonusRates([    (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(1.0)
                ->withWeight(90),
            (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(1.5)
                ->withWeight(9),
            (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(2.0)
                ->withWeight(1),
            ])
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateRateModelMasterRequest;
import io.gs2.enhance.result.CreateRateModelMasterResult;

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

try {
    CreateRateModelMasterResult result = client.createRateModelMaster(
        new CreateRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("character-level")
            .withDescription(null)
            .withMetadata("CHARACTER_LEVEL")
            .withTargetInventoryModelId("grn:inventory:character")
            .withAcquireExperienceSuffix(":level")
            .withMaterialInventoryModelId("grn:inventory:material")
            .withAcquireExperienceHierarchy(Arrays.asList(
                "experience"
            ))
            .withExperienceModelId("grn:experience:level")
            .withBonusRates(Arrays.asList(
                new io.gs2.enhance.model.BonusRate()
                    .withRate(1.0f)
                    .withWeight(90),
            new io.gs2.enhance.model.BonusRate()
                    .withRate(1.5f)
                    .withWeight(9),
            new io.gs2.enhance.model.BonusRate()
                    .withRate(2.0f)
                    .withWeight(1)
            ))
    );
    RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.CreateRateModelMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.CreateRateModelMasterResult> asyncResult = null;
yield return client.CreateRateModelMaster(
    new Gs2.Gs2Enhance.Request.CreateRateModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithName("character-level")
        .WithDescription(null)
        .WithMetadata("CHARACTER_LEVEL")
        .WithTargetInventoryModelId("grn:inventory:character")
        .WithAcquireExperienceSuffix(":level")
        .WithMaterialInventoryModelId("grn:inventory:material")
        .WithAcquireExperienceHierarchy(new string[] {
            "experience"
        })
        .WithExperienceModelId("grn:experience:level")
        .WithBonusRates(new Gs2.Gs2Enhance.Model.BonusRate[] {
            new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(1.0f)
                .WithWeight(90),
        new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(1.5f)
                .WithWeight(9),
        new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(2.0f)
                .WithWeight(1)
        }),
    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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.createRateModelMaster(
        new Gs2Enhance.CreateRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withName("character-level")
            .withDescription(null)
            .withMetadata("CHARACTER_LEVEL")
            .withTargetInventoryModelId("grn:inventory:character")
            .withAcquireExperienceSuffix(":level")
            .withMaterialInventoryModelId("grn:inventory:material")
            .withAcquireExperienceHierarchy([
                "experience"
            ])
            .withExperienceModelId("grn:experience:level")
            .withBonusRates([
                new Gs2Enhance.model.BonusRate()
                    .withRate(1.0)
                    .withWeight(90),
            new Gs2Enhance.model.BonusRate()
                    .withRate(1.5)
                    .withWeight(9),
            new Gs2Enhance.model.BonusRate()
                    .withRate(2.0)
                    .withWeight(1)
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.create_rate_model_master(
        enhance.CreateRateModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_name('character-level')
            .with_description(None)
            .with_metadata('CHARACTER_LEVEL')
            .with_target_inventory_model_id('grn:inventory:character')
            .with_acquire_experience_suffix(':level')
            .with_material_inventory_model_id('grn:inventory:material')
            .with_acquire_experience_hierarchy([    'experience',
            ])
            .with_experience_model_id('grn:experience:level')
            .with_bonus_rates([    enhance.BonusRate()
                .with_rate(1.0)
                .with_weight(90),
            enhance.BonusRate()
                .with_rate(1.5)
                .with_weight(9),
            enhance.BonusRate()
                .with_rate(2.0)
                .with_weight(1),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.create_rate_model_master({
    namespaceName='namespace1',
    name='character-level',
    description=nil,
    metadata='CHARACTER_LEVEL',
    targetInventoryModelId='grn:inventory:character',
    acquireExperienceSuffix=':level',
    materialInventoryModelId='grn:inventory:material',
    acquireExperienceHierarchy={
        'experience'
    },
    experienceModelId='grn:experience:level',
    bonusRates={
        {
            rate=1.0,
            weight=90,
        },
    {
            rate=1.5,
            weight=9,
        },
    {
            rate=2.0,
            weight=1,
        }
    },
})

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

result = api_result.result
item = result.item;

Create a new Enhanced Rate Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
name string ~ 128 chars Enhanced Rate Name
description string ~ 1024 chars description of Namespace
metadata string ~ 2048 chars metadata
targetInventoryModelId string ~ 1024 chars Inventory available for enhancement targets
acquireExperienceSuffix string ~ 1024 chars Suffix to be assigned to the property ID that stores the experience value obtained from GS2-Experience
materialInventoryModelId string ~ 1024 chars Inventory available for materials
acquireExperienceHierarchy string[] JSON hierarchy of metadata storing acquired experience values
experienceModelId string ~ 1024 chars Experience gained as a result of reinforcement
bonusRates BonusRate[] Experience gain bonus

Result

Type Description
item RateModelMaster Created Enhanced Rate Master

getRateModelMaster

getRateModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.GetRateModelMaster(
    &enhance.GetRateModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("character-level"),
    }
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetRateModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getRateModelMaster(
        (new GetRateModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("character-level")
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetRateModelMasterRequest;
import io.gs2.enhance.result.GetRateModelMasterResult;

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

try {
    GetRateModelMasterResult result = client.getRateModelMaster(
        new GetRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.GetRateModelMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.GetRateModelMasterResult> asyncResult = null;
yield return client.GetRateModelMaster(
    new Gs2.Gs2Enhance.Request.GetRateModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("character-level"),
    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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.getRateModelMaster(
        new Gs2Enhance.GetRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.get_rate_model_master(
        enhance.GetRateModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('character-level')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.get_rate_model_master({
    namespaceName='namespace1',
    rateName='character-level',
})

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

result = api_result.result
item = result.item;

Get Enhanced Rate Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name

Result

Type Description
item RateModelMaster Enhanced Rate Master

updateRateModelMaster

updateRateModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.UpdateRateModelMaster(
    &enhance.UpdateRateModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("character-level"),
        Description: nil,
        Metadata: pointy.String("CHARACTER_LEVEL2"),
        TargetInventoryModelId: pointy.String("grn:inventory:character2"),
        AcquireExperienceSuffix: pointy.String(":level2"),
        MaterialInventoryModelId: pointy.String("grn:inventory:material2"),
        AcquireExperienceHierarchy: []string{
            "experience2",
        },
        ExperienceModelId: pointy.String("grn:experience:level2"),
        BonusRates: []enhance.BonusRate{
            enhance.BonusRate{
                Rate: pointy.Float32(1.05),
                Weight: pointy.Int32(905),
            },
        enhance.BonusRate{
                Rate: pointy.Float32(1.55),
                Weight: pointy.Int32(95),
            },
        enhance.BonusRate{
                Rate: pointy.Float32(2.05),
                Weight: pointy.Int32(15),
            },
        },
    }
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\UpdateRateModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateRateModelMaster(
        (new UpdateRateModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("character-level")
            ->withDescription(null)
            ->withMetadata("CHARACTER_LEVEL2")
            ->withTargetInventoryModelId("grn:inventory:character2")
            ->withAcquireExperienceSuffix(":level2")
            ->withMaterialInventoryModelId("grn:inventory:material2")
            ->withAcquireExperienceHierarchy([    "experience2",
            ])
            ->withExperienceModelId("grn:experience:level2")
            ->withBonusRates([    (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(1.05)
                ->withWeight(905),
            (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(1.55)
                ->withWeight(95),
            (new \Gs2\Enhance\Model\BonusRate())
                ->withRate(2.05)
                ->withWeight(15),
            ])
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateRateModelMasterRequest;
import io.gs2.enhance.result.UpdateRateModelMasterResult;

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

try {
    UpdateRateModelMasterResult result = client.updateRateModelMaster(
        new UpdateRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
            .withDescription(null)
            .withMetadata("CHARACTER_LEVEL2")
            .withTargetInventoryModelId("grn:inventory:character2")
            .withAcquireExperienceSuffix(":level2")
            .withMaterialInventoryModelId("grn:inventory:material2")
            .withAcquireExperienceHierarchy(Arrays.asList(
                "experience2"
            ))
            .withExperienceModelId("grn:experience:level2")
            .withBonusRates(Arrays.asList(
                new io.gs2.enhance.model.BonusRate()
                    .withRate(1.05f)
                    .withWeight(905),
            new io.gs2.enhance.model.BonusRate()
                    .withRate(1.55f)
                    .withWeight(95),
            new io.gs2.enhance.model.BonusRate()
                    .withRate(2.05f)
                    .withWeight(15)
            ))
    );
    RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.UpdateRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.UpdateRateModelMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.UpdateRateModelMasterResult> asyncResult = null;
yield return client.UpdateRateModelMaster(
    new Gs2.Gs2Enhance.Request.UpdateRateModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("character-level")
        .WithDescription(null)
        .WithMetadata("CHARACTER_LEVEL2")
        .WithTargetInventoryModelId("grn:inventory:character2")
        .WithAcquireExperienceSuffix(":level2")
        .WithMaterialInventoryModelId("grn:inventory:material2")
        .WithAcquireExperienceHierarchy(new string[] {
            "experience2"
        })
        .WithExperienceModelId("grn:experience:level2")
        .WithBonusRates(new Gs2.Gs2Enhance.Model.BonusRate[] {
            new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(1.05f)
                .WithWeight(905),
        new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(1.55f)
                .WithWeight(95),
        new Gs2.Gs2Enhance.Model.BonusRate()
                .WithRate(2.05f)
                .WithWeight(15)
        }),
    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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.updateRateModelMaster(
        new Gs2Enhance.UpdateRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
            .withDescription(null)
            .withMetadata("CHARACTER_LEVEL2")
            .withTargetInventoryModelId("grn:inventory:character2")
            .withAcquireExperienceSuffix(":level2")
            .withMaterialInventoryModelId("grn:inventory:material2")
            .withAcquireExperienceHierarchy([
                "experience2"
            ])
            .withExperienceModelId("grn:experience:level2")
            .withBonusRates([
                new Gs2Enhance.model.BonusRate()
                    .withRate(1.05)
                    .withWeight(905),
            new Gs2Enhance.model.BonusRate()
                    .withRate(1.55)
                    .withWeight(95),
            new Gs2Enhance.model.BonusRate()
                    .withRate(2.05)
                    .withWeight(15)
            ])
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.update_rate_model_master(
        enhance.UpdateRateModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('character-level')
            .with_description(None)
            .with_metadata('CHARACTER_LEVEL2')
            .with_target_inventory_model_id('grn:inventory:character2')
            .with_acquire_experience_suffix(':level2')
            .with_material_inventory_model_id('grn:inventory:material2')
            .with_acquire_experience_hierarchy([    'experience2',
            ])
            .with_experience_model_id('grn:experience:level2')
            .with_bonus_rates([    enhance.BonusRate()
                .with_rate(1.05)
                .with_weight(905),
            enhance.BonusRate()
                .with_rate(1.55)
                .with_weight(95),
            enhance.BonusRate()
                .with_rate(2.05)
                .with_weight(15),
            ])
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.update_rate_model_master({
    namespaceName='namespace1',
    rateName='character-level',
    description=nil,
    metadata='CHARACTER_LEVEL2',
    targetInventoryModelId='grn:inventory:character2',
    acquireExperienceSuffix=':level2',
    materialInventoryModelId='grn:inventory:material2',
    acquireExperienceHierarchy={
        'experience2'
    },
    experienceModelId='grn:experience:level2',
    bonusRates={
        {
            rate=1.05,
            weight=905,
        },
    {
            rate=1.55,
            weight=95,
        },
    {
            rate=2.05,
            weight=15,
        }
    },
})

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

result = api_result.result
item = result.item;

Update Enhanced Rate Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name
description string ~ 1024 chars description of Namespace
metadata string ~ 2048 chars metadata
targetInventoryModelId string ~ 1024 chars Inventory available for enhancement targets
acquireExperienceSuffix string ~ 1024 chars Suffix to be assigned to the property ID that stores the experience value obtained from GS2-Experience
materialInventoryModelId string ~ 1024 chars Inventory available for materials
acquireExperienceHierarchy string[] JSON hierarchy of metadata storing acquired experience values
experienceModelId string ~ 1024 chars Experience gained as a result of reinforcement
bonusRates BonusRate[] Experience gain bonus

Result

Type Description
item RateModelMaster Updated Enhanced Rate Master

deleteRateModelMaster

deleteRateModelMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DeleteRateModelMaster(
    &enhance.DeleteRateModelMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("character-level"),
    }
)
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DeleteRateModelMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteRateModelMaster(
        (new DeleteRateModelMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("character-level")
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteRateModelMasterRequest;
import io.gs2.enhance.result.DeleteRateModelMasterResult;

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

try {
    DeleteRateModelMasterResult result = client.deleteRateModelMaster(
        new DeleteRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    RateModelMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteRateModelMasterRequest;
using Gs2.Gs2Enhance.Result.DeleteRateModelMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DeleteRateModelMasterResult> asyncResult = null;
yield return client.DeleteRateModelMaster(
    new Gs2.Gs2Enhance.Request.DeleteRateModelMasterRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("character-level"),
    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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.deleteRateModelMaster(
        new Gs2Enhance.DeleteRateModelMasterRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.delete_rate_model_master(
        enhance.DeleteRateModelMasterRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('character-level')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.delete_rate_model_master({
    namespaceName='namespace1',
    rateName='character-level',
})

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

result = api_result.result
item = result.item;

Delete Enhanced Rate Master



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name

Result

Type Description
item RateModelMaster Deleted Enhanced Rate Master

directEnhance

directEnhance

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DirectEnhance(
    &enhance.DirectEnhanceRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("rate-0001"),
        AccessToken: pointy.String("$access_token_0001"),
        TargetItemSetId: pointy.String("item-set-0001"),
        Materials: []enhance.Material{
            {'materialItemSetId': 'material-0001', 'count': 1},
        },
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->directEnhance(
        (new DirectEnhanceRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("rate-0001")
            ->withAccessToken(self::$accessToken0001)
            ->withTargetItemSetId("item-set-0001")
            ->withMaterials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            ->withConfig(null)
    );
    $item = $result->getItem();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
    $acquireExperience = $result->getAcquireExperience();
    $bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceRequest;
import io.gs2.enhance.result.DirectEnhanceResult;

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

try {
    DirectEnhanceResult result = client.directEnhance(
        new DirectEnhanceRequest()
            .withNamespaceName("namespace1")
            .withRateName("rate-0001")
            .withAccessToken("$access_token_0001")
            .withTargetItemSetId("item-set-0001")
            .withMaterials(Arrays.asList(
                {'materialItemSetId': 'material-0001', 'count': 1}
            ))
            .withConfig(null)
    );
    RateModel item = result.getItem();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
    long acquireExperience = result.getAcquireExperience();
    float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DirectEnhanceRequest;
using Gs2.Gs2Enhance.Result.DirectEnhanceResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DirectEnhanceResult> asyncResult = null;
yield return client.DirectEnhance(
    new Gs2.Gs2Enhance.Request.DirectEnhanceRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("rate-0001")
        .WithAccessToken("$access_token_0001")
        .WithTargetItemSetId("item-set-0001")
        .WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
            {'materialItemSetId': 'material-0001', 'count': 1}
        })
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.directEnhance(
        new Gs2Enhance.DirectEnhanceRequest()
            .withNamespaceName("namespace1")
            .withRateName("rate-0001")
            .withAccessToken("$access_token_0001")
            .withTargetItemSetId("item-set-0001")
            .withMaterials([
                {'materialItemSetId': 'material-0001', 'count': 1}
            ])
            .withConfig(null)
    );
    const item = result.getItem();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
    const acquireExperience = result.getAcquireExperience();
    const bonusRate = result.getBonusRate();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.direct_enhance(
        enhance.DirectEnhanceRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('rate-0001')
            .with_access_token(self.access_token_0001)
            .with_target_item_set_id('item-set-0001')
            .with_materials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            .with_config(None)
    )
    item = result.item
    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
    acquire_experience = result.acquire_experience
    bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.direct_enhance({
    namespaceName='namespace1',
    rateName='rate-0001',
    accessToken='$access_token_0001',
    targetItemSetId='item-set-0001',
    materials={
        {'materialItemSetId': 'material-0001', 'count': 1}
    },
    config=nil,
})

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

result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;

Perform enhancements

This API has security challenges instead of optimizing execution speed.

While it responds to stamp sheets as well as bonus rates to express "success" and "great success"
This allows for sorting by only issuing stamp sheets but not executing them.
To prevent selection, the Start / End API in Progress can be used.
Consumes reinforcement materials and determines the bonus rate at the timing of the call to Start, and
The stamp sheet can be made to issue a stamp sheet to gain experience at the time End is called.



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name
accessToken string ~ 128 chars User Id
targetItemSetId string ~ 1024 chars Quantity of items held per expiration date GRN
materials Material[] List of Material
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
item RateModel Enhanced Rate Model
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to perform the enhancement process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?
acquireExperience long Amount of experience gained
bonusRate float Experience bonus multiplier (1.0 = no bonus)

directEnhanceByUserId

directEnhanceByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DirectEnhanceByUserId(
    &enhance.DirectEnhanceByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("rate-0001"),
        UserId: pointy.String("user-0001"),
        TargetItemSetId: pointy.String("item-set-0001"),
        Materials: []enhance.Material{
            {'materialItemSetId': 'material-0001', 'count': 1},
        },
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->directEnhanceByUserId(
        (new DirectEnhanceByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("rate-0001")
            ->withUserId("user-0001")
            ->withTargetItemSetId("item-set-0001")
            ->withMaterials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            ->withConfig(null)
    );
    $item = $result->getItem();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
    $acquireExperience = $result->getAcquireExperience();
    $bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceByUserIdRequest;
import io.gs2.enhance.result.DirectEnhanceByUserIdResult;

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

try {
    DirectEnhanceByUserIdResult result = client.directEnhanceByUserId(
        new DirectEnhanceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withRateName("rate-0001")
            .withUserId("user-0001")
            .withTargetItemSetId("item-set-0001")
            .withMaterials(Arrays.asList(
                {'materialItemSetId': 'material-0001', 'count': 1}
            ))
            .withConfig(null)
    );
    RateModel item = result.getItem();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
    long acquireExperience = result.getAcquireExperience();
    float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DirectEnhanceByUserIdRequest;
using Gs2.Gs2Enhance.Result.DirectEnhanceByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DirectEnhanceByUserIdResult> asyncResult = null;
yield return client.DirectEnhanceByUserId(
    new Gs2.Gs2Enhance.Request.DirectEnhanceByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("rate-0001")
        .WithUserId("user-0001")
        .WithTargetItemSetId("item-set-0001")
        .WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
            {'materialItemSetId': 'material-0001', 'count': 1}
        })
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.directEnhanceByUserId(
        new Gs2Enhance.DirectEnhanceByUserIdRequest()
            .withNamespaceName("namespace1")
            .withRateName("rate-0001")
            .withUserId("user-0001")
            .withTargetItemSetId("item-set-0001")
            .withMaterials([
                {'materialItemSetId': 'material-0001', 'count': 1}
            ])
            .withConfig(null)
    );
    const item = result.getItem();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
    const acquireExperience = result.getAcquireExperience();
    const bonusRate = result.getBonusRate();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.direct_enhance_by_user_id(
        enhance.DirectEnhanceByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('rate-0001')
            .with_user_id('user-0001')
            .with_target_item_set_id('item-set-0001')
            .with_materials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            .with_config(None)
    )
    item = result.item
    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
    acquire_experience = result.acquire_experience
    bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.direct_enhance_by_user_id({
    namespaceName='namespace1',
    rateName='rate-0001',
    userId='user-0001',
    targetItemSetId='item-set-0001',
    materials={
        {'materialItemSetId': 'material-0001', 'count': 1}
    },
    config=nil,
})

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

result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;

Perform enhancement by specifying user ID

This API has security challenges instead of optimizing execution speed.

While it responds to stamp sheets as well as bonus rates to express "success" and "great success"
This allows for sorting by only issuing stamp sheets but not executing them.
To prevent selection, the Start / End API in Progress can be used.
Consumes reinforcement materials and determines the bonus rate at the timing of the call to Start, and
The stamp sheet can be made to issue a stamp sheet to gain experience at the time End is called.



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Enhanced Rate Name
userId string ~ 128 chars User Id
targetItemSetId string ~ 1024 chars Quantity of items held per expiration date GRN
materials Material[] List of Material
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
item RateModel Enhanced Rate Model
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to perform the enhancement process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?
acquireExperience long Amount of experience gained
bonusRate float Experience bonus multiplier (1.0 = no bonus)

directEnhanceByStampSheet

directEnhanceByStampSheet

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DirectEnhanceByStampSheet(
    &enhance.DirectEnhanceByStampSheetRequest {
        StampSheet: pointy.String("$stampSheet"),
        KeyId: pointy.String("$key1.keyId"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DirectEnhanceByStampSheetRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->directEnhanceByStampSheet(
        (new DirectEnhanceByStampSheetRequest())
            ->withStampSheet(self::$stampSheet)
            ->withKeyId(self::$key1.keyId)
    );
    $item = $result->getItem();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
    $acquireExperience = $result->getAcquireExperience();
    $bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DirectEnhanceByStampSheetRequest;
import io.gs2.enhance.result.DirectEnhanceByStampSheetResult;

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

try {
    DirectEnhanceByStampSheetResult result = client.directEnhanceByStampSheet(
        new DirectEnhanceByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    RateModel item = result.getItem();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
    long acquireExperience = result.getAcquireExperience();
    float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DirectEnhanceByStampSheetRequest;
using Gs2.Gs2Enhance.Result.DirectEnhanceByStampSheetResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DirectEnhanceByStampSheetResult> asyncResult = null;
yield return client.DirectEnhanceByStampSheet(
    new Gs2.Gs2Enhance.Request.DirectEnhanceByStampSheetRequest()
        .WithStampSheet("$stampSheet")
        .WithKeyId("$key1.keyId"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.directEnhanceByStampSheet(
        new Gs2Enhance.DirectEnhanceByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    const item = result.getItem();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
    const acquireExperience = result.getAcquireExperience();
    const bonusRate = result.getBonusRate();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.direct_enhance_by_stamp_sheet(
        enhance.DirectEnhanceByStampSheetRequest()
            .with_stamp_sheet(self.stamp_sheet)
            .with_key_id(self.key1.key_id)
    )
    item = result.item
    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
    acquire_experience = result.acquire_experience
    bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.direct_enhance_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;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;

Perform enhancements with stamp sheets



Request

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

Result

Type Description
item RateModel Enhanced Rate Model
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to perform the enhancement process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?
acquireExperience long Amount of experience gained
bonusRate float Experience bonus multiplier (1.0 = no bonus)

createProgressByUserId

createProgressByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.CreateProgressByUserId(
    &enhance.CreateProgressByUserIdRequest {
        NamespaceName: pointy.String("namespace1"),
        UserId: pointy.String("user-0001"),
        RateName: pointy.String("character-level"),
        TargetItemSetId: pointy.String("item-set-0001"),
        Materials: []enhance.Material{
            {'materialItemSetId': 'material-0001', 'count': 1},
        },
        Force: 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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\CreateProgressByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createProgressByUserId(
        (new CreateProgressByUserIdRequest())
            ->withNamespaceName(self::namespace1)
            ->withUserId("user-0001")
            ->withRateName("character-level")
            ->withTargetItemSetId("item-set-0001")
            ->withMaterials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            ->withForce(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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateProgressByUserIdRequest;
import io.gs2.enhance.result.CreateProgressByUserIdResult;

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

try {
    CreateProgressByUserIdResult result = client.createProgressByUserId(
        new CreateProgressByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials(Arrays.asList(
                {'materialItemSetId': 'material-0001', 'count': 1}
            ))
            .withForce(null)
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateProgressByUserIdRequest;
using Gs2.Gs2Enhance.Result.CreateProgressByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.CreateProgressByUserIdResult> asyncResult = null;
yield return client.CreateProgressByUserId(
    new Gs2.Gs2Enhance.Request.CreateProgressByUserIdRequest()
        .WithNamespaceName("namespace1")
        .WithUserId("user-0001")
        .WithRateName("character-level")
        .WithTargetItemSetId("item-set-0001")
        .WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
            {'materialItemSetId': 'material-0001', 'count': 1}
        })
        .WithForce(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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.createProgressByUserId(
        new Gs2Enhance.CreateProgressByUserIdRequest()
            .withNamespaceName("namespace1")
            .withUserId("user-0001")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials([
                {'materialItemSetId': 'material-0001', 'count': 1}
            ])
            .withForce(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.create_progress_by_user_id(
        enhance.CreateProgressByUserIdRequest()
            .with_namespace_name(self.hash1)
            .with_user_id('user-0001')
            .with_rate_name('character-level')
            .with_target_item_set_id('item-set-0001')
            .with_materials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            .with_force(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.create_progress_by_user_id({
    namespaceName='namespace1',
    userId='user-0001',
    rateName='character-level',
    targetItemSetId='item-set-0001',
    materials={
        {'materialItemSetId': 'material-0001', 'count': 1}
    },
    force=nil,
})

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

result = api_result.result
item = result.item;

Create running enhancements by specifying user IDs



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
userId string ~ 128 chars User Id
rateName string ~ 128 chars Rate Model Name
targetItemSetId string ~ 1024 chars Quantity of items held per expiration date GRN
materials Material[] List of materials
force bool false If there is an enhancement that has already been started, it can be discarded and started, or

Result

Type Description
item Progress Running enhancement

getProgress

getProgress

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.GetProgress(
    &enhance.GetProgressRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetProgressRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getProgress(
        (new GetProgressRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetProgressRequest;
import io.gs2.enhance.result.GetProgressResult;

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

try {
    GetProgressResult result = client.getProgress(
        new GetProgressRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetProgressRequest;
using Gs2.Gs2Enhance.Result.GetProgressResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.GetProgressResult> asyncResult = null;
yield return client.GetProgress(
    new Gs2.Gs2Enhance.Request.GetProgressRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.getProgress(
        new Gs2Enhance.GetProgressRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.get_progress(
        enhance.GetProgressRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.get_progress({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
})

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

result = api_result.result
item = result.item;

Retrieve running enhancements



Request

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

Result

Type Description
item Progress Running enhancement

getProgressByUserId

getProgressByUserId

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

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getProgressByUserId(
        (new GetProgressByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withUserId("user-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetProgressByUserIdRequest;
import io.gs2.enhance.result.GetProgressByUserIdResult;

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

try {
    GetProgressByUserIdResult result = client.getProgressByUserId(
        new GetProgressByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetProgressByUserIdRequest;
using Gs2.Gs2Enhance.Result.GetProgressByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.GetProgressByUserIdResult> asyncResult = null;
yield return client.GetProgressByUserId(
    new Gs2.Gs2Enhance.Request.GetProgressByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.getProgressByUserId(
        new Gs2Enhance.GetProgressByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.get_progress_by_user_id(
        enhance.GetProgressByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_user_id('user-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.get_progress_by_user_id({
    namespaceName='namespace2',
    userId='user-0001',
})

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

result = api_result.result
item = result.item;

Get running enhancements by specifying user ID



Request

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

Result

Type Description
item Progress Running enhancement

start

start

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.Start(
    &enhance.StartRequest {
        NamespaceName: pointy.String("namespace1"),
        RateName: pointy.String("character-level"),
        TargetItemSetId: pointy.String("item-set-0001"),
        Materials: []enhance.Material{
            {'materialItemSetId': 'material-0001', 'count': 1},
        },
        AccessToken: pointy.String("$access_token_0001"),
        Force: nil,
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\StartRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->start(
        (new StartRequest())
            ->withNamespaceName(self::namespace1)
            ->withRateName("character-level")
            ->withTargetItemSetId("item-set-0001")
            ->withMaterials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            ->withAccessToken(self::$accessToken0001)
            ->withForce(null)
            ->withConfig(null)
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.StartRequest;
import io.gs2.enhance.result.StartResult;

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

try {
    StartResult result = client.start(
        new StartRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials(Arrays.asList(
                {'materialItemSetId': 'material-0001', 'count': 1}
            ))
            .withAccessToken("$access_token_0001")
            .withForce(null)
            .withConfig(null)
    );
    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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.StartRequest;
using Gs2.Gs2Enhance.Result.StartResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.StartResult> asyncResult = null;
yield return client.Start(
    new Gs2.Gs2Enhance.Request.StartRequest()
        .WithNamespaceName("namespace1")
        .WithRateName("character-level")
        .WithTargetItemSetId("item-set-0001")
        .WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
            {'materialItemSetId': 'material-0001', 'count': 1}
        })
        .WithAccessToken("$access_token_0001")
        .WithForce(null)
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.start(
        new Gs2Enhance.StartRequest()
            .withNamespaceName("namespace1")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials([
                {'materialItemSetId': 'material-0001', 'count': 1}
            ])
            .withAccessToken("$access_token_0001")
            .withForce(null)
            .withConfig(null)
    );
    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 enhance

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

try:
    result = client.start(
        enhance.StartRequest()
            .with_namespace_name(self.hash1)
            .with_rate_name('character-level')
            .with_target_item_set_id('item-set-0001')
            .with_materials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            .with_access_token(self.access_token_0001)
            .with_force(None)
            .with_config(None)
    )
    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('enhance')

api_result = client.start({
    namespaceName='namespace1',
    rateName='character-level',
    targetItemSetId='item-set-0001',
    materials={
        {'materialItemSetId': 'material-0001', 'count': 1}
    },
    accessToken='$access_token_0001',
    force=nil,
    config=nil,
})

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

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

Start enhancement



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Rate Model Name
targetItemSetId string ~ 1024 chars Quantity of items held per expiration date GRN
materials Material[] List of materials
accessToken string ~ 128 chars User Id
force bool false If there is an enhancement that has already been started, it can be discarded and started, or
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to execute the reinforcement initiation process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?

startByUserId

startByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.StartByUserId(
    &enhance.StartByUserIdRequest {
        NamespaceName: pointy.String("namespace2"),
        RateName: pointy.String("character-level"),
        TargetItemSetId: pointy.String("item-set-0001"),
        Materials: []enhance.Material{
            {'materialItemSetId': 'material-0001', 'count': 1},
        },
        UserId: pointy.String("user-0001"),
        Force: nil,
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\StartByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->startByUserId(
        (new StartByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withRateName("character-level")
            ->withTargetItemSetId("item-set-0001")
            ->withMaterials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            ->withUserId("user-0001")
            ->withForce(null)
            ->withConfig(null)
    );
    $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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.StartByUserIdRequest;
import io.gs2.enhance.result.StartByUserIdResult;

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

try {
    StartByUserIdResult result = client.startByUserId(
        new StartByUserIdRequest()
            .withNamespaceName("namespace2")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials(Arrays.asList(
                {'materialItemSetId': 'material-0001', 'count': 1}
            ))
            .withUserId("user-0001")
            .withForce(null)
            .withConfig(null)
    );
    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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.StartByUserIdRequest;
using Gs2.Gs2Enhance.Result.StartByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.StartByUserIdResult> asyncResult = null;
yield return client.StartByUserId(
    new Gs2.Gs2Enhance.Request.StartByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithRateName("character-level")
        .WithTargetItemSetId("item-set-0001")
        .WithMaterials(new Gs2.Gs2Enhance.Model.Material[] {
            {'materialItemSetId': 'material-0001', 'count': 1}
        })
        .WithUserId("user-0001")
        .WithForce(null)
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.startByUserId(
        new Gs2Enhance.StartByUserIdRequest()
            .withNamespaceName("namespace2")
            .withRateName("character-level")
            .withTargetItemSetId("item-set-0001")
            .withMaterials([
                {'materialItemSetId': 'material-0001', 'count': 1}
            ])
            .withUserId("user-0001")
            .withForce(null)
            .withConfig(null)
    );
    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 enhance

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

try:
    result = client.start_by_user_id(
        enhance.StartByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_rate_name('character-level')
            .with_target_item_set_id('item-set-0001')
            .with_materials([    {'materialItemSetId': 'material-0001', 'count': 1},
            ])
            .with_user_id('user-0001')
            .with_force(None)
            .with_config(None)
    )
    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('enhance')

api_result = client.start_by_user_id({
    namespaceName='namespace2',
    rateName='character-level',
    targetItemSetId='item-set-0001',
    materials={
        {'materialItemSetId': 'material-0001', 'count': 1}
    },
    userId='user-0001',
    force=nil,
    config=nil,
})

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

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

Specify user ID to start enhancement



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
rateName string ~ 128 chars Rate Model Name
targetItemSetId string ~ 1024 chars Quantity of items held per expiration date GRN
materials Material[] List of materials
userId string ~ 128 chars User Id
force bool false If there is an enhancement that has already been started, it can be discarded and started, or
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to execute the reinforcement initiation process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?

end

end

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.End(
    &enhance.EndRequest {
        NamespaceName: pointy.String("namespace2"),
        AccessToken: pointy.String("$access_token_0001"),
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\EndRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->end(
        (new EndRequest())
            ->withNamespaceName(self::namespace2)
            ->withAccessToken(self::$accessToken0001)
            ->withConfig(null)
    );
    $item = $result->getItem();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
    $acquireExperience = $result->getAcquireExperience();
    $bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.EndRequest;
import io.gs2.enhance.result.EndResult;

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

try {
    EndResult result = client.end(
        new EndRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("$access_token_0001")
            .withConfig(null)
    );
    Progress item = result.getItem();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
    long acquireExperience = result.getAcquireExperience();
    float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.EndRequest;
using Gs2.Gs2Enhance.Result.EndResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.EndResult> asyncResult = null;
yield return client.End(
    new Gs2.Gs2Enhance.Request.EndRequest()
        .WithNamespaceName("namespace2")
        .WithAccessToken("$access_token_0001")
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.end(
        new Gs2Enhance.EndRequest()
            .withNamespaceName("namespace2")
            .withAccessToken("$access_token_0001")
            .withConfig(null)
    );
    const item = result.getItem();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
    const acquireExperience = result.getAcquireExperience();
    const bonusRate = result.getBonusRate();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.end(
        enhance.EndRequest()
            .with_namespace_name(self.hash2)
            .with_access_token(self.access_token_0001)
            .with_config(None)
    )
    item = result.item
    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
    acquire_experience = result.acquire_experience
    bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.end({
    namespaceName='namespace2',
    accessToken='$access_token_0001',
    config=nil,
})

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

result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;

Completed enhancement



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
accessToken string ~ 128 chars User Id
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
item Progress Running enhancement
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to execute the reward granting process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?
acquireExperience long Amount of experience gained
bonusRate float Experience bonus multiplier (1.0 = no bonus)

endByUserId

endByUserId

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.EndByUserId(
    &enhance.EndByUserIdRequest {
        NamespaceName: pointy.String("namespace2"),
        UserId: pointy.String("user-0001"),
        Config: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
transactionId := result.TransactionId
stampSheet := result.StampSheet
stampSheetEncryptionKeyId := result.StampSheetEncryptionKeyId
autoRunStampSheet := result.AutoRunStampSheet
acquireExperience := result.AcquireExperience
bonusRate := result.BonusRate
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\EndByUserIdRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->endByUserId(
        (new EndByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withUserId("user-0001")
            ->withConfig(null)
    );
    $item = $result->getItem();
    $transactionId = $result->getTransactionId();
    $stampSheet = $result->getStampSheet();
    $stampSheetEncryptionKeyId = $result->getStampSheetEncryptionKeyId();
    $autoRunStampSheet = $result->getAutoRunStampSheet();
    $acquireExperience = $result->getAcquireExperience();
    $bonusRate = $result->getBonusRate();
} 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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.EndByUserIdRequest;
import io.gs2.enhance.result.EndByUserIdResult;

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

try {
    EndByUserIdResult result = client.endByUserId(
        new EndByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withConfig(null)
    );
    Progress item = result.getItem();
    String transactionId = result.getTransactionId();
    String stampSheet = result.getStampSheet();
    String stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    boolean autoRunStampSheet = result.getAutoRunStampSheet();
    long acquireExperience = result.getAcquireExperience();
    float bonusRate = result.getBonusRate();
} 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.EndByUserIdRequest;
using Gs2.Gs2Enhance.Result.EndByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.EndByUserIdResult> asyncResult = null;
yield return client.EndByUserId(
    new Gs2.Gs2Enhance.Request.EndByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithUserId("user-0001")
        .WithConfig(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var transactionId = result.TransactionId;
var stampSheet = result.StampSheet;
var stampSheetEncryptionKeyId = result.StampSheetEncryptionKeyId;
var autoRunStampSheet = result.AutoRunStampSheet;
var acquireExperience = result.AcquireExperience;
var bonusRate = result.BonusRate;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.endByUserId(
        new Gs2Enhance.EndByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
            .withConfig(null)
    );
    const item = result.getItem();
    const transactionId = result.getTransactionId();
    const stampSheet = result.getStampSheet();
    const stampSheetEncryptionKeyId = result.getStampSheetEncryptionKeyId();
    const autoRunStampSheet = result.getAutoRunStampSheet();
    const acquireExperience = result.getAcquireExperience();
    const bonusRate = result.getBonusRate();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.end_by_user_id(
        enhance.EndByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_user_id('user-0001')
            .with_config(None)
    )
    item = result.item
    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
    acquire_experience = result.acquire_experience
    bonus_rate = result.bonus_rate
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.end_by_user_id({
    namespaceName='namespace2',
    userId='user-0001',
    config=nil,
})

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

result = api_result.result
item = result.item;
transactionId = result.transactionId;
stampSheet = result.stampSheet;
stampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
autoRunStampSheet = result.autoRunStampSheet;
acquireExperience = result.acquireExperience;
bonusRate = result.bonusRate;

Complete enhancement by specifying user ID



Request

Type Require Default Limitation Description
namespaceName string ~ 32 chars Namespace name
userId string ~ 128 chars User Id
config Config[] [] Set values to be applied to stamp sheet variables

Result

Type Description
item Progress Running enhancement
transactionId string Transaction ID of the stamp sheet issued
stampSheet string Stamp sheet used to execute the reward granting process
stampSheetEncryptionKeyId string Cryptographic key GRN used for stamp sheet signature calculations
autoRunStampSheet bool Is stamp sheet auto-execution enabled?
acquireExperience long Amount of experience gained
bonusRate float Experience bonus multiplier (1.0 = no bonus)

deleteProgress

deleteProgress

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DeleteProgress(
    &enhance.DeleteProgressRequest {
        NamespaceName: pointy.String("namespace1"),
        AccessToken: pointy.String("$access_token_0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DeleteProgressRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteProgress(
        (new DeleteProgressRequest())
            ->withNamespaceName(self::namespace1)
            ->withAccessToken(self::$accessToken0001)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteProgressRequest;
import io.gs2.enhance.result.DeleteProgressResult;

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

try {
    DeleteProgressResult result = client.deleteProgress(
        new DeleteProgressRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteProgressRequest;
using Gs2.Gs2Enhance.Result.DeleteProgressResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DeleteProgressResult> asyncResult = null;
yield return client.DeleteProgress(
    new Gs2.Gs2Enhance.Request.DeleteProgressRequest()
        .WithNamespaceName("namespace1")
        .WithAccessToken("$access_token_0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.deleteProgress(
        new Gs2Enhance.DeleteProgressRequest()
            .withNamespaceName("namespace1")
            .withAccessToken("$access_token_0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.delete_progress(
        enhance.DeleteProgressRequest()
            .with_namespace_name(self.hash1)
            .with_access_token(self.access_token_0001)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.delete_progress({
    namespaceName='namespace1',
    accessToken='$access_token_0001',
})

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

result = api_result.result
item = result.item;

Delete running enhancement



Request

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

Result

Type Description
item Progress Running enhancement

deleteProgressByUserId

deleteProgressByUserId

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

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteProgressByUserId(
        (new DeleteProgressByUserIdRequest())
            ->withNamespaceName(self::namespace2)
            ->withUserId("user-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteProgressByUserIdRequest;
import io.gs2.enhance.result.DeleteProgressByUserIdResult;

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

try {
    DeleteProgressByUserIdResult result = client.deleteProgressByUserId(
        new DeleteProgressByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteProgressByUserIdRequest;
using Gs2.Gs2Enhance.Result.DeleteProgressByUserIdResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DeleteProgressByUserIdResult> asyncResult = null;
yield return client.DeleteProgressByUserId(
    new Gs2.Gs2Enhance.Request.DeleteProgressByUserIdRequest()
        .WithNamespaceName("namespace2")
        .WithUserId("user-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.deleteProgressByUserId(
        new Gs2Enhance.DeleteProgressByUserIdRequest()
            .withNamespaceName("namespace2")
            .withUserId("user-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.delete_progress_by_user_id(
        enhance.DeleteProgressByUserIdRequest()
            .with_namespace_name(self.hash2)
            .with_user_id('user-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.delete_progress_by_user_id({
    namespaceName='namespace2',
    userId='user-0001',
})

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

result = api_result.result
item = result.item;

Delete running enhancement by specifying user ID



Request

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

Result

Type Description
item Progress Running enhancement

createProgressByStampSheet

createProgressByStampSheet

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.CreateProgressByStampSheet(
    &enhance.CreateProgressByStampSheetRequest {
        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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\CreateProgressByStampSheetRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->createProgressByStampSheet(
        (new CreateProgressByStampSheetRequest())
            ->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.CreateProgressByStampSheetRequest;
import io.gs2.enhance.result.CreateProgressByStampSheetResult;

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

try {
    CreateProgressByStampSheetResult result = client.createProgressByStampSheet(
        new CreateProgressByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.CreateProgressByStampSheetRequest;
using Gs2.Gs2Enhance.Result.CreateProgressByStampSheetResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.CreateProgressByStampSheetResult> asyncResult = null;
yield return client.CreateProgressByStampSheet(
    new Gs2.Gs2Enhance.Request.CreateProgressByStampSheetRequest()
        .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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.createProgressByStampSheet(
        new Gs2Enhance.CreateProgressByStampSheetRequest()
            .withStampSheet("$stampSheet")
            .withKeyId("$key1.keyId")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.create_progress_by_stamp_sheet(
        enhance.CreateProgressByStampSheetRequest()
            .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('enhance')

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

Start enhancement with stamp sheets.



Request

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

Result

Type Description
item Progress Running enhancement

deleteProgressByStampTask

deleteProgressByStampTask

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.DeleteProgressByStampTask(
    &enhance.DeleteProgressByStampTaskRequest {
        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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\DeleteProgressByStampTaskRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->deleteProgressByStampTask(
        (new DeleteProgressByStampTaskRequest())
            ->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.DeleteProgressByStampTaskRequest;
import io.gs2.enhance.result.DeleteProgressByStampTaskResult;

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

try {
    DeleteProgressByStampTaskResult result = client.deleteProgressByStampTask(
        new DeleteProgressByStampTaskRequest()
            .withStampTask("$stampTask")
            .withKeyId("$key1.keyId")
    );
    Progress 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.DeleteProgressByStampTaskRequest;
using Gs2.Gs2Enhance.Result.DeleteProgressByStampTaskResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.DeleteProgressByStampTaskResult> asyncResult = null;
yield return client.DeleteProgressByStampTask(
    new Gs2.Gs2Enhance.Request.DeleteProgressByStampTaskRequest()
        .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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.deleteProgressByStampTask(
        new Gs2Enhance.DeleteProgressByStampTaskRequest()
            .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 enhance

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

try:
    result = client.delete_progress_by_stamp_task(
        enhance.DeleteProgressByStampTaskRequest()
            .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('enhance')

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

Remove Running Enhancement in Stamp Tasks



Request

Type Require Default Limitation Description
stampTask string ~ 5242880 chars Stamp task
keyId string ~ 1024 chars encryption key GRN

Result

Type Description
item Progress Running enhancement
newContextStack string Request of context in which stamp task execution results are recorded

exportMaster

exportMaster

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

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

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

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

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

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

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

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

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

client = gs2('enhance')

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

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

result = api_result.result
item = result.item;

Export master data for currently available enhanced rate settings



Request

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

Result

Type Description
item CurrentRateMaster Currently Available Enhanced rate setting

getCurrentRateMaster

getCurrentRateMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.GetCurrentRateMaster(
    &enhance.GetCurrentRateMasterRequest {
        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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\GetCurrentRateMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->getCurrentRateMaster(
        (new GetCurrentRateMasterRequest())
            ->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.GetCurrentRateMasterRequest;
import io.gs2.enhance.result.GetCurrentRateMasterResult;

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

try {
    GetCurrentRateMasterResult result = client.getCurrentRateMaster(
        new GetCurrentRateMasterRequest()
            .withNamespaceName("namespace1")
    );
    CurrentRateMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.GetCurrentRateMasterRequest;
using Gs2.Gs2Enhance.Result.GetCurrentRateMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.GetCurrentRateMasterResult> asyncResult = null;
yield return client.GetCurrentRateMaster(
    new Gs2.Gs2Enhance.Request.GetCurrentRateMasterRequest()
        .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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.getCurrentRateMaster(
        new Gs2Enhance.GetCurrentRateMasterRequest()
            .withNamespaceName("namespace1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.get_current_rate_master(
        enhance.GetCurrentRateMasterRequest()
            .with_namespace_name(self.hash1)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

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

Retrieves the currently available enhanced rate setting



Request

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

Result

Type Description
item CurrentRateMaster Currently Available Enhanced rate setting

updateCurrentRateMaster

updateCurrentRateMaster

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentRateMaster(
    &enhance.UpdateCurrentRateMasterRequest {
        NamespaceName: pointy.String("namespace1"),
        Settings: pointy.String("{\n  \"version\": \"2020-08-22\",\n  \"rateModels\": [\n    {\n      \"name\": \"character-level\",\n      \"metadata\": \"CHARACTER_LEVEL\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":level\",\n      \"acquireExperienceHierarchy\": [\n        \"experience\"\n      ],\n      \"experienceModelId\": \"grn:experience:character:level\",\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 90\n        },\n        {\n          \"rate\": 1.5,\n          \"weight\": 9\n        },\n        {\n          \"rate\": 2.0,\n          \"weight\": 1\n        }\n      ]\n    },\n    {\n      \"name\": \"character-friendly\",\n      \"metadata\": \"CHARACTER_FRIENDLY\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":friendly\",\n      \"experienceModelId\": \"grn:experience:character:friendly\",\n      \"acquireExperienceHierarchy\": [\n        \"taste\"\n      ],\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 1\n        }\n      ]\n    }\n  ]\n}"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\UpdateCurrentRateMasterRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentRateMaster(
        (new UpdateCurrentRateMasterRequest())
            ->withNamespaceName(self::namespace1)
            ->withSettings("{\n  \"version\": \"2020-08-22\",\n  \"rateModels\": [\n    {\n      \"name\": \"character-level\",\n      \"metadata\": \"CHARACTER_LEVEL\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":level\",\n      \"acquireExperienceHierarchy\": [\n        \"experience\"\n      ],\n      \"experienceModelId\": \"grn:experience:character:level\",\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 90\n        },\n        {\n          \"rate\": 1.5,\n          \"weight\": 9\n        },\n        {\n          \"rate\": 2.0,\n          \"weight\": 1\n        }\n      ]\n    },\n    {\n      \"name\": \"character-friendly\",\n      \"metadata\": \"CHARACTER_FRIENDLY\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":friendly\",\n      \"experienceModelId\": \"grn:experience:character:friendly\",\n      \"acquireExperienceHierarchy\": [\n        \"taste\"\n      ],\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 1\n        }\n      ]\n    }\n  ]\n}")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateCurrentRateMasterRequest;
import io.gs2.enhance.result.UpdateCurrentRateMasterResult;

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

try {
    UpdateCurrentRateMasterResult result = client.updateCurrentRateMaster(
        new UpdateCurrentRateMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2020-08-22\",\n  \"rateModels\": [\n    {\n      \"name\": \"character-level\",\n      \"metadata\": \"CHARACTER_LEVEL\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":level\",\n      \"acquireExperienceHierarchy\": [\n        \"experience\"\n      ],\n      \"experienceModelId\": \"grn:experience:character:level\",\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 90\n        },\n        {\n          \"rate\": 1.5,\n          \"weight\": 9\n        },\n        {\n          \"rate\": 2.0,\n          \"weight\": 1\n        }\n      ]\n    },\n    {\n      \"name\": \"character-friendly\",\n      \"metadata\": \"CHARACTER_FRIENDLY\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":friendly\",\n      \"experienceModelId\": \"grn:experience:character:friendly\",\n      \"acquireExperienceHierarchy\": [\n        \"taste\"\n      ],\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 1\n        }\n      ]\n    }\n  ]\n}")
    );
    CurrentRateMaster 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.Gs2Enhance.Gs2EnhanceRestClient;
using Gs2.Gs2Enhance.Request.UpdateCurrentRateMasterRequest;
using Gs2.Gs2Enhance.Result.UpdateCurrentRateMasterResult;

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

AsyncResult<Gs2.Gs2Enhance.Result.UpdateCurrentRateMasterResult> asyncResult = null;
yield return client.UpdateCurrentRateMaster(
    new Gs2.Gs2Enhance.Request.UpdateCurrentRateMasterRequest()
        .WithNamespaceName("namespace1")
        .WithSettings("{\n  \"version\": \"2020-08-22\",\n  \"rateModels\": [\n    {\n      \"name\": \"character-level\",\n      \"metadata\": \"CHARACTER_LEVEL\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":level\",\n      \"acquireExperienceHierarchy\": [\n        \"experience\"\n      ],\n      \"experienceModelId\": \"grn:experience:character:level\",\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 90\n        },\n        {\n          \"rate\": 1.5,\n          \"weight\": 9\n        },\n        {\n          \"rate\": 2.0,\n          \"weight\": 1\n        }\n      ]\n    },\n    {\n      \"name\": \"character-friendly\",\n      \"metadata\": \"CHARACTER_FRIENDLY\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":friendly\",\n      \"experienceModelId\": \"grn:experience:character:friendly\",\n      \"acquireExperienceHierarchy\": [\n        \"taste\"\n      ],\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 1\n        }\n      ]\n    }\n  ]\n}"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.updateCurrentRateMaster(
        new Gs2Enhance.UpdateCurrentRateMasterRequest()
            .withNamespaceName("namespace1")
            .withSettings("{\n  \"version\": \"2020-08-22\",\n  \"rateModels\": [\n    {\n      \"name\": \"character-level\",\n      \"metadata\": \"CHARACTER_LEVEL\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":level\",\n      \"acquireExperienceHierarchy\": [\n        \"experience\"\n      ],\n      \"experienceModelId\": \"grn:experience:character:level\",\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 90\n        },\n        {\n          \"rate\": 1.5,\n          \"weight\": 9\n        },\n        {\n          \"rate\": 2.0,\n          \"weight\": 1\n        }\n      ]\n    },\n    {\n      \"name\": \"character-friendly\",\n      \"metadata\": \"CHARACTER_FRIENDLY\",\n      \"targetInventoryModelId\": \"grn:inventory:character:character-0001\",\n      \"materialInventoryModelId\": \"grn:inventory:material\",\n      \"acquireExperienceSuffix\": \":friendly\",\n      \"experienceModelId\": \"grn:experience:character:friendly\",\n      \"acquireExperienceHierarchy\": [\n        \"taste\"\n      ],\n      \"bonusRates\": [\n        {\n          \"rate\": 1.0,\n          \"weight\": 1\n        }\n      ]\n    }\n  ]\n}")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import enhance

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

try:
    result = client.update_current_rate_master(
        enhance.UpdateCurrentRateMasterRequest()
            .with_namespace_name(self.hash1)
            .with_settings('{\n  "version": "2020-08-22",\n  "rateModels": [\n    {\n      "name": "character-level",\n      "metadata": "CHARACTER_LEVEL",\n      "targetInventoryModelId": "grn:inventory:character:character-0001",\n      "materialInventoryModelId": "grn:inventory:material",\n      "acquireExperienceSuffix": ":level",\n      "acquireExperienceHierarchy": [\n        "experience"\n      ],\n      "experienceModelId": "grn:experience:character:level",\n      "bonusRates": [\n        {\n          "rate": 1.0,\n          "weight": 90\n        },\n        {\n          "rate": 1.5,\n          "weight": 9\n        },\n        {\n          "rate": 2.0,\n          "weight": 1\n        }\n      ]\n    },\n    {\n      "name": "character-friendly",\n      "metadata": "CHARACTER_FRIENDLY",\n      "targetInventoryModelId": "grn:inventory:character:character-0001",\n      "materialInventoryModelId": "grn:inventory:material",\n      "acquireExperienceSuffix": ":friendly",\n      "experienceModelId": "grn:experience:character:friendly",\n      "acquireExperienceHierarchy": [\n        "taste"\n      ],\n      "bonusRates": [\n        {\n          "rate": 1.0,\n          "weight": 1\n        }\n      ]\n    }\n  ]\n}')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)

client = gs2('enhance')

api_result = client.update_current_rate_master({
    namespaceName='namespace1',
    settings='{\n  "version": "2020-08-22",\n  "rateModels": [\n    {\n      "name": "character-level",\n      "metadata": "CHARACTER_LEVEL",\n      "targetInventoryModelId": "grn:inventory:character:character-0001",\n      "materialInventoryModelId": "grn:inventory:material",\n      "acquireExperienceSuffix": ":level",\n      "acquireExperienceHierarchy": [\n        "experience"\n      ],\n      "experienceModelId": "grn:experience:character:level",\n      "bonusRates": [\n        {\n          "rate": 1.0,\n          "weight": 90\n        },\n        {\n          "rate": 1.5,\n          "weight": 9\n        },\n        {\n          "rate": 2.0,\n          "weight": 1\n        }\n      ]\n    },\n    {\n      "name": "character-friendly",\n      "metadata": "CHARACTER_FRIENDLY",\n      "targetInventoryModelId": "grn:inventory:character:character-0001",\n      "materialInventoryModelId": "grn:inventory:material",\n      "acquireExperienceSuffix": ":friendly",\n      "experienceModelId": "grn:experience:character:friendly",\n      "acquireExperienceHierarchy": [\n        "taste"\n      ],\n      "bonusRates": [\n        {\n          "rate": 1.0,\n          "weight": 1\n        }\n      ]\n    }\n  ]\n}',
})

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

result = api_result.result
item = result.item;

Update the currently available enhanced rate settings



Request

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

Result

Type Description
item CurrentRateMaster Updated and currently available enhanced rate settings

updateCurrentRateMasterFromGitHub

updateCurrentRateMasterFromGitHub

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/enhance"
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 := enhance.Gs2EnhanceRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentRateMasterFromGitHub(
    &enhance.UpdateCurrentRateMasterFromGitHubRequest {
        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\Enhance\Gs2EnhanceRestClient;
use Gs2\Enhance\Request\UpdateCurrentRateMasterFromGitHubRequest;

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

$session->open();

$client = new Gs2AccountRestClient(
    $session
);

try {
    $result = $client->updateCurrentRateMasterFromGitHub(
        (new UpdateCurrentRateMasterFromGitHubRequest())
            ->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.enhance.rest.Gs2EnhanceRestClient;
import io.gs2.enhance.request.UpdateCurrentRateMasterFromGitHubRequest;
import io.gs2.enhance.result.UpdateCurrentRateMasterFromGitHubResult;

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

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

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

AsyncResult<Gs2.Gs2Enhance.Result.UpdateCurrentRateMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentRateMasterFromGitHub(
    new Gs2.Gs2Enhance.Request.UpdateCurrentRateMasterFromGitHubRequest()
        .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 Gs2Enhance from '@/gs2/enhance';

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

try {
    const result = await client.updateCurrentRateMasterFromGitHub(
        new Gs2Enhance.UpdateCurrentRateMasterFromGitHubRequest()
            .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 enhance

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

try:
    result = client.update_current_rate_master_from_git_hub(
        enhance.UpdateCurrentRateMasterFromGitHubRequest()
            .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('enhance')

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

Updates the currently available enhanced rate settings



Request

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

Result

Type Description
item CurrentRateMaster Updated and currently available enhanced rate settings