外部通信
外部通信は、cluster外に用意したサーバーと空間インスタンス内からデータをやりとりする機能です。 ItemScriptで使うことができます。
サーバーは基本的にクリエイター自身もしくは信頼している第三者が管理している必要があります。 クリエイターのアカウントごとにひとつサーバーのURLを登録できます。 クリエイターが作成した全てのワールドやアイテムは登録されたサーバーと通信します。 クラフトアイテムから外部通信を行った場合、クラフトアイテムの作者のサーバーにアクセスします。
プレイヤーのプライバシー
外部通信は空間インスタンス内のデータを外部と送受信できる強力な機能です。 プレイヤーのプライバシーを保護するため、外部通信はclusterのサーバーを経由して行われます。
プレイヤーの個人情報に該当する情報を送信する場合、プレイヤーの同意が必要です。
サーバーの準備と登録
外部通信サーバーはHTTP POSTを受け付けるendpointを提供する必要があります。
外部通信APIの呼び出しのたびに、endpointに対してHTTP POSTが一回行われます。 POSTに対するresponseに含まれるデータがonExternalCallEndに渡されます。endpointが5秒のtimeoutを超えても応答しない場合、またエラーを返した場合、失敗と判定されます。clusterからendpointに対するリトライは行いません。
リクエスト
{
"request": "...1kB以下の文字列..."
}
レスポンス
{
"verify": "...verify_token...",
"response": "...1kB以下の文字列..."
}
トークン発行とURL登録
CreatorKitの「Cluster > 外部通信(callExternal)接続先URL」を選択して表示されるウィンドウからURLを登録・変更できます。URLを登録するとウィンドウにトークンが表示されます。このトークンはサーバーが自身の管理下にあることを、clusterが確認するために利用します。
トークンは通信に必要です。トークンは一度しか表示されないためコピーして別の場所に保存するようにしてください。また、URLを登録する度にトークンは変化するのでご注意ください。
callExternal APIの利用
外部通信を行うには以下のAPIを利用します。