POS UI ExtensionsでレシートプリンターへのダイレクトAPI印刷が可能に
2026-07より Printing API (shopify.printing) が登場。ダイアログ不要でハードウェアレシートプリンターへ直接印刷。
01この変更が何をもたらすか
POS UI Extensions APIバージョン 2026-07 から、shopify.printing という新しい Printing API が利用できます。接続中のハードウェアレシートプリンターを検出し、システム印刷ダイアログを経由せずにドキュメントを直接送信できるようになります。従来の shopify.print は非推奨となりますが、即座の移行は不要で、2026-07 を採用するタイミングで計画的に移行が推奨されます。
02Before / After:印刷フローの変化
USE CASES03業務に活かせる具体ユースケース
- 課題
- レジ担当者が注文確定のたびに印刷ダイアログを手動で操作しており、ピーク時のオペレーションが滞る。
- 打ち手
-
getPrinters()でレジ台の専用プリンターを特定し、注文確定イベントに合わせてprint('/print/receipt', {printer})を自動実行するPOS UIエクステンションを構築。 - 効果
- スタッフ操作を1ステップ削減。ピーク時のレジ通過速度が向上し、顧客待ち時間を短縮できる。
- 技術メモ
- POS 11.11.0以降が必要。
getPrinters()が空配列を返す場合は自動的にシステムダイアログへフォールバックする分岐を必ず実装すること。
- 課題
- 複数のプリンター(フロントレジ用・バックヤード用など)が接続された店舗で、印刷先を状況によって使い分けたい。
- 打ち手
-
getPrinters()の戻り値に含まれるidとnameを参照し、UIに選択肢を提示。スタッフが適切なプリンターを選んでprint()に渡せる仕組みをエクステンション上に構築する。 - 効果
- 用途別プリンターへの振り分けが1タップで完結。紙の無駄打ちや誤出力を防止できる。
- 技術メモ
- 各
printerオブジェクトにはid/name/connectedステータスが含まれる。connected: falseのプリンターを渡した場合の挙動は公式ドキュメントで確認すること。
- 課題
- 領収書をPDF形式で発行したいが、ダイアログなしでの直接印刷に対応できるか確認したい。
- 打ち手
- PDF出力が必要な場面では
options.printerを渡さず、システム印刷ダイアログを意図的に呼び出す実装とする。HTML・画像ベースのレシートテンプレートへの切り替えも検討する。 - 効果
- PDF対応のシステムダイアログと、HTML/画像対応の直接印刷を場面に応じて適切に使い分けられる。PDFに
printerを渡すとAPIがエラーをスローする仕様を事前に理解しておくことで予期せぬ障害を防げる。 - 技術メモ
- 公式仕様より:
srcがPDFを指す場合にoptions.printerを渡すとshopify.printing.printがエラーをスロー。PDFには必ずoptions.printerを省略すること。
04技術者が押さえるべき5つのポイント
Printing APIは POS UI Extensions 2026-07 で導入。それ以前のAPIバージョンには影響なし。旧 shopify.print は非推奨となるが即時廃止ではなく、2026-07採用時に移行を計画すればよい。
ハードウェアプリンター検出には Shopify POS 11.11.0以降が必要。旧バージョンでは getPrinters() が常に空配列を返す。システム印刷ダイアログは引き続き利用可能なため、空配列時のフォールバック実装が必須。
print() に渡す src は、アプリの application_url に付加する相対パス、または 同一オリジンのフルURL のみ受け付ける。ドキュメントはエクステンションのセッショントークンを使ってフェッチされる。
レシートプリンターは HTMLと画像を直接レンダリング可能。PDFはシステム印刷ダイアログが必須で、PDFに対して printer を渡すとAPIがエラーをスロー。用途に合わせてフォーマットを選択すること。
直接印刷の確認は 開発ストア + POS 11.11.0以降 + ペアリング済みレシートプリンター の環境で実施。getPrinters() で取得したプリンターを print()` に渡し、ダイアログなしで印刷ジョブが出力されれば正常。
Printing APIは 全POS UIエクステンションターゲット で利用可能(元記事記載)。特定のターゲットに限定されないため、既存エクステンションへの統合も容易。
「POS UI Extensions 2026-07のPrinting APIを活用することで、レシートプリンターへのダイアログレス直接印刷が実現し、現場スタッフの操作ステップを削減して店頭オペレーションを大幅に効率化できます。」
Source: https://shopify.dev/changelog/pos-ui-extensions-can-now-print-directly-to-hardware-receipt-printers | 公開日: 2026年7月27日






Share:
Analyticsにバブル・サンバーストチャート追加
メタフィールドフィルター不正クエリがエラー返却に