新規顧客webhookの追加と既存顧客webhookペイロードの変更

Shopify開発者の皆様、2025年1月のAPI更新についてご案内いたします。この更新では、webhookで顧客が表現される方法に大きな変更が加えられました。具体的には、新規にcustomers/purchasing_summary webhookが追加され、顧客ペイロードを含むwebhookについても複数の変更が行われました。

技術的課題の定義と現状分析

これまでのShopify APIでは、webhookの顧客ペイロードにtagsemail_marketing_consentsms_marketing_consentなどのフィールドが含まれていました。しかし、これらの情報が顧客の購買履歴やマーケティング同意状況など、より詳細な情報と一緒に取得できないという課題がありました。

具体的な技術的ソリューションの提案

2025年1月以降、以下の変更が適用されます:

  • tagsは、customer.tags_addedおよびcustomer.tags_removed webhooksに置き換えられます。
  • email_marketing_consentは、customers/email_marketing_consent_updateに置き換えられます。
  • sms_marketing_consentは、customers/marketing_consent_updateに置き換えられます。
  • last_order_idlast_order_nametotal_spent、およびorders_countフィールドは削除され、新規customers/purchasing_summary webhookで利用可能になります。last_order_nameは廃止されます。

実装手順とコード例

ここでは、新規に追加されたcustomers/purchasing_summary webhookの設定方法をご紹介します。Shopify管理画面の「設定」>「通知」>「Webhook」から新規Webhookを作成し、トピックにcustomers/purchasing_summaryを選択します。その後、WebhookのURLを指定し、保存ボタンをクリックしてください。

# Webhook設定例
{
  "webhook": {
    "topic": "customers/purchasing_summary",
    "address": "https://your-webhook-url.com",
    "format": "json"
  }
}

パフォーマンス・コスト分析

これらの変更により、必要な情報をより正確に、より効率的に取得することが可能になります。これにより、システムのパフォーマンス向上やコスト削減に寄与します。

実装時の注意点・ベストプラクティス

新規webhookの追加や既存webhookの変更に伴い、システムのコードを更新する必要があります。また、古いフィールドが廃止されるため、それらを使用しているコードがある場合は、新しいフィールドに置き換える必要があります。変更をスムーズに行うために、早めにコードの更新を行い、テストを実施することをお勧めします。

次のステップ・発展案

以上の変更は、webhookを使用してShopifyストアの顧客情報をより効率的に管理するための一歩です。今後もShopify APIの更新に注目し、最新の機能を活用してビジネスを発展させていくことをお勧めします。

参考記事: New customer's webhook and changes to existing customer's webhooks payload