メインコンテンツにスキップ
バージョン: 1.x

クラウド印刷

クラウド印刷を使用すると、WCPOS はレジを実行しているデバイスに直接接続されていないプリンターへレシートを送信できます。WP Admin で一度設定すれば、各デバイスがハードウェアを自分で検出してペアリングする必要なく、注文がキッチンプリンター、バックオフィスのプリンター、または別室のプリンターに印刷されます。

クラウド印刷とは?

ローカル印刷では、POS を実行しているデバイスが USB、Bluetooth、またはローカルネットワーク経由でプリンターと直接通信します。これは、プリンターがレジのすぐ隣にある場合に適した選択です。同じデバイスで USB、Bluetooth、ネットワークプリンターを接続する方法については、プリンター設定を参照してください。

クラウド印刷は、それ以外のすべてのケース向けです。別の場所にあるプリンター、別のネットワーク上のプリンター、または各デバイスで個別に設定することなくすべてのデバイスで共有したいプリンターなどです。配信モデルは 2 つあります:

  • ポーリング型プリンター。 プリンターはスケジュールに従ってインターネット経由で WCPOS にアクセスし、「私宛のものはありますか?」と尋ね、待機中のジョブをすべて取得します。WCPOS がプリンターに接続することはありません — 常にプリンターが通信を開始します。これが Star CloudPRNTEpson Server Direct Print の動作方式です。
  • ホスト型リレープロバイダー。 WCPOS はホスト型サービスに印刷ジョブを送信し、そのサービスがプリンターに配信します。これが Star OnlinePrintNode の動作方式です。Star Online は stario.online アカウントに登録された Star CloudPRNT プリンターに配信します。PrintNode はデスクトップクライアントを介して、そのコンピューターが既に印刷できるほぼすべてのプリンターに配信します。
なぜポーリングするプリンターなのか?

ポーリング型プリンターは、開いたポート、固定 IP、ファイアウォールの変更を必要としません — 常にアウトバウンドのリクエストを行うだけです。そのため、リモートサイトにあるプリンターや、管理していないルーターの背後にあるプリンターに最適です。トレードオフは短い遅延です。プリンターは次のポーリングが来たときにのみ印刷します。

プロバイダーの選択

ハードウェアに合ったプロバイダーを選択してください。

Star CloudPRNT

CloudPRNT ファームウェアを実行する Star サーマルプリンター向け。プリンターが WCPOS をポーリングしてジョブを取得します。レシートはプリンターのネイティブコマンドにレンダリングされます。サーマルテンプレートが必要です。

Star Online

stario.online アカウントに登録された Star プリンター向け。WCPOS は Star Document Markup を Star のホスト型サービスに送信し、プリンターは Star Online からそれを取得します。サーマルテンプレートが必要です。

Epson Server Direct Print

Server Direct Print に対応する Epson ePOS プリンター向け。プリンターが WCPOS をポーリングし、ePOS-Print XML としてジョブを取得します。サーマルテンプレートが必要です。

PrintNode

PrintNode デスクトップクライアントを介して、あらゆる OS で、コンピューターが印刷できる事実上すべてのプリンターで動作します。WCPOS は PDF を送信するため、フルページの HTML 請求書を含む任意のテンプレートを使用できます。

プロバイダーハードウェアジョブの流れテンプレート
Star CloudPRNTCloudPRNT ファームウェアを搭載した Star サーマルプリンタープリンターが WCPOS をポーリングサーマルのみ
Star Onlinestario.online に登録された Star プリンターWCPOS が Star Document Markup を Star Online に送信サーマルのみ
Epson Server Direct PrintServer Direct Print 対応の Epson ePOS プリンタープリンターが WCPOS をポーリングサーマルのみ
PrintNodeOS 接続された任意のプリンター + PrintNode クライアントWCPOS が PDF を PrintNode に送信任意のテンプレート

WCPOS Cloud Print — リレー

ポーリング型プリンター(Star CloudPRNT または Epson Server Direct Print)をセットアップすると、WCPOS が提示するポーリング URL は自分のサイトではなく cloudprint.wcpos.com を指します。これが WCPOS Cloud Print です。WCPOS が運営する無料のリレーで、プリンターと店舗の間に位置します。

存在する理由。 レシートプリンターは、小規模でめったに更新されないファームウェアで動作します。その多くは、最新のホスティング上の店舗との安全な接続を確立できません。新しいバージョンの TLS、新しい認証局、サイトの前段にある CDN やファイアウォール(Cloudflare がよくある原因です)がプリンターを拒否する、あるいはプリンター側が拒否するためです。症状としては、すべての設定が正しいにもかかわらず、プリンターがいつまでも Waiting のままになります。リレーは、古いファームウェアでも必ず確立できる接続をプリンターに提供し、その通信を店舗へ中継します。

