Commerce Shipping

Drupal Commerceの配送コア機能を提供し、出荷管理、配送料金計算、配送方法の設定が可能です。

commerce_shipping
16,267 sites
59
drupal.org

インストール

Drupal 11, 10, 9 v8.x-2.15
composer require 'drupal/commerce_shipping:8.x-2.15'

概要

Commerce ShippingはDrupal Commerce公式の配送モジュールで、ECストア向けの包括的な配送機能を提供します。ストアオーナーは配送方法の定義、配送料金の計算、注文フルフィルメントプロセス全体を通じた出荷管理が可能です。

このモジュールは4つの主要なエンティティタイプを導入します:Shipment(出荷商品とそのステータスを追跡するコンテンツエンティティ)、Shipping Method(配送料金の計算方法を定義するコンテンツエンティティ)、Shipment Type(出荷のバンドル設定)、Package Type(箱の寸法と重量を定義する設定エンティティ)。

Commerce Shippingは、配送先住所の収集と利用可能な配送料金の表示を行う専用のチェックアウトペインを通じて、Commerceチェックアウトフローとシームレスに統合されます。1つの注文に対して複数の出荷をサポートし、商品を異なる梱包に分割したり、異なる住所に配送したりできます。

このモジュールは配送方法のプラガブルなアーキテクチャを提供し、UPS、FedEx、USPSなどの配送業者とのサードパーティ統合が可能です。組み込みの配送方法には、シンプルな配送コスト計算のためのFlat Rate(定額)とFlat Rate Per Item(商品ごとの定額)が含まれます。

Features

  • ワークフロー状態(Draft、Ready、Shipped、Canceled)を持つ出荷エンティティ管理
  • 条件ベースの適用性を持つ複数の配送方法
  • 定額および商品ごとの定額配送方法プラグインを同梱
  • 箱の寸法と重量を定義するためのパッケージタイプ設定
  • 配送先住所の収集と料金選択のためのチェックアウトペイン
  • 住所変更時の自動配送料金計算および再計算
  • 追跡情報付きの出荷確認メール
  • 配送割引のためのCommerce Promotionsとの統合(固定額割引、パーセント割引)
  • 複数の戦略を持つ配送税計算のためのCommerce Taxとの統合
  • 1注文あたり複数出荷のサポート
  • 配送可能な商品のための商品バリエーショントレイト(重量と寸法)
  • 注文商品を出荷に整理するためのPackerシステム
  • カスタマイズのための完全なライフサイクルイベントシステム
  • 出荷管理のためのViews統合
  • 機密性の高い出荷データに対するJSON APIフィールドアクセス保護

Use Cases

シンプルなFlat Rate配送

すべての注文に対して単一の定額配送方法を設定します。「Flat rate」プラグインで配送方法を作成し、固定料金額(例:500円)を設定し、ストアで有効にします。すべての配送可能な注文がチェックアウト時にこの料金を表示します。

一定金額以上で送料無料

一定金額以上の注文に対して送料無料を提供します。2つの配送方法を作成します:1つは定額で閾値以下の注文に制限する条件付き、もう1つは0円金額で閾値以上の注文に対する条件付き。

重量ベースの配送料金階層

出荷重量に基づいて異なる料金を課金します。範囲演算子を使用したshipment_weight条件で複数の配送方法を作成します。例:0-1kgは500円、1-5kgは1000円、5-10kgは2000円。

地域別配送料金

地理的地域によって異なる料金を課金します。アドレスゾーンを使用したshipment_address条件で配送方法を作成します。国内、地域、国際配送用のゾーンを適切な料金で設定します。

重い商品の商品ごとの配送

組み合わせができない商品に対して商品ごとに配送料を課金します。「Flat rate per item」配送方法プラグインを使用します。総数量で乗算される単価料金を設定します。

分割注文の複数出荷

異なる住所への複数出荷や異なるフルフィルメントソースが必要な注文を処理します。Packerシステムが設定に基づいて自動的に別々の出荷を作成し、チェックアウトは各出荷の料金選択を表示します。

配送税計算

配送先に基づいて配送コストに税金を適用します。「Shipping」税タイプを作成し戦略を選択します:「proportional」は各商品の税率を配送に比例的に適用、「highest」は注文内で見つかった最高税率を使用します。

配送プロモーション

送料無料コードや割引配送などの配送プロモーションを実施します。「出荷金額の固定額割引」または「出荷金額のパーセント割引」オファーでプロモーションを作成します。オプションで特定の配送方法に制限可能。

出荷追跡統合

顧客に追跡情報を提供します。出荷を発送する際に追跡コードを入力します。配送方法プラグインが追跡URL(UPS/FedExモジュールなどの配送業者統合で一般的)をサポートしている場合、顧客にはクリック可能な追跡リンクが表示されます。

カスタムパッキングロジック

商品を出荷に整理するためのカスタムロジックを実装します。PackerInterfaceを実装するカスタムPackerサービスを作成し、「commerce_shipping.packer」タグを付けて優先度を設定します。Packerはベンダー、重量制限、その他の基準で商品をグループ化できます。

