Developer / App Events API

App Events API
アプリの「使われ方」を Dev Dashboard で見える化

アプリ内で起きた任意のイベントを 1 つのエンドポイントに送るだけで、Webhook / Function 実行 / API コールと並んで Dev Dashboard Logs に表示される。さらに任意で「使った分だけ課金」にも繋げられる。

このページの構成
  1. そもそも何が変わるのか(30秒で理解)
  2. 仕組み図解 : イベントが Dev Dashboard に届くまで
  3. 送れるイベントの 5 カテゴリと具体例
  4. 3 ステップで始める
  5. App Events → 使った分だけ課金(オプション)
  6. 技術者が押さえるべき 5 つのポイント
  7. 業務に活かせる 3 つのユースケース
  8. 提案で使える 1 行サマリ

1そもそも何が変わるのか

今までは Webhook / Function 実行 / API コールなど Shopify が提供する観測点しか Dev Dashboard に流れて来なかった。
App Events API は アプリ側で起きたこと(機能の利用、ワークフロー完了、性能、コンバージョン、課金対象アクション)を自分で送り込める。それを Shopify が課金まで繋いでくれる。

従来 : Shopify 視点だけ

Webhook、Function 実行、API コール — Shopify 側から見える「呼ばれた/届いた」しか可視化できなかった。

App Events : アプリ視点も統合

「機能 X がいつ使われた」「ワークフロー Y が完了した」など、アプリ内部の事実を 1 エンドポイントに送るだけで Dev Dashboard に並ぶ。

2仕組み図解 : イベントが Dev Dashboard に届くまで

あなたのアプリ bulk_edit_completed report_generated order_processed アプリ内で発生した事実 POST event_handle + attributes App Events API 単一エンドポイント で受け取る Shopify が中継 Dev Dashboard Logs ▣ Webhooks ▣ Function executions ▣ API calls ▣ App Events ★ … 監視 / デバッグ optional Shopify App Pricing meter ↔ event_handle で従量課金へ 計測 / 請求は Shopify
ペイロードの最小単位は event_handleattributes の 2 点。
「何が起きたか(ハンドル名)」と「どんな付帯情報か(属性)」を決めて送るだけで、Dev Dashboard 上の他の Shopify ログと混ぜて時系列に並ぶ。

3送れるイベントの 5 カテゴリと具体例

Feature usage
機能利用
bulk_edit_completed report_generated automation_created
Workflows
業務フロー
onboarding_completed campaign_sent export_finished
Performance
性能・障害
sync_failed api_timeout rate_limit_hit
Conversion
転換シグナル
limit_hit premium_viewed milestone_achieved
¥
Billable
課金対象アクション
order_processed email_sent label_printed
上記カテゴリは記事に明記された 例示。実際に送れるイベントは「アプリで起こる任意の事実」で、カテゴリに縛られない自由設計。

43 ステップで始める

1
handle

イベントを定義

追跡したい event_handleattributes を決める(例 : bulk_edit_completed)。

2

API エンドポイントに POST

単一エンドポイントに送信。Dev Dashboard Logs に自動で流れ込む。

3

Dev Dashboard で確認

Webhook / Function / API コールと並んで時系列ログとして閲覧。

イメージ : 送信ペイロードの構造(記事の説明から最小要素のみ抜粋)
// POST {App Events API endpoint}
{
  "event_handle": "bulk_edit_completed",
  "attributes": {
    // 追跡したい付帯情報を任意に詰める
  }
}
※ 具体的なエンドポイント URL / 認証方式 / レート上限などの仕様は本記事に 記載なし。実装前に「Learn more」リンク先のドキュメントを必ず確認。

5App Events → 使った分だけ課金(オプション)

Shopify App Pricing 上では、任意の App Event を従量課金(usage-based charge)に直結できる。
Partner Dashboard で「meter」を定義し、対応する event_handle に紐付けるだけ。計測も請求も Shopify が行う = 追加コード不要
App Event event_handle : "email_sent" match Partner Dashboard meter を定義 meter → event_handle 単価 / 上限 / 名称 Shopify が自動で… ① イベント発生数を計測 ② 請求書に反映 ③ マーチャントに課金 マーチャント 使った分だけ 支払う
App Events は あらゆる課金方式のアプリで今すぐ利用可能(available now for all apps, regardless of billing method)
「無料アプリだから関係ない」ではなく、計測・監視目的だけでも使える。

