リクエスト (GET)

プリンターは電源投入後のネットワーク接続時など、所定のタイミングで本GETリクエストを実行します。
CloudPRNTサーバーが応答した情報に従って、プリンターはCloudPRNT動作を開始します。

エンドポイント

[http/https]://[modified_cloudprntURL]/cloudprnt-setting.json?uid=<printer ID>&mac=<printer-mac-address>&replaced_path=<replaced-path>
[modified_cloudprntURL]:プリンター本体に設定したCloudPRNT URLに対し、最後のファイル名を削除したものです。
例として、プリンター本体に以下のCloudPRNT URLが設定されている場合
https://cloudprnt.net/printer.php
プリンターは以下のエンドポイントでGETリクエストを実行します。
https://cloudprnt.net/cloudprnt-setting.json?mac=00%3A11%3A62%3A1d%3A9a%3Ab7&replaced_path=printer.php

Query Parameter

Value

uid

サーバーで指定する”uniqueID”が設定されます。
これはサーバーが Client Action 要求にて”uniqueID”を割り当てている場合にのみ含まれます。

mac

プリンター固有のEthernetMACアドレス

replaced_path

プリンター本体に設定されたCloudPRNT URLのうち、[cloudprnt-setting.json]に置き換えられた箇所

クライアント HTTP リクエストボディ

なし

クライアント HTTP リクエストヘッダー

詳細は クライアント HTTP リクエストヘッダー を参照してください。

リクエストタイムアウト

15秒

リクエスト実行タイミング

CloudPRNT Version MQTT 対応プリンターは、以下の場合に本GETリクエストを実行します。

  • プリンターが電源投入後、インターネットに接続されたとき。

  • 取得した設定ファイル中に"nextUrl"キーが定義されているとき。値で指定されたURLに対して、再度本GETリクエストを実行。

  • プリンターが正常動作中、取得した設定ファイル中に定義された"reloadIntervalMin"キーの値で示された時間が経過するたび。

  • プリンターが CloudPRNT Version MQTT で動作中、MQTTメッセージ request-get-server-info を受け取ったとき。

  • プリンターが CloudPRNT Version MQTT で動作中、MQTTブローカーとの通信が切断されたとき。 GETリクエストのリトライ に記載の条件で実行。

  • プリンターがサーバーから取得した設定ファイルに従いMQTTブローカーと接続しようとしたが接続出来なかったとき。 GETリクエストのリトライ に記載の条件で実行。

サーバーレスポンスに対するプリンター動作

プリンターは本GETリクエストに対するサーバーレスポンスに対し、以下のように動作します。

正常系

  • ステータスコードが200の場合 :
    • レスポンスボディで得られた設定項目に従って動作します。

  • ステータスコードが404 (not found)の場合 :
    • プリンターは CloudPRNT Version HTTP で動作を開始します。

異常系

  • リクエストがタイムアウトした場合、サーバーに到達しない場合 :
  • ステータスコードが500系 (サーバーエラー)の場合 :
  • ステータスコードがそれ以外の場合 :
    • プリンター起動後、初回のGETリクエストの場合 :
      • プリンターは CloudPRNT Version HTTP で動作を開始します。

    • プリンターの利用するCloudPRNT通信プロトコルが決定したあとのGETリクエストの場合 :
      • プリンターは現在のCloudPRNTプロトコルの動作を継続します。

GETリクエストのリトライ

プリンターが CloudPRNT Version HTTP で動作している場合

  • GETレスポンスが正しく取得できて CloudPRNT Version HTTP で動作している場合 :
    • "reloadIntervalMin"キーの値に従って本GETリクエストを実行します。

  • GETレスポンスが正しく取得できずに CloudPRNT Version HTTP で動作を開始した場合 :
    • 60分間隔で本GETリクエストを実行します。

サーバーレスポンスのステータスコードが500系であった場合、またはリクエストがタイムアウトした場合、サーバーに到達しない場合

プリンターは以下の条件でGETリクエストをリトライします。

  • 500系レスポンス取得後、またはリクエストのタイムアウト後、5sec後にGETリクエストを実行します。

  • 3回までリクエストを試行します。それでも完了しなかった場合、プリンターは CloudPRNT Version HTTP で動作を開始します。

プリンターが CloudPRNT Version MQTT で動作中に、MQTTブローカーとの通信が切断された場合

プリンターが本GETリクエストのレスポンスに従いMQTTブローカーと接続しようとしたが出来なかった場合

プリンターは以下の条件でGETリクエストを実行します。

  • ブローカー接続切断・接続失敗から30sec後、GETリクエストを実行します。レスポンスの内容に従って次の動作を行います。

  • 上記のレスポンスでブローカーへの接続が指示されているが、再度接続出来なかった場合は、次は1min後にGETリクエストを実行します。

  • 30sec, 1min, 2min, 4min, 8minとGETリクエスト実行の間隔を伸ばします。最大で8min間隔です。

注釈

リトライ動作を行っている間、MQTTブローカーに接続していないプリンターは CloudPRNT Version HTTP の動作を行います。