Webhook
外部アプリケーションへのステータス通知として、Webhookの機能を提供します。
以下のステータスを通知します。
イベントタイプ | サブタイプ | 説 明 |
---|---|---|
test | sub_test | ダッシュボードからトリガーされるテストイベント |
connection | added_new | デバイスグループへの新規デバイス追加 |
added_renew | デバイスグループへのデバイス再登録 | |
deleted_temporary | デバイスグループからのデバイス削除(論理削除) | |
deleted_complete | デバイスグループからのデバイス削除(物理削除) | |
status | online | デバイスのステータス変更(オンライン) |
offline | デバイスのステータス変更(オフライン) | |
job | received | サーバーへの印刷ジョブ依頼完了 |
requested | サーバーからデバイスへの印刷ジョブ依頼完了 | |
completed | 印刷ジョブ完了(正常終了) | |
failed | 印刷ジョブ完了(異常終了) | |
peripheral | barcode_scan | バーコードスキャン |
本機能を利用する場合、下記通知元のネットワークIPアドレスからのアクセスを許可してください。
ネットワークIPアドレス: 20.27.216.255
Test Event
Test Eventは、Webhook通知のテストボタンをクリックすることによってのみトリガーできます。
通知が無効になっている場合でもテストイベントを生成できます。
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "test",
"SubType": "sub_test",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "000000000000",
"Name": "Test Name",
"AppID": "00000000"
}
}
Connection Event
Connection Eventは、グループ内のデバイスの接続ステータスが変更されるたびに発行されます。
このイベントは、新しいデバイスがデバイスグループに追加されたことを通知するために使用できます。
SubType | 説 明 |
---|---|
added_new | デバイスグループへの新規デバイス追加 |
added_renew | デバイスグループへのデバイス再登録 |
deleted_temporary | デバイスグループからのデバイス削除(論理削除) |
deleted_complete | デバイスグループからのデバイス削除(物理削除) |
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "connection",
"SubType": "added_new",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"Status": {
"Online": true,
"CoverOpen": false,
"CompulsionSwitch": false,
"OverTemperature": false,
"Recoverable": true,
"CutterError": false,
"MechanicalError": false,
"ReceiveBufferOverflow": false,
"BlackMarkError": false,
"PresenterPaperJam": false,
"VoltageError": false,
"PaperEmpty": false,
"PaperLow": false
}
}
}
Status Event
Status Eventは、デバイスによって報告されたステータスが変更されるたびに発行されます。
ログ記録の便宜上、SubTypeはデバイスの全体的な動作状態を表す”online"または"offline"に設定されますが、どちらの場合もフィールドは同じ構造に従います。
SubType | 説 明 |
---|---|
online | デバイスのステータス変更(オンライン) |
offline | デバイスのステータス変更(オフライン) |
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "status",
"SubType": "offline",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"Status": {
"Online": false,
"CoverOpen": true,
"CompulsionSwitch": false,
"OverTemperature": false,
"Recoverable": true,
"CutterError": false,
"MechanicalError": false,
"ReceiveBufferOverflow": false,
"BlackMarkError": false,
"PresenterPaperJam": false,
"VoltageError": false,
"PaperEmpty": true,
"PaperLow": false
},
"PreviousStatus": {
"Online": true,
"CoverOpen": false,
"CompulsionSwitch": false,
"OverTemperature": false,
"Recoverable": true,
"CutterError": false,
"MechanicalError": false,
"ReceiveBufferOverflow": false,
"BlackMarkError": false,
"PresenterPaperJam": false,
"VoltageError": false,
"PaperEmpty": false,
"PaperLow": false
}
}
}
Job Event
Job Eventは印刷ジョブアクティビティに関連し、デバイスが印刷キューからジョブの処理を開始したとき、印刷が完了したとき、またはエラーが発生した場合に通知を受け取るために使用できます。
SubType | 説 明 |
---|---|
received | サーバーへの印刷ジョブ依頼完了 |
requested | サーバーからデバイスへの印刷ジョブ依頼完了 |
completed | 印刷ジョブ完了(正常終了) |
failed | 印刷ジョブ完了(異常終了) |
印刷開始:requested
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "job",
"SubType": "requested",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"JobName": "Welcome",
"RequestedMediaType": "application/vnd.star.starprnt"
}
}
JobName
ジョブの名称 (割り当てられている場合) 。ジョブをサービスに送信するときに指定できます。
RequestedMediaType
CloudPRNT互換デバイスが印刷ジョブに対して要求した印刷ジョブのフォーマットです。
印刷完了:completed
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "job",
"SubType": "completed",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"Code": 200,
"CodeDescription": "OK",
"JobName": "Welcome"
}
}
Code
CloudPRNT ジョブ完了コード。CloudPRNT仕様ステータスコードの詳細については、こちらをご覧ください。
CodeDescription
ログ記録に役立つコードの意味の説明。
JobName
ジョブの名称 (割り当てられている場合) 。ジョブをサービスに送信するときに指定できます。
印刷完了:failed
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "job",
"SubType": "failed",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"Code": 520,
"CodeDescription": "Timeout",
"JobName": "Welcome"
}
}
Code
CloudPRNT ジョブ完了コード。CloudPRNT仕様ステータスコードの詳細については、こちらをご覧ください。
CodeDescription
ログ記録に役立つコードの意味の説明。
JobName
ジョブの名称 (割り当てられている場合) 。ジョブをサービスに送信するときに指定できます。
Peripheral Event
Peripheral Eventは、CloudPRNTデバイスに接続されているプリンター以外のPOS周辺機器(USBバーコードスキャナーなど)に関連するアクティビティを通知するために使用されます。
バーコードスキャン:barcode_scan
Header
{
"Content-Type": "application/json"
"User-Agent": "StarIO_Online/1.0"
}
Body
{
"EventType": "peripheral",
"SubType": "barcode_scan",
"DeviceGroup": {
"Path": "dgrp",
"Name": "Demo Group"
},
"Device": {
"Mac": "001C62030846",
"Name": "Demonstration mC-Print2",
"AppID": "e9442f5f"
},
"EventData": {
"Scans": [
{
"BCR": "MainBCR",
"Ascii": "3700597302378",
"Base64": "MzcwMDU5NzMwMjM3OA=="
}
]
}
}
Scans
スキャンされたバーコードの配列。
非常に短い時間に複数のスキャンが実行された場合、1つのイベントで複数のスキャンが報告されることがあります。
BCR
スキャンを実行したバーコードリーダーの名称。
CloudPRNT互換デバイスの場合、常に「MainBCR」になります。
Ascii
ASCIIエンコードされたスキャンデータ。
ソースバーコード内の非ASCII文字は、このフィールドには報告されません。
Base64
base64でエンコードされたスキャンデータ。
非ASCII文字を含むバーコードのスキャンが必要な場合に便利です。
Note:
バーコードスキャンは、バーコードリーダーがCloudPRNTサービスによって要求されている場合にのみ、デバイスによって報告されます。
これは、デバイスグループ設定を変更することで、デバイスグループ内のすべてのデバイスに対して有効にすることができます。
バーコードリーダーは、既存のPOSアプリケーションとの競合を避けるため、新しいデバイスグループではデフォルトで要求されません。