POS UI Extensions - Cart API:`subscribable`フックから顧客フィールドが削除されました
1. 技術的課題の定義と現状分析
ShopifyのPOS UI Extensions Cart APIのアップデートにより、`subscribable`フックからemail、firstName、lastName、noteの顧客フィールドが削除されました。これにより、POSバージョン10.0.0以上やAPIバージョン2025-01以上を対象とする拡張機能では、これらのフィールドにアクセスすることができなくなります。
2. 具体的な技術的ソリューションの提案
このデータを取得するには、GraphQLのAdmin APIを使用してcustomerIdから顧客レコードを取得するようにコードを更新する必要があります。これを実現するためには、拡張機能がread_customers permissionアクセススコープを持つことが必要です。
3. 実装手順とコード例
以下のようにGraphQLのAdmin APIを使って顧客データを取得することが可能です。
query {
customer(id: "customerId") {
email
firstName
lastName
note
}
}
4. パフォーマンス・コスト分析
この変更により、APIコールの数が増える可能性がありますが、顧客情報の取得がより安全かつ確実に行えるようになります。コスト面では、APIコールの増加により微増する可能性がありますが、顧客情報のセキュリティと信頼性を維持する上での必要な投資と考えることができます。
5. 実装時の注意点・ベストプラクティス
新しいAPIの使用に際しては、read_customers permissionアクセススコープを忘れずに設定することが重要です。また、新旧APIの切り替え時には、既存の機能に影響を与えないように注意しながら進めていくことが推奨されます。
6. 次のステップ・発展案
ShopifyのAPIは常にアップデートされていますので、最新の変更については定期的にドキュメンテーションを確認することをお勧めします。特に、バージョン10.0.0以降のPOSやAPIバージョン2025-01以降を対象とする拡張機能を使用している場合は、この変更を早急に対応することが求められます。
参考記事: POS UI Extensions - Cart API: Customer fields removed from `subscribable` hook






Share:
`UnitPriceMeasurementMeasuredUnit`列挙型が今やインペリアル単位とカウントを含むようになりました
`ShopPlan`に`publicDisplayName`フィールドを追加する