カスタマーディスプレイ
カスタマーディスプレイはクレーム要求の必要のない出力デバイスです。ステータス情報はサーバーポーリング(POST)の JSON リクエスト内でクライアントから通知され、カスタマーディスプレイに表示するメッセージは、サーバーポーリング(POST) の JSON レスポンス内にてサーバーより指定します。
POST 要求の JSON リクエスト内のdisplayフィールドに、以下の形式で JSON オブジェクト配列を提供します:
{
"name": "<device logical name>",
"status": { "connected": bool }
}
- "name" - カスタマーディスプレイを識別するための論理デバイス名が記載されます。この名前はディスプレイ用メッセージを送信するデバイスをサーバーから特定するために使用されます。
- "status" - デバイスのステータスを記述するオブジェクト:
- "connected" - サーバーから**“name”**で指定されたカスタマーディスプレイが接続されていれば true、接続されていないければ false となります。
カスタマーディスプレイへのメッセージは、サーバーからクライアントへ応答する POST の JSON レスポンスのdisplayフィールドにて指定します。送信するメッセージは下記簡単なマークアップ形式を含む文字列になります:
Command | Function |
---|---|
[cls] | メッセージ消去及びカーソルをホームポジションに戻す |
[home] | カーソルをホームポジションに戻す |
[nl] | 改行、及びカーソルを次の行の先頭に移動する |
[http://...] [https://...] | URL 指定による画像の表示をする。CloudPRNT クライアントが PNG もしくは JPEG のイメージを指定された URL よりダウンロードしカスタマーディスプレイに表示する(もしカスタマーディスプレイが画像に対応していれば表示する) |
[enc <encoding>] | カスタマーディスプレイのテキストエンコーディングを<encoding>に設定する |
メッセージは JSON を通じてプレーンテキスト文字列として送信され、直接カスタマーディスプレイに表示されます。そして、上記の’[‘’]’に囲まれた特殊なコマンドはクライアント内部で解析され、適切な制御をカスタマーディスプレイに対して行います。文字列に挿入することのできない文字はエスケープによってサポートされます。例えば、’[‘、’]’の文字は’¥’によって”¥[”、”¥]”のようにエスケープすることが可能です。16 進データは"¥xHH"で挿入できます。"HH"は 2 桁の 16 進数値です。