Tips

  • 商品を追加する前に商品バリエーションタイプで「Shippable」トレイトを有効にしてください。既存のバリエーションは自動的に重量値を取得しません。
  • 多くの個別条件を作成する代わりに、地理的ベースの料金バリエーションには配送方法条件でアドレスゾーンを使用してください。
  • チェックアウトペインの自動再計算機能は最良のユーザー体験を提供しますが、サーバー負荷が増加します。必要に応じて高トラフィックサイトでは無効にしてください。
  • 異なる箱サイズがある場合は複数のパッケージタイプを設定してください。複数のオプションが存在する場合、出荷フォームにパッケージタイプセレクターが表示されます。
  • 出荷確認BCCは、カスタムコードを必要とせずにフルフィルメントチームへの通知に便利です。
  • 「proportional」税戦略は混合税率の注文に最も正確ですが、Commerce Taxの設定が必要です。
  • カスタム配送方法プラグインは配送業者追跡リンクを提供するためにgetTrackingUrl()を実装できます。
  • 手数料の追加や動的割引の適用など、計算された料金を変更するにはSHIPPING_RATESイベントを使用してください。

Technical Details

Admin Pages 9
Shipping /admin/commerce/config/shipping

配送方法、出荷タイプ、パッケージタイプを含むすべての配送関連設定へのアクセスを提供するメイン配送設定ランディングページ。

配送方法 /admin/commerce/shipping-methods

すべての配送方法を一覧表示し管理します。配送方法は配送料金の計算方法と適用するストアを定義します。メソッドには、注文や出荷のプロパティに基づいて利用可能性を制御する条件を設定できます。

配送方法を追加 /admin/commerce/shipping-methods/add

プラグイン選択、ストア割り当て、条件設定を含む新しい配送方法を作成するフォーム。

出荷タイプ /admin/commerce/config/shipment-types

出荷タイプバンドルを管理します。各出荷タイプは異なるプロファイルタイプとメール確認設定を持つことができます。

出荷タイプを追加 /admin/commerce/config/shipment-types/add

プロファイルタイプ選択と確認メール設定を含む新しい出荷タイプを作成するフォーム。

パッケージタイプ /admin/commerce/config/package-types

特定の寸法と重量を持つ再利用可能なパッケージ/箱タイプを定義します。パッケージタイプは出荷作成時に総出荷重量を計算するために使用されます。

パッケージタイプを追加 /admin/commerce/config/package-types/add

寸法と空箱重量を含む新しいパッケージタイプを定義するフォーム。

出荷 /admin/commerce/orders/{commerce_order}/shipments

特定の注文の出荷を表示および管理します。すべての出荷とその商品、ステータスを表示し、状態遷移を許可します。

出荷を追加 /admin/commerce/orders/{commerce_order}/shipments/add/{commerce_shipment_type}

商品、パッケージタイプ、配送方法の選択、追跡情報の入力を含む注文内の新しい出荷を作成するフォーム。

権限 4
配送方法を管理

配送方法の作成、編集、削除。制限付きアクセス権限。

出荷を管理

出荷の作成、編集、削除および出荷状態遷移の管理。制限付きアクセス権限。

出荷タイプを管理

出荷タイプバンドルの作成、編集、削除。制限付きアクセス権限。

パッケージタイプを管理

パッケージタイプの作成、編集、削除。制限付きアクセス権限。

Hooks 2
hook_commerce_shipping_methods_alter

料金計算用にロードされた配送方法を変更

commerce_shipping.filter_shipping_methods event

配送方法をフィルタリングするためのhookに代わるイベントベースの代替手段

Troubleshooting 6
チェックアウトで配送オプションが表示されない

確認事項:1) 注文タイプで配送が有効になっており出荷タイプが選択されている、2) 商品バリエーションで「Shippable」トレイトが有効になっており重量値が設定されている、3) 少なくとも1つの配送方法が存在し有効になっている、4) チェックアウトフローに「Shipping information」ペインが含まれている、5) 配送方法の条件(ある場合)が注文に一致している。

住所変更時に配送料金が再計算されない

Shipping informationチェックアウトペイン設定で「配送先住所が変更された時に配送料金を自動再計算する」を有効にしてください。また、これが機能するためには「住所が入力されるまで配送料金を非表示にする」が有効になっている必要があります。

出荷確認メールが送信されない

出荷タイプを編集し、「発送時に顧客にメール確認を送信」を有効にしてください。メールは出荷がship遷移を介して「Shipped」状態に遷移した時に送信されます。

出荷タイプを削除できない

そのタイプの出荷が存在する間は出荷タイプを削除できません。まず関連するすべての出荷を削除するか、別の出荷タイプに再割り当てしてください。

配送方法の条件が機能しない

条件演算子設定(ANDまたはOR)を確認してください。ANDの場合、すべての条件をパスする必要があります。条件設定の値が実際の注文/出荷データと一致していることを確認してください。デバッグを使用して条件評価を検査してください。

パッケージ重量が正しくないように見える

出荷重量には商品重量とパッケージタイプの空箱重量の両方が含まれます。商品バリエーションの重量が正しく設定されていること、選択したパッケージタイプに正しい空箱重量があることを確認してください。

Security Notes 4
  • すべての配送管理権限は「restrict access」としてマークされており、信頼できるロールにのみ付与してください。
  • commerce_shipping.field_accessサービスは、JSON API経由の不正アクセスから機密性の高い出荷フィールド(amount、adjustments、shipping_method)を保護します。
  • 配送プロファイルデータには顧客の住所が含まれています。出荷エンティティとプロファイルエンティティに適切なアクセス制御を確保してください。
  • 出荷確認メールは、機密性の高い注文データが不適切に露出していないことを確認するためにレビューしてください。