レスポンス (GET)

CloudPRNTサーバーは、プリンターからの本GETリクエストに対し、以下で定義されたレスポンスを行います。

レスポンスヘッダー

レスポンスボディ

HTTPステータスコード

CloudPRNTで定義されたJSONデータ

HTTPステータスコード

HTTPステータスコード

説明

200

操作が成功し、サーバー設定情報を期待どおり返した

404

サーバーは CloudPRNT Version HTTP のみサポートしている

レスポンスボディ

CloudPRNTサーバーが返すレスポンスボディはJSONフォーマットです。
以下のJSON仕様に従い、設定してください。

Key

Type

Required

Decsription

title

string

true

"star_cloudprnt_server_setting"固定。

version

string

true

本JSON、star_cloudprnt_server_settingのバージョン情報。1.0.0を指定してください。

nextUrl

string

false

このキーが定義されている場合、プリンターは値のURLに対して再度、本GETリクエストを実行します。
このキーを定義する場合は、以降のkeyを定義する必要はありません。
定義されている場合、プリンターはそれらを無視します。
最大文字数 : 511

reloadIntervalMin

number

false

指定した間隔[分]で、プリンターが再度、本GETリクエストを行い、情報を更新します。
デフォルト : 60
定義域 : 0 - 1440 (0 : 定期問い合わせしない)

setID

string

false

プリンターのuniqueIDに使われる任意のIDを設定します。 Client Action のSetIDと異なり、不揮発メモリへの保存は行いません。
最大文字数 : 31

serverSupportProtocol

[string]

true

サーバーがサポートするCloudPRNT通信プロトコルを記載します。
"HTTP" : CloudPRNT Version HTTP をサポート。
"MQTT" : CloudPRNT Version MQTT をサポート。
両方指定された場合、プリンターは CloudPRNT Version MQTT の動作を行います。

settingForHTTP

object

false

CloudPRNT Version HTTP に関連する値をまとめたオブジェクト。

settingForMQTT

object

false

CloudPRNT Version MQTT に関連する値をまとめたオブジェクト。
serverSupportProtocolキーの値に"MQTT"を含む場合、本keyは必須です。

settingForHTTPオブジェクト仕様

Key

Type

Required

Decsription

url

string

false

プリンター本体に設定する[CloudPRNT URL]に代わるサーバーURL。
この値が定義されている場合、サーバーポーリング (POST), 印刷ジョブリクエスト (GET), 印刷ジョブ完了確認 (DELETE) のURLにこの値が利用されます。
サーバー設定情報取得リクエスト (GET) のURLには利用されません。
デフォルト値 : Web Configで設定した値
最大文字数 : 511

pollingTimeSec

number

false

指定した間隔[秒]で、プリンターは サーバーポーリング (POST) を実施します。
デフォルト値 : Web Configで設定した値
定義域 : 1 - 7200

username

string

false

プリンターがHTTPリクエストのBasic認証に利用するユーザー名。
不揮発メモリへの保存は行いません。
デフォルト値 : Web Configで設定した値
最大文字数 : 63

password

string

false

プリンターがHTTPリクエストのBasic認証に利用するパスワード。
不揮発メモリへの保存は行いません。
デフォルト値 : Web Configで設定した値
最大文字数 : 63

settingForMQTTオブジェクト仕様

Key

Type

Required

Decsription

useTriggerPOST

boolean

true

true : Trigger POSTを利用します。
false : Pass URL /Full MQTTを利用します。

pollingTimeSec

number

false

指定した間隔[秒]で、プリンターは以下の動作を実施します。
Trigger POST の場合 : サーバーポーリング (POST) を実行
Full MQTT / Pass URL の場合 : client-status メッセージを発行
デフォルト値 : 0
定義域 : 0 - 7200

mqttConnectionSetting

object

true

プリンターのMQTTブローカーへの接続に関連する値をまとめたオブジェクト

mqttConnectionSettingオブジェクト仕様

Key

Type

Required

Decsription

hostName

string

true

プリンターが接続するMQTTブローカーのホスト名を指定します。
最大文字数 : 511

portNumber

number

true

プリンターが接続するMQTTブローカーのポート番号を指定します。

useTls

boolean

false

MQTTブローカーとの接続にTLSを利用するかどうかを表します。
デフォルト値 : true

keepAliveSec

number

false

プリンターがMQTTブローカーに対して接続中にpingを送信する間隔[秒]を指定します。
デフォルト値 : 60
定義域 : 30 - 1200

deviceSubscribeTopicName

string

false