仕組み:

  • Cloud Print の設定を初めて開いたときに、サイトは自動的にリレーへ接続します。有効化や設定は不要です。
  • プリンターは cloudprint.wcpos.com をポーリングし、リレーがそのリクエストを店舗へ転送して、店舗の応答を返します。印刷ジョブはリレーを通過するだけで、リレー上に保存されることはありません。
  • リレーはアイドル時のポーリングの大半を吸収するため、アイドル状態のプリンターがサイトにかける負荷は、数秒ごとに 1 リクエストではなく、おおよそ 1 分あたり 1 リクエストになります。
  • サイトがリレーに接続できない場合(たとえば、リレーから到達できないローカル開発サイトなど)、WCPOS は自動的にサイト直結の URL にフォールバックします。
直接接続をご希望ですか?

各プリンターのセットアップ画面には、サイト直結の URL を表示する Advanced の開閉セクションがあります。ホスティングがプリンターに対応していることが分かっている場合や、ジョブをリレー経由にしたくない場合に使用してください。開発者は、1 行でサイト全体のリレーを無効化できます。

add_filter( 'woocommerce_pos_cloud_print_relay_enabled', '__return_false' );

リレーから見えるもの。 接続すると、サイトの URL が wcpos.com と共有されます。また、印刷ジョブ(注文の詳細を含むレシートの内容)はプリンターへ届くまでの経路でリレーを通過します。データが保持されることはありません。詳細はプライバシーポリシーに記載されています。

クラウドプリンターのセットアップ

クラウドプリンターは WP Admin で一度設定すれば、すべてのデバイスで共有されます — デバイスごとに保存されるローカルプリンターとは異なります。

WP Admin > POS > Settings > Cloud Print に移動し、Add printer をクリックします。名前を付けます(例:「Kitchen」や「Back office」)。WCPOS はプリンターから安定したプリンター ID を自動的に生成します — これは決して変わらないため、プリンターのファームウェア構成から参照しても安全です。

プリンターが作成されたら、プロバイダー側を設定します。

Star または Epson(ポーリング型プリンター)

1

WCPOS にプリンターを追加

WP Admin > POS > Settings > Cloud Print で、プリンターを追加し、プロバイダーとして Star CloudPRNT または Epson Server Direct Print を選択します。WCPOS はそのプリンター用のポーリング URLワンタイムトークンを生成します。

2

ポーリング URL とトークンをコピー

生成されたポーリング URL とトークンをコピーします。この URL は通常 cloudprint.wcpos.com を指します。これが WCPOS Cloud Print リレーであり、通常はこれを使用します。サイト直結の URL は Advanced の開閉セクションにあります。トークンは一度しか表示されません — 紛失した場合は、プリンターカードから新しいものを再生成し、新しい値でプリンターを更新してください。

3

プリンターの構成に入力

プリンターの構成ページ — Star の場合は CloudPRNT 設定、Epson の場合は Server Direct Print 設定 — を開き、ポーリング URL とトークンを貼り付けます。プリンターが要求する場合はポーリング間隔を設定します(数秒が一般的です)。必要に応じて保存してプリンターを再起動します。

ポーリングサイクル内でプリンターがチェックインすると、WCPOS でのステータスが Waiting から Connected に変わります。

PrintNode

1

PrintNode デスクトップクライアントをインストール

ターゲットプリンターに既に印刷できるコンピューターに、PrintNode クライアントをインストールしてサインインします。ジョブを印刷するには、クライアントが起動してオンラインのままである必要があります。

2

PrintNode API キーを取得

PrintNode アカウントで API キーを作成します。これにより、WCPOS が PrintNode アカウントにジョブを送信できるようになります。

3

WCPOS に API キーを入力

WP Admin > POS > Settings > Cloud Print でプリンターを追加し、プロバイダーとして PrintNode を選択し、API キーを貼り付けます。WCPOS はこれを使用して、PrintNode アカウントに登録されているプリンターのリストを取得します。

4

プリンターを選択

PrintNode クライアントが報告するプリンターのリストからターゲットプリンターを選択し、保存します。WCPOS はこのプリンター向けのジョブを PrintNode に送信し、クライアントがそれらを印刷します。

Star Online

Star プリンターが既に stario.online アカウントに登録されていて、Star のホスト型サービスに配信を処理させたい場合は、Star Online を使用します。

1

CloudPRNT URL を取得

stario.online で Device Groups を開き、グループの CloudPRNT URL をコピーします。https://device.stario.online/cloudprnt/... または https://eu-device.stario.online/cloudprnt/... のような形式になっているはずです。

2

権限付きの API キーを作成

