GS2-Inbox

Create Client

inbox_client = client('inbox')

Method

create_inbox

response = inbox_client:create_inbox(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスを新規作成します

Request

{
  serviceClass=string,
  name=string,
  cooperationUrl=string,
  autoDelete=boolean,
}
  • serviceClass
  • [string] サービスクラス
  • name
  • [string] 受信ボックス名
  • cooperationUrl
  • [string] 開封時通知設定が有効な場合に通知するURL
  • autoDelete
  • [boolean] 開封時自動削除機能を使用するか

Response

  • item
  • [Inbox] 受信ボックス

delete_inbox

response = inbox_client:delete_inbox(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスを削除します

Request

{
  inboxName=string,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。

Response

None

delete_message

response = inbox_client:delete_message(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

メッセージを削除します

  • 消費クオータ: 10

Request

{
  inboxName=string,
  messageId=string,
  accessToken=string
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • messageId
  • [string] 削除するメッセージIDを指定します。
  • accessToken
  • [string] GS2-Auth で発行を受けたアクセストークン

Response

None

delete_messages

response = inbox_client:delete_messages(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

複数のメッセージをまとめて削除します

  • 消費クオータ: 削除するメッセージの数 * 10

Request

{
  inboxName=string,
  messageIds=string,
  accessToken=string
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • messageIds
  • [string] 削除するメッセージのメッセージIDのリストを指定します。
  • accessToken
  • [string] GS2-Auth で発行を受けたアクセストークン

Response

None

describe_inbox

response = inbox_client:describe_inbox(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスの一覧を取得します

Request

{
  pageToken=string,
  limit=number,
}
  • pageToken
  • [string] データの取得を開始する位置を指定するトークン
  • limit
  • [number] データの取得件数

Response

  • nextPageToken
  • [string] 次のページを読み込むためのトークン
  • items
  • [table<Inbox>] 受信ボックス

describe_message

response = inbox_client:describe_message(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信メッセージの一覧を取得します

  • 消費クオータ: 50件あたり5

Request

{
  inboxName=string,
  pageToken=string,
  limit=number,
  accessToken=string
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • pageToken
  • [string] データの取得を開始する位置を指定するトークン
  • limit
  • [number] データの取得件数
  • accessToken
  • [string] GS2-Auth で発行を受けたアクセストークン

Response

  • nextPageToken
  • [string] 次のページを読み込むためのトークン
  • items
  • [table<Message>] メッセージ

describe_service_class

response = inbox_client:describe_service_class(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

サービスクラスの一覧を取得します

Request

{
}

Response

  • items
  • [table<string>] サービスクラス一覧

get_inbox

response = inbox_client:get_inbox(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスを取得します

Request

{
  inboxName=string,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。

Response

  • item
  • [Inbox] 受信ボックス

get_inbox_status

response = inbox_client:get_inbox_status(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスの状態を取得します

Request

{
  inboxName=string,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。

Response

  • status
  • [string] ステータス

get_message

response = inbox_client:get_message(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

メッセージを取得します

  • 消費クオータ: 5

Request

{
  inboxName=string,
  messageId=string,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • messageId
  • [string] 開封するメッセージIDを指定します。

Response

  • item
  • [Message] メッセージ

read_message

response = inbox_client:read_message(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

メッセージを開封します

  • 消費クオータ: 10

Request

{
  inboxName=string,
  messageId=string,
  accessToken=string
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • messageId
  • [string] 開封するメッセージIDを指定します。
  • accessToken
  • [string] GS2-Auth で発行を受けたアクセストークン

Response

  • item
  • [Message] メッセージ
  • cooperationResponse
  • [string] 開封通知のレスポンス内容

read_messages

response = inbox_client:read_messages(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

複数のメッセージをまとめて開封します

連携用URLと複数メッセージの開封処理を同時に利用する場合は、200レスポンスを応答すると、GS2側では指定されたすべてのメッセージを開封したことにします。

200 以外のステータスコードを応答する場合はレスポンスボディにJSON形式で、 "success" というパラメータに開封に成功したメッセージIDのリストを返す必要があります。 success に指定されたメッセージIDのみ開封成功処理を行い、BadGateway(502)応答を返します。

BadGateway(502) のレスポンスボディには、コールバックで返された値がそのまま含まれます。 例えば、メッセージにアイテムを添付されていたが、一部アイテムが所有できる上限を超えていたため開封できなかった。という場合 success にはアイテムを付与できたメッセージIDのみを応答し、reason など任意のパラメータでアイテムの所持上限を迎えたため メッセージID hoge のメッセージは開封に失敗した。というようなレスポンスを返すことでクライアントにも開封に失敗した理由を伝えることができます。

  • 消費クオータ: 開封するメッセージの数 * 10

Request

{
  inboxName=string,
  messageIds=string,
  accessToken=string
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • messageIds
  • [string] カンマ区切りの開封するメッセージのメッセージIDリスト
  • accessToken
  • [string] GS2-Auth で発行を受けたアクセストークン

Response

  • items
  • [table<Message>] メッセージ
  • cooperationResponse
  • [string] 開封通知のレスポンス内容

send_message

response = inbox_client:send_message(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

メッセージを送信します

  • 消費クオータ: 10

Request

{
  inboxName=string,
  message=string,
  userId=string,
  cooperation=boolean,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • message
  • [string] 送信するメッセージ本文
  • userId
  • [string] メッセージを送信する相手のユーザID
  • cooperation
  • [boolean] true を設定すると、メッセージ開封時に受信ボックスに指定された連携用URLにメッセージIDが通知されます

Response

  • item
  • [Message] メッセージ

update_inbox

response = inbox_client:update_inbox(request)
if response.isError then
  -- エラー処理 --
  print(response.statusCode)
  print(response.errorMessage)
else
  -- 正常処理 --
  print(response.result)
end

受信ボックスを更新します

Request

{
  inboxName=string,
  serviceClass=string,
  cooperationUrl=string,
}
  • inboxName
  • [string] 受信ボックスの名前を指定します。
  • serviceClass
  • [string] サービスクラス
  • cooperationUrl
  • [string] 開封時通知設定が有効な場合に通知するURL

Response

  • item
  • [Inbox] 受信ボックス

Model

Message

  • read
  • [boolean] 既読状態
  • date
  • [number] 受信日時(エポック秒)
  • cooperation
  • [boolean] 開封時に通知を出すか
  • messageId
  • [string] メッセージID
  • inboxId
  • [string] 受信ボックスGRN
  • message
  • [string] メッセージ本文
  • userId
  • [string] 発言者ユーザID

Inbox

  • name
  • [string] 受信ボックス名
  • autoDelete
  • [boolean] 開封時自動削除
  • inboxId
  • [string] 受信ボックスGRN
  • serviceClass
  • [string] サービスクラス
  • createAt
  • [number] 作成日時(エポック秒)
  • ownerId
  • [string] オーナーID
  • updateAt
  • [number] 最終更新日時(エポック秒)
  • cooperationUrl
  • [string] メッセージの開封通知先URL
  • description
  • [string] 説明文