JSONリクエスト
{
"status": "<ASB Hex format>",
"printerMAC": "<Ethernet MAC address>",
"uniqueID": "<server assigned ID>",
"statusCode": " <description>",
"jobToken": "<token string>",
"printingInProgress": bool,
"clientAction": [{
"request": "<request type>",
"result": "<request result>"
}],
"barcodeReader": [{
"name": "<device logical name>",
"status": { "connected": bool, "claimed": bool },
"scan": [ {"data": "<scanned barcode character sequence>",
"symbology": "<symbology of scanned barcode>"}]
}],
"keyboard": [{
"name": "<device logical name>",
"status": { "connected": bool, "claimed": bool },
"keyPresses": "<key presses since last poll>"
}],
"display": [{
"name": "<device logical name>",
"status": {"connected": bool}
}]
}
statusCode
以外の全てのフィールドは任意オプションであり、必要により設定された場合にのみ特定されますが、NULLである場合もあるため、サーバーはどちらの場合も扱うことができる必要があります。clientAction
フィールドはサーバーが設定の詳細の問い合わせのために Client Action リクエストを送ったときに設定されます。 (例えば ファームウェアバージョンなど)、またはエンコードされていないプリンター装置の状態イベントをサーバーに通知するためにリクエストを送ったときに設定されます。Key Name |
IFBD-HI01X/HI02X |
mC-Print2/3 |
TSP100IV |
TSP100IV SK |
mC-Label3 |
---|---|---|---|---|---|
printingInProgress |
1.4以上 |
1.2以上 |
1.0以上 |
2.0以上 |
1.0以上 |
jobToken |
1.8以上 |
3.2以上 |
1.0以上 |
2.0以上 |
1.0以上 |
barcodeReader |
1.4以上 |
1.2以上 |
1.0以上 |
2.0以上 |
1.0以上 |
keyboard |
1.4以上 |
利用不可 |
利用不可 |
利用不可 |
利用不可 |
display |
1.4以上 |
1.2以上 |
1.0以上 |
2.0以上 |
1.0以上 |
注釈
表に記載のないJSONパラメーター、対応機種については全てのファームウェアバージョンでサポートされています。
- "status"
- Star ASB形式にてサーバーへプリンター状態情報を提供します。Star ASB形式のプリンターステータスについては、プリンターのコマンド仕様書を参照ください。これが提供されない場合、サーバーは"2"から始まるstatusCodeであればプリンターがオンラインとみなすことができます。(例: statusCodeが"200"の場合プリンターはオンライン)
- "printerMAC"
- プリンターのMACアドレスをサーバーに提供します。これは原則的にクライアントを認識するための固有情報であり、必ずしもMACアドレスである必要はなく、複数のクライアントがサーバーへ接続する場合の要求になります。例えば、Ethernet MACアドレスを使用しています。
- "uniqueID"
- サーバーにIDが割り当てられている場合のID。このFieldはサーバーがIDを割り当てている場合にのみ含まれます。
- "statusCode"
- 3桁または4桁のstatus codeおよびプリンター状態の記述を提供します。典型的にこれは"200 OK"でプリンターがオンラインかつ印刷準備完了を示します。印刷ジョブ失敗またはオフラインの場合、エラー状態が渡されます。詳細は プリンターステータスコード を参照ください。例えばプリンターが DELETEリクエストを送るときなど、URLパラメーターとしてStatusCodeを送る場合があるため、CloudPRNTクライアントからのStatus codeはURL エンコードされています。
- "jobToken"
- オプションのフィールドとしてサポートしております(一部機種は特定のファームウェアバージョンよりサポート)。CloudPRNTサーバーが、true値が設定された"jobReady"フィールド及び文字列値が設定された"jobToken"フィールドを含むPOSTレスポンスを返信した場合、以降の印刷ジョブ処理中(GETリクエストからDELETEリクエストまで)のCloudPRNTクライアントからのPOSTリクエストに本フィールドが含まれます。CloudPRNTクライアントにてDELETE処理が終了後このフィールドは以降のPOSTリクエストから削除されます。なお、CloudPRNTサーバーが"jobToken"フィールドを指定したときに印刷中にプリンターがオフラインステータス(紙無し、カバーオープン)になった場合このフィールドは、プリンターがオンラインステータスに復帰し、CloudPRNTサーバーからtrue値が設定された"jobReady"フィールドを含むPOSTレスポンスをCloudPRNTクライアントが受け取るまで通知されます。
- "printingInProgress"
- boolean値によって印刷操作が現在進行中であるかを示します。これは印刷操作中にCloudPRNTサーバーにポーリングを発行するCloudPRNTクライアントによって提供されます。これにより、例えばTrue値を示した場合には”jobReady”レスポンスフィールドを無視することができ、サーバーにて印刷ジョブが使用可能かどうかデータベース等の確認をすることを避けられます。また、必要に応じてユーザーへのステータス表示にも使うことができます。ただし、このフィールドはオプションであり全てのCloudPRNTクライアントに含まれない可能性があるので、印刷が完了したことを示すシグナルとして使用しないでください(印刷完了に関してはGET/DELETEおよびPOSTリクエストを監視してください)。
- "clientAction"
- "barcodeReader"
- 利用可能なバーコードリーダーデバイスを表すオブジェクトの配列。詳細は周辺機器制御 バーコードリーダー を参照してください。
- "keyboard"
- 利用可能なキーボードデバイスを表すオブジェクトの配列。詳細は周辺機器制御 キーボード を参照してください。.
- "display"
- 利用可能なカスタマーディスプレイデバイスを表すオブジェクトの配列。詳細は周辺機器制御 カスタマーディスプレイ を参照してください。
クライアント POST リクエストサンプル
通常のクライアントリクエストは、プリンターステータスおよび MAC アドレスを含みます。
{
"status": "23 6 0 0 0 0 0 0 0 ",
"printerMAC": "00:11:e5:06:04:ff",
"statusCode": "200%20OK",
"clientAction": null
}
サーバーから Client Action 要求を利用してポーリングインターバルやサポートされているエンコードのリスト、クライアントに対する“uniqueID”(例では”Star1”)の要求を含むレスポンスを受け取ったあと送信されるクライアントリクエストの例は以下になります。
{
"status": "23 6 0 0 0 0 0 0 0 ",
"printerMAC": "00:11:e5:06:04:ff",
"uniqueID": "Star1",
"statusCode": "200%20OK",
"clientAction": [
{"request":"GetPollInterval","result":"10"},
{"request":"Encodings","result":"image/png; image/jpeg; application/vnd.star.raster;
application/vnd.star.line; application/vnd.star.linematrix; text/plain; application/octet-stream"}
]
}
サーバーから"jobReady":"true"及び"jobToken":"PrintJob1"を含むPOSTレスポンスを受け取ったあと、クライアントからのGETリクエストによって取得した印刷ジョブを印刷中に送信される"jobToken"が含まれるクライアントPOSTリクエストの例は以下になります。
{
"status": "23 6 0 0 0 0 0 0 0 ",
"printerMAC": "00:11:e5:06:04:ff",
"uniqueID": "Star1",
"statusCode": "200%20OK",
"jobToken": "PrintJob1",
"printingInProgress": true,
"clientAction": null
}
クライアント HTTP リクエストヘッダー
対応機種ファームウェアバージョン:
Device Name |
FW Version |
---|---|
IFBD-HI01X/HI02X |
1.8以上 |
mC-Print2/3 |
3.2以上 |
TSP100IV |
1.0以上 |
TSP100IV SK |
2.0以上 |
mC-Label3 |
1.0以上 |
詳細は クライアント HTTP リクエストヘッダー を参照してください。
用紙保持制御機能をサポートするプリンターのステータスコード
対応機種ファームウェアバージョン:
Device Name |
FW Version |
---|---|
IFBD-HI01X/HI02X with TSP650IISK |
1.9以上 |
TSP100IV SK |
2.0以上 |
mC-Label3 |
1.0以上 |
印刷中の場合
{
"status": "23 6 0 0 0 0 0(or 2) 0 0 ",
"printerMAC": "00:11:62:0d:82:98",
"statusCode": "220%20Printing%20In%20Progress",
"printingInProgress": true,
"clientAction": null
}
この"220"ステータスコードは、"printingInProgress: true"と同義です。
印刷ジョブの印刷が完了した後(DELETEリクエスト後)、排紙口に用紙が残っている場合:
{
"status": "23 6 0 0 0 0 2 0 0 ",
"printerMAC": "00:11:62:0d:82:98",
"statusCode": "221%20Output%20Paper%20Present",
"printingInProgress": false,
"clientAction": null
}
排紙口から用紙を取り出した後
{
"status": "23 6 0 0 0 0 0 0 0 ",
"printerMAC": "00:11:e5:06:04:ff",
"uniqueID": "Star1",
"statusCode": "200%20OK",
"jobToken": "PrintJob1",
"printingInProgress": true,
"clientAction": null
}