プリンターが購読するMQTTトピック名のプレフィックスを設定します。
指定したプレフィックスに対し、 /# を付与して購読します。
デフォルト(省略時)の購読トピック名 : star/cloudprnt/to-device/{MAC}/#
最大文字数 : 511

devicePublishTopicName

string

false

プリンターが発行するメッセージのトピック名のプレフィックスを設定します。
指定したプレフィックスに対し、/{method} を付与して発行します。{method}はメッセージの種類により異なります。
デフォルト(省略時)の発行トピック名 : star/cloudprnt/to-server/{MAC}/{method}
最大文字数 : 511

authenticationSetting

object

false

プリンターがMQTTブローカー接続時に利用する認証情報をまとめたオブジェクト。

tlsSetting

object

false

プリンターがMQTTブローカーとTLS接続する際に設定をまとめたオブジェクト。
useTlsキーの値がtrueのときのみ、設定が反映されます。

authenticationSettingオブジェクト仕様

Key

Type

Required

Decsription

clientId

string

false

プリンターがMQTTブローカーに接続するときのClient ID。
デフォルト値 : プリンターのEthernetMACアドレス
最大文字数 : 255

username

string

false

プリンターがMQTTブローカに接続するときのUser Name。
最大文字数 : 511

password

string

false

プリンターがMQTTブローカに接続するときのPassword。
最大文字数 : 511

tlsSettingオブジェクト仕様

Key

Type

Required

Decsription

alpn

[string]

false

プリンターがMQTTブローカーにTLS接続する際の、ALPNによるプロトコルネゴシエーションのプロトコルリストを指定します。
最大リストサイズ : 5
最大文字数 : 31

レスポンスボディのJSONで利用できる環境変数

以下の文字列をレスポンスボディのJSONに含めることができます。
プリンターはJSONに含まれる以下の文字列を、自身の持つ値に変換します。
  • {MAC} : プリンターのEthernet MACアドレスに置きかわる。例 : 00:11:22:33:44:55

  • {SN} : プリンターの製品シリアルナンバーに置きかわる。例 : 2602319010600001

  • {SERIESNAME} : プリンターのシリーズ名に置きかわる。例 : mC-Print3, TSP100IV, mC-Label3...

  • {USERNAME} : プリンターに設定された、HTTP Basic認証用のユーザー名に置きかわる。この環境変数は、 authenticationSetting.username キーの値にのみ利用可能です。

  • {PASSWORD} : プリンターに設定された、HTTP Basic認証用のパスワードに置きかわる。この環境変数は、 authenticationSetting.password キーの値にのみ利用可能です。

レスポンスボディの設定例

CloudPRNT Version HTTP のみサポート

{
    "title" : "star_cloudprnt_server_setting",
    "version" : "1.0.0",
    "serverSupportProtocol" : ["HTTP"]
}

CloudPRNT Version HTTP , CloudPRNT Version MQTT (Trigger POST) をサポート

また、プリンターがHTTPリクエストを行うURLを指定する。

{
    "title" : "star_cloudprnt_server_setting",
    "version" : "1.0.0",
    "serverSupportProtocol" : ["HTTP", "MQTT"],
    "settingForHTTP" : {
        "url" : "http://cloudprnt.net/sample.php"
    },
    "settingForMQTT" : {
        "useTriggerPOST" : true,
        "mqttConnectionSetting" : {
            "hostName" : "your.mqtt.broker",
            "portNumber" : 8883,
            "useTls" : true
        }
    }
}

CloudPRNT Version HTTP , CloudPRNT Version MQTT (Full MQTT / Pass URL) をサポート

{
    "title" : "star_cloudprnt_server_setting",
    "version" : "1.0.0",
    "serverSupportProtocol" : ["HTTP", "MQTT"],
    "settingForMQTT" : {
        "useTriggerPOST" : false,
        "mqttConnectionSetting" : {
            "hostName" : "your.mqtt.broker",
            "portNumber" : 8883,
            "useTls" : true
        }
    }
}

CloudPRNT Version MQTT (Full MQTT / Pass URL) のみサポート

{
    "title" : "star_cloudprnt_server_setting",
    "version" : "1.0.0",
    "serverSupportProtocol" : ["MQTT"],
    "settingForMQTT" : {
        "useTriggerPOST" : false,
        "mqttConnectionSetting" : {
            "hostName" : "your.mqtt.broker",
            "portNumber" : 8883,
            "useTls" : true
        }
    }
}

別のURLに本GETリクエストを再度実行させる

{
    "title" : "star_cloudprnt_server_setting",
    "version" : "1.0.0",
    "nextUrl" : "http://sampleserver/test/cloudprnt-setting.json"
}