Shopify Functions 実装例集¶
このディレクトリには、リツビB2B ECサイトの主要な複雑要件をShopify Functionsで実装する例を収録しています。
収録内容¶
1. 直送手数料計算 (direct-shipping-fee)¶
- 機能: ユーザー直送モード選択時に商品合計の10%を手数料として追加
- Function Type: Cart Transform
- 実装ポイント: カート属性を読み取り、動的に手数料商品を追加/更新
2. 購入単位制御 (purchase-unit-validation)¶
- 機能: 商品ごとに設定された購入単位(12個単位など)を検証
- Function Type: Checkout Validation
- 実装ポイント: メタフィールドから購入単位を取得し、数量を検証
3. キャンペーンタイプ3 (campaign-type3-gift)¶
- 機能: 対象商品を指定数量以上購入でギフト商品を無料で追加
- Function Type: Cart Transform
- 実装ポイント: 複数商品の合計数量を計算し、条件に応じてギフトを付与
4. 月次割戻金計算 (monthly-rebate-lambda)¶
- 機能: 前月のエクスビアンス商品購入額に基づいて割戻金を計算
- 実装方法: Shopify Flow + AWS Lambda
- 実装ポイント: GraphQL APIで注文データを取得し、段階的レートで計算
Shopify Functions の種類と用途¶
Cart Transform¶
- カート内容の動的な変更(商品追加、価格調整、バンドル作成)
- 例: 直送手数料、キャンペーンギフト
Checkout Validation¶
- チェックアウト時の検証(購入制限、条件チェック)
- 例: 購入単位制御、在庫確認
Payment Customization¶
- 決済方法の表示/非表示制御
- 例: 顧客ステータスに応じた決済方法制限
Delivery Customization¶
- 配送オプションの制御
- 例: 商品・地域に応じた配送方法の制限
開発・デプロイ手順¶
- Shopify CLI インストール
npm install -g @shopify/cli @shopify/theme
- Function 作成
shopify app generate extension
# "Cart Transform" や "Checkout Validation" を選択
- 開発
cd extensions/your-function
npm run dev
- デプロイ
shopify app deploy
注意事項¶
パフォーマンス¶
- Function実行時間は5秒以内
- メモリ使用量は256MB以内
- 外部APIコールは不可(Admin APIのみ)
データアクセス¶
- カート情報、商品情報、顧客情報にアクセス可能
- メタフィールドを活用して柔軟な設定管理
エラーハンドリング¶
- ユーザーフレンドリーなエラーメッセージ
- ローカライズ対応(日本語メッセージ)