Chat Channel

概要

チャットのチャンネルを操作する為の API です。

  • 1 ユーザにつき、1 チャットルームを作成し、特定ユーザーのみにメッセージ(ゲームからのお知らせ)を送る行為は禁止されています。
  • 1アプリケーションにつき生成できるチャンネルの最大エントリ数は 1,000,000 件 になります。
ゲームチャットの使い方に関しては、こちらのチュートリアルをご確認下さい。

ChatChannel オブジェクトフィールド

チャンネルを表すオブジェクトです。

説明

名前空間

補足

id

チャンネル ID

xs:string

http://ns.dena.jp/mbga/gameapi/v1

チャンネルを一意に示す識別子

name

チャンネル名

xs:string

http://ns.dena.jp/mbga/gameapi/v1

チャンネルの名称

shorName

短縮チャンネル名

xs:string

http://ns.dena.jp/mbga/gameapi/v1

チャンネルの短縮名称

owner

チャンネルオーナー

xs:string

http://ns.dena.jp/mbga/gameapi/v1

ChatChannelOwner オブジェクト

published

生成日時

xs:date

http://ns.dena.jp/mbga/gameapi/v1

生成日時 (ISO8601, GMT表記)

updated

更新日時

xs:date

http://ns.dena.jp/mbga/gameapi/v1

更新日時 (ISO8601, GMT表記)

ChatChannelOwner オブジェクトフィールド

チャンネルのオーナーを表すオブジェクトです。

説明

名前空間

補足

id

ChatChannelOwner オブジェクトの ID

xs:string

http://ns.dena.jp/mbga/gameapi/v1

チャンネルのオーナーを一意に示す識別子

objectType

ChatChannelOwner オブジェクトの型

xs:string

http://ns.dena.jp/mbga/gameapi/v1

"application" のみ指定可能

API リクエスト

HTTP メソッド

Trusted モデル

  • GET
    • チャンネルの取得
  • POST
    • チャンネルの作成
  • PUT
    • チャンネルの更新
  • DELETE
    • チャンネルの削除

エンドポイント URL

  • Sandbox 環境
    http://sb.app.mbga.jp/social/api/restful/v2/chat/{appId}/channels/{-prefix|/|channelId}
  • 本番環境
    http://app.mbga.jp/social/api/restful/v2/chat/{appId}/channels/{-prefix|/|channelId}

URI Template パラメータ

appId

appId パラメータは下記のいずれかの値を指定します。

説明

備考

@app

現在実行中のアプリケーション ID

必須

channelId

channelId パラメータは下記のいずれかの値を指定します。

説明

備考

{channelId}

チャンネル ID

任意

クエリパラメータ

下記のクエリパラメータを指定する事が出来ます。

format

レスポンス形式を指定する事が出来ます。

説明

備考

json

"application/json; charset=utf8"

任意、デフォルト値

fields

取得したいチャンネル情報を指定する事が出来ます。指定可能なフィールド名については ChatChannel オブジェクトフィールドを参照して下さい。
複数指定する場合はスペース無しのカンマ (,) 区切りで指定します。
fields パラメータを省略した場合、下記の属性情報全てを取得します。

パフォーマンス向上の為に、必要な属性のみを取得するようにして下さい。


API レスポンス

レスポンスコード

API のレスポンスコードは以下のいずれかになります。

リクエスト HTTP メソッド

レスポンスコード

レスポンスメッセージ

説明

GET/PUT

200

OK

チャンネルの取得に成功した場合

POST

201

Created

チャンネルの追加が成功した場合

DELETE

204

No Content

チャンネルの削除が成功した場合

GET/POST/DELETE/PUT

400

Bad Request

データ形式が不正な場合

GET/POST/DELETE/PUT

401

Unauthorized

不正な Authorization ヘッダの場合

GET/POST/DELETE/PUT

403

Forbidden

実行しようと操作の権限がない場合

GET/POST/DELETE/PUT

404

Not Found

存在しない appId, channelId, id が指定された場合