stario.online で、WCPOS 用の API キーを作成します。キーには、デバイスを一覧表示して印刷する権限が必要です。少なくとも、以下を有効にしてください:

  • EnumDevices — WCPOS がデバイスリストを取得する際に必要
  • ViewDevice — デバイスステータスチェックに使用
  • PrintToDevice — 印刷ジョブの送信に必要
  • ViewDeviceGroups — グループ検索と診断のために推奨

これらの権限が有効になっていない場合、API キーが存在していても失敗することがあります。

3

WCPOS に URL と API キーを入力

WP Admin > POS > Settings > Cloud Print でプリンターを追加し、プロバイダーとして Star Online を選択し、CloudPRNT URL と API キーを貼り付けます。Fetch my devices をクリックします。

4

Star デバイスを選択

デバイスリストからプリンターを選択して保存します。WCPOS は API キーをサーバー側に保存し、Star Online にジョブを送信する際に、選択したデバイスのアクセス識別子を使用します。

自動印刷ルール

自動印刷ルールは、何をどこに印刷するかを自動的に決定します — 平易な文章として記述されます。ルールは スコープ × プリンター × テンプレート で、たとえば次のようになります:

すべての注文KitchenKitchen Ticket を使って印刷する。

一致する注文が完了すると、WCPOS は選択したテンプレートをサーバー側でプリンターが必要とする形式にレンダリングしてキューに入れます — レジ担当者がすることは何もありません。

テンプレートの互換性が重要です

Star および Epson プリンターは、ジョブをプリンターのネイティブコマンド言語(Star の場合は Star Document Markup または ESC/POS、Epson の場合は ePOS-Print)にレンダリングする必要があるため、サーマルテンプレートのみを使用できます。PrintNode はジョブが PDF にレンダリングされるため、任意のテンプレート — サーマルまたはフルページ HTML — を使用できます。あるプリンターでテンプレートがオプションとして表示されない場合、それはプリンターがその形式をレンダリングできないためです。サーマルレイアウトの作成については、サーマルテンプレートを参照してください。

店舗別プリンター (Pro)

Pro 機能

店舗別の印刷ルーティングには、WCPOS Proマルチストアの設定が必要です。

デフォルトでは、自動印刷ルールはグローバルです — すべての店舗がそれらを共有します。Pro では、個々の店舗に独自のクラウド印刷ルールを設定し、その注文を独自のプリンターに印刷させることができます(ある店舗のキッチンチケットが別の店舗で印刷されるべきではありません)。

POS → Stores で店舗を編集し、その Cloud Printing セクションを開いて、Add rule をクリックします。各ルールは次のとおりです:

  • Printer ID — 送信先のクラウドプリンターの安定した ID
  • ScopePOS orders only(デフォルト)、Online orders only、または Every order
  • FormatStarPRNT(デフォルト)、ESC/POSEpson ePOS-Print、または HTML

注文が独自のルールを持つ店舗に属している場合、WCPOS はそれをその店舗のプリンターにルーティングします。店舗に独自のルールがない場合は、グローバルな自動印刷ルールにフォールバックします — そのため、異なる店舗だけを設定すればよいのです。

手動印刷

自動印刷ルールを待つ必要はありません。チェックアウト/レシート画面から、レジ担当者はオンデマンドでクラウドプリンターにレシートを送信できます — 再印刷や、一回限りのチケットを特定のプリンターにルーティングするのに便利です。

レシートの生成方法はプリンターによって異なります:

  • Star CloudPRNT — レシートはデバイス上でレンダリングされ、CloudPRNT を通じてプリンターに渡されます。
  • Star Online、Epson、PrintNode — レシートは選択された注文とテンプレートからサーバー上でレンダリングされ、その後プリンターまたはホスト型リレーに配信されます。

クラウドプリンター向けのすべてのジョブは、プリンターが取得するまで(ポーリング型プリンターの場合)、またはプロバイダーが配信を確認するまで、サイト上のキューに保持されます。WP Admin > POS > Settings > Cloud Print では、プリンターの下にキューが表示されます。

  • プリンター別、またはステータス別(WaitingPrintingPrintedFailedCancelled)に絞り込みでき、件数がリアルタイムで表示されます。
  • 各行には、レシートが待機している時間が表示され、印刷対象の WooCommerce 注文 へのリンクがあります。
  • 待機中のジョブは、1 件ずつ、まとめて、またはプリンター単位で キャンセル できます。再試行 は失敗したジョブをキューに戻します。

プリンターに待機中のジョブがあるにもかかわらず、数分以上何も取得していない場合は、警告バナーにそのプリンター名と、滞留しているレシートの件数および経過時間が表示され、すべてキャンセル が提示されます。プリンターが接続されていない間に、気づかないうちに滞留が積み上がることはありません。

テスト印刷と接続ステータス

各プリンターカードには Test print ボタンがあり、短い診断を送信します。これにより、実際の注文で使用する前に、プリンターに到達可能で形式が正しいことを確認できます。

