外部通信
外部通信は、cluster外に用意したサーバーと空間インスタンス内からデータをやりとりする機能です。 ItemScriptで使うことができます。
サーバーは基本的にクリエイター自身もしくは信頼している第三者が管理している必要があります。 クリエイターが作成したワールドやアイテムは、クリエイターが登録したサーバーと通信します。 クラフトアイテムから外部通信を行った場合、クラフトアイテムの作者のサーバーにアクセスします。
プレイヤーのプライバシー
外部通信は空間インスタンス内のデータを外部と送受信できる強力な機能です。 プレイヤーのプライバシーを保護するため、外部通信はclusterのサーバーを経由して行われます。

プレイヤーの個人情報に該当する情報を送信する場合、プレイヤーの同意が必要です。
サーバーの準備
外部通信サーバーはHTTP/HTTPS POSTを受け付けるエンドポイントを提供する必要があります。
外部通信APIの呼び出しのたびに、エンドポイントに対してHTTP/HTTPS POSTが一回行われます。 POSTに対するresponseに含まれるデータがonExternalCallEndに渡されます。 エンドポイントが5秒のタイムアウトを超えても応答しない場合、またエラーを返した場合、失敗と判定されます。clusterからエンドポイントに対するリトライは行いません。
リクエスト
{
"request": "...100kB以下の文字列..."
}
レスポンス
{
"verify": "...verify_token...",
"response": "...100kB以下の文字列..."
}
Verify Token
verifyにはVerify Tokenを文字列で指定する必要があります。 Verify Tokenは、 サーバーが自身の管理下にあることを、clusterが確認するために利用します。 Verify TokenはCreatorKitの「Cluster > 外部通信(callExternal)接続先URL」を選択して表示されるウィンドウから作成できます。
Verify Tokenは作成のたびに一度しか表示されないためコピーして別の場所に保存するようにしてください。
Verify Tokenはアカウントごとに最大2個登録できます。 新しいVerify Tokenを作成し、サーバーが利用するVerify Tokenを更新してから古いVerify Tokenを削除することで、Verify Tokenを更新できます。
Endpoint登録
Creator Kitの「Cluster > 外部通信(callExternal)接続先URL」を選択して表示されるウィンドウから外部通信サーバーのURLを登録できます。
URLを登録するとウィンドウにEndpoint IDが表示されます。
ClusterScriptでEndpoint IDを元にExternalEndpointId
オブジェクトを作成した上でcallExternal
APIに渡すことで通信先のサーバーを指定できます。
Endpointはアカウントごとに最大100個登録できます。
ExternalEndpointId
オブジェクトをcallExternal
に渡さない場合、_legacy_single_endpoint
というIDのEndpointが利用されます、callExternal APIの利用
外部通信を行うには以下のAPIを利用します。