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

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

ConsumeAction

消費アクション

Gs2Inbox:OpenMessageByUserId

ユーザーIDを指定してメッセージを開封済み化

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
messageNamestring
UUID~ 36文字メッセージ名
メッセージの一意な名前を保持します。
名前は UUID(Universally Unique Identifier)フォーマットで自動的に生成され、各メッセージを識別するために使用されます。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Inbox:OpenMessageByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "messageName": "[string]メッセージ名",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Inbox:OpenMessageByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  messageName: "[string]メッセージ名"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("inbox").consume.open_message_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    messageName="[string]メッセージ名",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Inbox:DeleteMessageByUserId

ユーザーIDを指定してメッセージを削除

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
messageNamestring
UUID~ 36文字メッセージ名
メッセージの一意な名前を保持します。
名前は UUID(Universally Unique Identifier)フォーマットで自動的に生成され、各メッセージを識別するために使用されます。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Inbox:DeleteMessageByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "messageName": "[string]メッセージ名",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Inbox:DeleteMessageByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  messageName: "[string]メッセージ名"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("inbox").consume.delete_message_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    messageName="[string]メッセージ名",
    timeOffsetToken="[string]タイムオフセットトークン",
})

AcquireAction

入手アクション

Gs2Inbox:SendMessageByUserId

ユーザーIDを指定してメッセージの送信

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
metadatastring
~ 4096文字メッセージの内容に相当するメタデータ
readAcquireActionsList<AcquireAction>[]0 ~ 100 itemsメッセージ開封時に実行する入手アクション
expiresAtlong有効期限日時
UNIX 時間・ミリ秒
expiresTimeSpanTimeSpanメッセージを受信した時刻(基準時刻)からメッセージが削除されるまでの期間
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Inbox:SendMessageByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "metadata": "[string]メッセージの内容に相当するメタデータ",
        "readAcquireActions": [
            {
                "action": "[string]入手アクションで実行するアクションの種類",
                "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
        ],
        "expiresAt": "[long]有効期限日時",
        "expiresTimeSpan": {
            "days": "[int]基準となる時刻からの日数",
            "hours": "[int]基準となる時刻からの時間",
            "minutes": "[int]基準となる時刻からの分"
        },
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Inbox:SendMessageByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  metadata: "[string]メッセージの内容に相当するメタデータ"
  readAcquireActions: 
    - action: "[string]入手アクションで実行するアクションの種類"
      request: "[string]アクション実行時に使用されるリクエストのJSON文字列"
  expiresAt: "[long]有効期限日時"
  expiresTimeSpan: 
    days: "[int]基準となる時刻からの日数"
    hours: "[int]基準となる時刻からの時間"
    minutes: "[int]基準となる時刻からの分"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("inbox").acquire.send_message_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    metadata="[string]メッセージの内容に相当するメタデータ",
    readAcquireActions={
        {
            action="[string]入手アクションで実行するアクションの種類",
            request="[string]アクション実行時に使用されるリクエストのJSON文字列"
        }
    },
    expiresAt="[long]有効期限日時",
    expiresTimeSpan={
        days="[int]基準となる時刻からの日数",
        hours="[int]基準となる時刻からの時間",
        minutes="[int]基準となる時刻からの分"
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})