6技術者が押さえるべき 5 つのポイント

1 EP

1. 送信先は単一エンドポイント

イベント種別ごとに違う URL を用意するのではなく、1 つの API エンドポイントに event_handle で識別させる方式。送信ロジックの実装が薄くて済む。

2. Dev Dashboard Logs に 自動で合流

受信後の表示先は Webhook / Function 実行 / API コールと 同じ画面。観測点を統一できるため、障害時に「Shopify 側か?アプリ側か?」の切り分けが速い。

3. パフォーマンス計測の標準化

sync_failedapi_timeoutrate_limit_hit を送る運用にしておくと、自前で APM を組まなくても異常時の「いつ / 何が / どれくらい」が Dev Dashboard で追える。

meter

4. meter 紐付けで「計測 = 請求」

event_handle と meter を Partner Dashboard で紐付けると、同じ送信でログ+課金が同時に成立する。請求用に二重実装する必要が無い。

{ }

5. event_handle の命名設計がそのまま分析軸になる

後から meter 化 / レポート集計 / アラート条件にする時、ハンドル名がブレると分析が分断される。動詞_過去形(order_processedlabel_printed)など 命名規約を最初に固めること。なお、ハンドルごとの数量・上限・スキーマ仕様は本記事に 記載なし

7業務に活かせる 3 つのユースケース

USE CASE 1

受託で作ったカスタムアプリの「実利用ダッシュボード」を実装ゼロで提供

課題
マーチャント向けに自社開発したカスタムアプリの「どの機能が、いつ、どれだけ使われているか」を可視化したいが、ログ基盤を別途構築すると保守が増える。
打ち手
主要機能のトリガに App Events を仕込む(例 : report_generatedautomation_created)。Dev Dashboard Logs を「実利用モニタ」として運用する。
効果
独自の集計バックエンド・ストレージ無しで利用状況を可視化。マーチャントとの定例で根拠あるリプレイス提案ができる。
技術メモ
Webhook / Function 実行 / API コールと同画面で時系列に並ぶため、ユーザー操作からシステム動作までを 1 ビューで追跡可能。
障害件数 timeout sync rate
USE CASE 2

外部サービス連携アプリの「障害観測」を Dev Dashboard 一本化

課題
在庫同期・配送会社・基幹システム連携など外部 API を多数叩くアプリで、障害発生時にどこで詰まったかを切り分けるのに時間がかかる。
打ち手
sync_failedapi_timeoutrate_limit_hit を attributes 付きで送信。Dev Dashboard で Webhook 受信や Function 実行と突き合わせて時系列で追う。
効果
サポート問い合わせから原因特定までの時間短縮。SLA 違反の根拠ログにもなる。
技術メモ
イベント保管期間・検索性・アラート連携の仕様は記事に記載なし。深い障害分析が必要な場合は外部 APM 併用前提で設計するのが安全。
¥ per event
USE CASE 3

「定額」から「成果連動」へ : アプリの料金体系をデータ駆動に作り替える

課題
SaaS 型アプリを定額課金で出していたが、ヘビーユーザーと軽量ユーザーで実コストの差が大きく、収益性が安定しない。
打ち手
収益発生に直結するアクション(order_processedemail_sentlabel_printed)を App Events で送信。Partner Dashboard で meter を定義し event_handle に紐付け、Shopify App Pricing の従量課金として課金。
効果
計測 / 請求 / 督促を Shopify が肩代わりするため、課金ロジックの自前実装と運用コストが消える。料金プラン変更の A/B もしやすくなる。
技術メモ
すべての課金方式のアプリで利用可能(regardless of billing method)と明記あり。既存定額アプリへ後付け追加する移行設計が現実的。

8提案で使える 1 行サマリ

「アプリ内の任意イベントを 1 エンドポイントに送るだけで、Dev Dashboard で Webhook / Function / API コールと並んで観測でき、
そのまま meter に紐付ければ Shopify が計測・請求まで自動で代行する。
全アプリ・全課金方式で今すぐ利用可能。」