カードにはライブステータスも表示されます:

プロバイダーステータス意味
Star CloudPRNT / EpsonWaitingプリンターがまだチェックインしていません — WCPOS は最初のポーリングを待っています。
Star CloudPRNT / EpsonConnectedプリンターが最近 WCPOS をポーリングし、ジョブを取得しています。
Star OnlineOnlineStar Online が、選択されたデバイスが利用可能であると報告しています。
Star OnlineOfflineStar Online が、選択されたデバイスが利用できないと報告しています。
Star OnlineUnknownWCPOS が Star Online からデバイスのステータスを確認できませんでした。
PrintNodeOnlinePrintNode サービスが、クライアントとプリンターが利用可能であると報告しています。
PrintNodeOfflinePrintNode が、クライアントまたはプリンターが利用できないと報告しています。

トラブルシューティング

プリンターが Waiting のまま動かない

Waiting から決して抜け出さないポーリング型プリンターは、WCPOS に正常に到達したことが一度もありません。以下を確認してください:

  • プリンターのファームウェア内のポーリング URL とトークンが、WCPOS が生成したものと正確に一致していること。1 文字でも間違っているとすべてのポーリングが拒否されます — 不明な場合は WCPOS でトークンを再生成して入力し直してください。
  • プリンターが実際にインターネット経由でサイトに到達できること(正しい DNS、アウトバウンド HTTPS をブロックするファイアウォールがない、ストアの SSL 証明書が有効)。
  • プリンターの CloudPRNT / Server Direct Print 構成でポーリングが有効になっており、妥当な間隔が設定されていること。設定を変更した後はプリンターを再起動してください。
  • サイト直結の URL(Advanced の開閉セクションのもの)を入力してもプリンターが接続できない場合は、標準の cloudprint.wcpos.com の URL に切り替えてください。多くのプリンターは最新のホスティングとの安全な接続を確立できず、リレーはまさにこれを解決するものです。
プリンターの URL が cloudprint.wcpos.com を指しているのはなぜですか?

これは WCPOS Cloud Print です。プリンターのファームウェアが必ず確立できる接続を提供し、印刷ジョブを店舗へ中継する無料のリレーです。自動的に有効になっており、ジョブがリレー上に保存されることはありません。希望する場合は、プリンターの Advanced の開閉セクションからいつでもサイト直結の URL を利用できます。

リレーが登場する前にプリンターをセットアップしました。何か変更が必要ですか?

いいえ。プリンターの構成にすでに保存されている URL は引き続き機能します。ただし、そのプリンターが Waiting のまま動かない 場合、そのファームウェアはホスティングに直接接続できないものである可能性が高いです。プリンターカードの Setup & token を開いてトークンを再生成し、新しい cloudprint.wcpos.com の URL とトークンをプリンターの構成に入力してください。

Star Online が API キーは権限がない、または禁止されていると表示する

Star Online は認証権限を分離しています:

  • 401 / 認証失敗 は、API キー自体が受け入れられなかったことを意味します。キーが正しくコピーされていること、取り消されていないこと、そして期待される Star Online アカウント/リージョンに属していることを確認してください。
  • 403 / 禁止 は、API キーは受け入れられたが、要求されたアクションに対して認可されていないことを意味します。stario.online でキーを編集し、必要な権限を有効にしてください。特に Fetch my devices には EnumDevices、印刷には PrintToDevice が必要です。

Fetch my devices が成功してもプリンターが表示されない場合は、stario.online の Device Groups ページを確認してください。グループには少なくとも 1 台の接続済みデバイスが含まれている必要があり、WCPOS の CloudPRNT URL は同じグループを指している必要があります。

PrintNode のジョブが印刷されない

ジョブは PrintNode に到達しましたが、プリンターから出力されませんでした。以下を確認してください:

  • プリンターに接続されたコンピューターで PrintNode デスクトップクライアントが起動してオンラインになっていること。コンピューターがスリープ状態であったり、クライアントが閉じられていたりすると、何も印刷されません。
  • WCPOS で正しいプリンターを選択していること — 名前はクライアントが報告するプリンターと一致する必要があります。
  • API キーが有効で、取り消されていないこと。PrintNode がプリンターを Offline と表示する場合は、入力し直してください。
Star または Epson プリンターでテンプレートが選択できない

Star および Epson のクラウドプリンターでは、レシートを ESC/POS または ePOS-Print コマンドにレンダリングする必要があるため、サーマルテンプレートのみが動作します。HTML やフルページのテンプレートはこれらの形式で表現できないため、これらのプリンターでは非表示になります。

サーマルテンプレートを選択するか、PrintNode プリンターを使用してください — PrintNode は PDF にレンダリングするため、任意のテンプレートを印刷できます。