POS EXTENSION

POS拡張機能が
バックグラウンド処理に対応

UIを持たないセッション常駐型の新ターゲットで、POSイベントをリアルタイム監視

POS Sessiontransactioncompletecashtrackingsessionstart現金管理セッション開始cashtrackingsessioncompletepos.app.ready.dataBackground Extension TargetaddEventListener()UIなし・セッション全体で常駐イベント監視 / データ保存非UIバックグラウンドAPI呼び出しYour App Logic外部APIへのデータ送信ローカルデータ保存売上・現金管理の自動集計バックエンド同期処理POSセッション中、拡張機能がバックグラウンドで常駐しイベントを受信する

2026年7月9日より、Shopify POSの拡張機能に新しいターゲット pos.app.ready.data が追加されました。このターゲットはPOSセッション全体を通じて常駐し、UIを一切描画せずにPOSイベントの監視・バックグラウンドロジックの実行・非UIバックグラウンドAPIの呼び出しが可能です。POSアプリ開発者が即座に活用できる新機能です。

OVERVIEW

01新ターゲットの仕組みと対応イベント

従来のPOS拡張機能はUI描画が前提でしたが、pos.app.ready.data ターゲットはUI表面を持たず、POSセッションが開始してから終了するまでバックグラウンドで常駐します。イベントの購読は shopify.addEventListener() を使用します。

BEFORE — UIターゲットのみpos.ui.xxx ターゲットUI描画が必須 / ユーザー操作に依存バックグラウンド処理は不可イベント監視のみのターゲットが存在しなかった課題: 売上完了などのサイレント検知が困難UIを開かないと処理が走らないAFTER — バックグラウンドターゲット追加pos.app.ready.data ターゲットUIなし / セッション全体で常駐shopify.addEventListener() で購読transactioncompletecashtrackingsessionstart / complete解決: 売上・現金管理イベントを自動サイレント検知して処理可能ユーザー操作不要でバックグラウンド処理が動くUSE CASES

02業務に活かせる具体ユースケース

課題
会計が完了するたびに手動で外部システムへ売上データを転送しており、スタッフの工数と転記ミスが課題だった
打ち手
transactioncomplete イベントを購読し、完了と同時に自動で外部ERPやPOSレポートAPIへデータを送信する
効果
スタッフ操作ゼロで売上データが即時連携。転記ミスの撲滅と処理速度の向上が見込める
技術メモ
shopify.addEventListener('transactioncomplete', callback)pos.app.ready.data ターゲット内に実装。UIは不要なためポップアップ表示なしで動作する
課題
現金管理セッションの開始・終了を自動で記録したいが、POS側から通知を受け取る手段がなかった
打ち手
cashtrackingsessionstartcashtrackingsessioncomplete の両イベントを購読し、タイムスタンプとセッション情報を自動記録する
効果
現金管理の開始・終了を自動ログ化することで、内部監査や不正検知の精度を高められる
技術メモ
2つのイベントを同一の pos.app.ready.data ターゲット内で両方購読可能。イベントオブジェクト (event) の中身は公式ドキュメントを参照のこと
課題
POSセッション中に発生した操作データをローカルに蓄積し、セッション終了時にまとめてサーバーへ送りたいが、UIを持つターゲットでは実装が複雑だった
打ち手
バックグラウンドターゲット内でイベントが発火するたびにデータストレージAPIへ書き込み、セッション終了時にバッチ送信するロジックを組む
効果
UIレンダリングのオーバーヘッドなしにデータ蓄積が可能となり、POS端末のパフォーマンスへの影響を最小化できる
技術メモ
公式ドキュメントでは「データ保存」と「非UIバックグラウンドAPIの呼び出し」が用途として明示されている。詳細はapp background target documentationを参照
FOR DEVELOPERS

03技術者目線のポイント

🎯 ターゲット名

pos.app.ready.data
POSセッション開始から終了まで常駐する。UIサーフェスを持たない点が既存ターゲットと最大の違い

📡 購読メソッド

shopify.addEventListener(eventName, callback)
コールバックの引数 event にイベント詳細が渡される。具体的なプロパティ構造は公式ドキュメント参照

📋 対応イベント (3種)

transactioncomplete cashtrackingsessionstart cashtrackingsessioncomplete
現時点でサポートされているイベントはこの3種のみ。元記事に他のイベントの記載はない

🚫 できないこと

UIの描画・レンダリングはこのターゲットでは行えない。画面表示が必要な処理には引き続き既存のUIターゲットを使用すること

📦 用途として明示されているもの

① イベント監視 ② データ保存 ③ 非UIバックグラウンドAPIの呼び出し
元記事にこの3つが明示されている

📖 公式ドキュメント

詳細・ベストプラクティスは app background target documentation を参照。元記事からリンクされているが、具体URLは元記事を直接確認すること

「pos.app.ready.data」バックグラウンドターゲットの活用で、POSセッション中の売上完了・現金管理イベントをUI表示ゼロで自動検知し、外部システム連携や監査ログ収集を完全自動化できます。

Source: https://shopify.dev/changelog/pos-extensions-now-supports-a-background-extension-target | 公開日: 2026年7月9日