Webgateway サービス API

Webgateway サービスはサードパーティのアプリケーション用の HTTP API を提供し、Web サイトからゲームへのコマンド送信や視聴者への通知を可能にします。

API を使用するためにセキュリティトークンが必要です。トークンは "secret" ヘッダーに渡されます。

通知

POST /notifications

通知は即座に送信されます。ストリームには同期しません。このエンドポイントから送信された通知は、sessionid が 'web' に設定されています。

リクエストヘッダ
  • secret -- サービスへのリクエスト送信には、セキュリティトークンが必要です。

リクエスト JSON オブジェクト
  • notifications[] (object) -- 通知オブジェクトのリスト

  • notifications[].id (string) -- 通知 ID。

  • notifications[].data (string) -- base 64 でエンコードされた通知のペイロード。

クエリ例 :

{
  "notifications": [
    {
      "id": "",
      "data": ""
    }
  ]
}

コマンド

POST /commands/game

コマンドは、id-value のペアで構成されます。ゲームはidを使用してコマンドのタイプを識別します。value(値)は、ゲームが解析できる文字列です。

リクエストヘッダ
  • secret -- サービスへのリクエスト送信には、セキュリティトークンが必要です。

リクエスト JSON オブジェクト
  • id (string) -- ゲームがコマンドのタイプを認識するための ID。

  • value (string) -- ゲームがコマンドにパースするための値。

クエリ例 :

{
  "id": "",
  "value": ""
}

リクエスト

POST /requests

リクエストはid-valueのペアで構成されます。ゲームはidを使用してコマンドの種類を識別し、限られた時間内に返信する必要があります。値は、ゲームが解析可能な文字列です。この機能は現在ベータ版です。

リクエストヘッダ
  • secret -- サービスへのリクエスト送信には、セキュリティトークンが必要です。

リクエスト JSON オブジェクト
  • id (string) -- ゲームに登録されるリクエストのID。

  • data (string) -- ゲームに送信されるbase64エンコードされた値。

応答 JSON オブジェクト
  • id (string) -- リクエストのオリジナルID。

  • data (string) -- ゲームから送り返されるbase64エンコードされた値。

クエリ例 :

{
  "id": "",
  "data": ""
}

応答例 :

{
  "id": "",
  "data": ""
}

イベント

POST /events

エンドポイントを使って大量のイベントをゲームに送ることができます。イベントを送信する前にバックエンドで特別な作業をする必要がある場合に、クライアントから直接イベントを送信する代わりに行う方法です。最大バッチサイズが 2000 の場合、エンドポイントはコード 413 を返します。

リクエストヘッダ
  • secret -- サービスへのリクエスト送信には、セキュリティトークンが必要です。

リクエスト JSON オブジェクト
  • events[] (object) -- イベント一覧。

  • events[].key[] (string) -- 文字列配列の形式のイベントキー。

  • events[].value (undefined) -- ゲームがコマンドにパースするための値。

クエリ例 :

{
  "events": [
    {
      "key": [
        "cheer"
      ],
      "value": "Porthos"
    },
    {
      "key": [
        "cheer"
      ],
      "value": "Porthos"
    },
    {
      "key": [
        "cheer"
      ],
      "value": "Aramis"
    },
    {
      "key": [
        "cheer"
      ],
      "value": "Athos"
    }
  ]
}