コンテンツにスキップ

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

  • 配送オプションの制御
  • 例: 商品・地域に応じた配送方法の制限

開発・デプロイ手順

  1. Shopify CLI インストール
npm install -g @shopify/cli @shopify/theme
  1. Function 作成
shopify app generate extension
# "Cart Transform" や "Checkout Validation" を選択
  1. 開発
cd extensions/your-function
npm run dev
  1. デプロイ
shopify app deploy

注意事項

パフォーマンス

  • Function実行時間は5秒以内
  • メモリ使用量は256MB以内
  • 外部APIコールは不可(Admin APIのみ)

データアクセス

  • カート情報、商品情報、顧客情報にアクセス可能
  • メタフィールドを活用して柔軟な設定管理

エラーハンドリング

  • ユーザーフレンドリーなエラーメッセージ
  • ローカライズ対応(日本語メッセージ)

関連ドキュメント