アプリ内で起きた任意のイベントを 1 つのエンドポイントに送るだけで、Webhook / Function 実行 / API コールと並んで Dev Dashboard Logs に表示される。さらに任意で「使った分だけ課金」にも繋げられる。
Webhook、Function 実行、API コール — Shopify 側から見える「呼ばれた/届いた」しか可視化できなかった。
「機能 X がいつ使われた」「ワークフロー Y が完了した」など、アプリ内部の事実を 1 エンドポイントに送るだけで Dev Dashboard に並ぶ。
追跡したい event_handle と attributes を決める(例 : bulk_edit_completed)。
単一エンドポイントに送信。Dev Dashboard Logs に自動で流れ込む。
Webhook / Function / API コールと並んで時系列ログとして閲覧。
// POST {App Events API endpoint} { "event_handle": "bulk_edit_completed", "attributes": { // 追跡したい付帯情報を任意に詰める } }
イベント種別ごとに違う URL を用意するのではなく、1 つの API エンドポイントに event_handle で識別させる方式。送信ロジックの実装が薄くて済む。
受信後の表示先は Webhook / Function 実行 / API コールと 同じ画面。観測点を統一できるため、障害時に「Shopify 側か?アプリ側か?」の切り分けが速い。
sync_failedapi_timeoutrate_limit_hit を送る運用にしておくと、自前で APM を組まなくても異常時の「いつ / 何が / どれくらい」が Dev Dashboard で追える。
event_handle と meter を Partner Dashboard で紐付けると、同じ送信でログ+課金が同時に成立する。請求用に二重実装する必要が無い。
後から meter 化 / レポート集計 / アラート条件にする時、ハンドル名がブレると分析が分断される。動詞_過去形(order_processedlabel_printed)など 命名規約を最初に固めること。なお、ハンドルごとの数量・上限・スキーマ仕様は本記事に 記載なし。