GS2-SerialKey トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様

VerifyAction

検証アクション

Gs2SerialKey:VerifyCodeByUserId

ユーザーIDを指定してシリアルコードの有効性を確認

指定されたユーザーのシリアルコードを消費せずに検証します。特定のキャンペーンモデル名に対する検証をサポートし、コードがactive(未使用)かinactive(使用済み)かを確認できます。

数量指定可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
codestring
~ 48文字シリアルコード
「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。
campaignModelNamestring~ 128文字キャンペーン名
このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。
verifyType文字列列挙型
enum {
  “active”,
  “inactive”
}
検証タイプ
定義説明
“active”有効
“inactive”無効
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2SerialKey:VerifyCodeByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "code": "[string]シリアルコード",
        "campaignModelName": "[string]キャンペーン名",
        "verifyType": "[string]検証タイプ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2SerialKey:VerifyCodeByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  code: "[string]シリアルコード"
  campaignModelName: "[string]キャンペーン名"
  verifyType: "[string]検証タイプ"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("serialKey").verify.verify_code_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    code="[string]シリアルコード",
    campaignModelName="[string]キャンペーン名",
    verifyType="[string]検証タイプ",
    timeOffsetToken="[string]タイムオフセットトークン",
})

ConsumeAction

消費アクション

Gs2SerialKey:UseByUserId

ユーザーIDを指定してシリアルコードの使用済み化

指定されたユーザーによりシリアルコードを使用済みとしてマークします。コードが存在し、まだ使用されていないことを検証します。

数量指定可能なアクション:いいえ

反転可能なアクション:はい

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
codestring
~ 48文字シリアルコード
「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2SerialKey:UseByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "code": "[string]シリアルコード",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2SerialKey:UseByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  code: "[string]シリアルコード"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("serialKey").consume.use_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    code="[string]シリアルコード",
    timeOffsetToken="[string]タイムオフセットトークン",
})

AcquireAction

入手アクション

Gs2SerialKey:RevertUseByUserId

ユーザーIDを指定してシリアルコードを未使用化

使用済みのシリアルコードを未使用状態に戻します。リバート前にコードが現在使用済み状態であることを検証します。

数量指定可能なアクション:いいえ

反転可能なアクション:はい

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
codestring
~ 48文字シリアルコード
「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2SerialKey:RevertUseByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "code": "[string]シリアルコード",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2SerialKey:RevertUseByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  code: "[string]シリアルコード"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("serialKey").acquire.revert_use_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    code="[string]シリアルコード",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2SerialKey:IssueOnce

シリアルコードを1件発行

シリアルコードを1件即座に発行します。コードはAES暗号化とbase32エンコーディングを使用してXXXXX-XXXX-XXXXX-XXXX-XXXXXの形式で生成されます。バッチ発行ジョブとは異なり、同期的にコードを生成して返却します。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
campaignModelNamestring
~ 128文字キャンペーンモデル名
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
{
    "action": "Gs2SerialKey:IssueOnce",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "campaignModelName": "[string]キャンペーンモデル名",
        "metadata": "[string]メタデータ"
    }
}
action: Gs2SerialKey:IssueOnce
request:
  namespaceName: "[string]ネームスペース名"
  campaignModelName: "[string]キャンペーンモデル名"
  metadata: "[string]メタデータ"
transaction.service("serialKey").acquire.issue_once({
    namespaceName="[string]ネームスペース名",
    campaignModelName="[string]キャンペーンモデル名",
    metadata="[string]メタデータ",
})