POST

409

Conflict

変更できないフィールドを変更しようとした場合

GET/POST/DELETE/PUT

500

Internal Server Error

サーバー側の処理でエラーが発生した場合

GET/POST/DELETE/PUT

503

Service Unavailable

サーバー側が一時的にサービス停止している場合

制限事項

  • 1アプリケーションにつき生成できるチャンネルの最大エントリ数は 1,000,000 件 になります。
     

    サンプル

    チャンネル取得

    リクエスト形式

    GET /social/api/restful/v2/chat/@app/channels/100?fields=id%2Cname%2Cowner
    

    レスポンス形式

    200 OK HTTP/1.1
    Content-Type: application/json; charset=utf-8
     
    {
       "id" : "100",
       "name" : "Mobage を語るスレ",
       "owner" : {
          "id" : "12000129",
          "objectType" : "application"
       }
    }
    
     

    複数のチャンネル取得

    複数のチャンネルがコレクションで取得できます。

    リクエスト形式

    GET /social/api/restful/v2/chat/12000129/channels/100,200 
    

    レスポンス形式

    200 OK
    Content-Type: application/json; charset=utf-8
     
    {
       "entry" : [
                {
                      "name" : "Mobageを語るスレ1",
                      "id" : "100",
                      "shortName" : "Moba語り1"
                },
                {
                      "name" : "Mobageを語るスレ2",
                      "id" : "200",
                      "shortName" : "Moba語り2"
                }
          ],
          "startIndex" : 1,
          "sorted" : false,
          "itemsPerPage" : 2,
          "totalResults" : 2
    }
    

 

チャンネルの作成

リクエスト形式

POST /social/api/restful/v2/chat/@app/channels
Content-Type: application/json; charset=utf8

{
   "name" : "comm でいいじゃん",
   "shortName" : "comm"
}

レスポンス形式

201 Created
Content-Type: application/json; charset=utf-8

{
   "id" : "6550",
   "name" : "comm でいいじゃん",
   "shortName" : "comm",
   "published" : "2013-03-24T09:36:40",
   "updated" : "2013-03-24T09:36:40"
}

チャンネルの更新

リクエスト形式

PUT /social/api/restful/v2/chat/@app/channels/344?fields=name,shortName
Content-Type: application/json; charset=utf8

{
   "name" : "Gloovy fun room",
   "shortName" : "gloovy"
}

レスポンス形式

202 Accepted
Content-Type: application/json; charset=utf-8
 
{
   "id" : "344",
   "name" : "Gloovy fun room",
   "shortName" : "gloovy",
   "published" : "2013-03-30T15:14:47",
   "updated" : "2013-03-30T15:24:47"
}

チャンネルの削除

リクエスト形式

DELETE /social/api/restful/v2/chat/@app/channels/50

レスポンス形式

204 No Content

 

APIにより生成されたチャンネルはユーザ操作によって削除することは出来ませんのでイベント終了などのタイミングにあわせて削除リクエストを行って下さい。

参考資料

The OAuth 1.0 Protocol (RFC 5849)
URI Template (RFC6570)
5.6. Internet Date/Time Format - Date and Time on the Internet: Timestamps (RFC 3339)
7.3.1. date-time - JSON Schema: interactive and non interactive validation draft-fge-json-schema-validation-00
9.3 Partial Updates - OpenSocial RESTful Protocol Specification v0.9

更新履歴

  • 2013/11/27
    • チャンネル生成の最大エントリ数と削除リクエストに関する記述を追加しました。
  • 2013/10/31
    • 複数のチャンネル取得の記述を追加しました。
  • 2013/10/01
    • OAuth Signed Request (xoauth_requestor_id) に関する記述を削除しました。
  • 2013/09/05
    • PUTに関するサンプルを修正
  • 2013/06/20
    • サンプルの誤植の修正
  • 2013/05/01
    • チャンネル一覧の取得を削除
  • 2013/04/25
    • 新規作成

PREVIOUS

Chat

NEXT

Chat Member