VibeFox FedEx for PrestaShop — ヘルプ
要件
PrestaShop: 8.0 から 9.x。
PHP: cURL 拡張機能を備えた 8.0 以降。これらがない場合、モジュールはインストールされません。
FedEx アカウントと API キー(リアルタイムの送料を使う場合のみ): FedEx Developer Portal(developer.fedex.com)で Rate API を有効にしたプロジェクトを作成し、FedEx の配送アカウントを連携させて、API Key と Secret Key をコピーします。9 桁の FedEx アカウント番号も必要です。テスト用のキーは Sandbox をオンにした場合のみ、本番用のキーはオフにした場合のみ使用できます。本モジュールは OAuth 2.0 を使用した FedEx REST API を利用するため、meter number や Web Services のパスワードは不要です。固定料金だけを使う場合は、FedEx のキーは必要ありません。
VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで使用できます。
インストール
1. 管理画面で Modules > Module Manager を開き、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。
2. アップロードが完了したら Configure をクリックします。後からモジュール一覧で VibeFox FedEx を探して Configure をクリックすることもできます。
3. Configure ページ上部のライセンスブロックにある License key 欄に VibeFox ライセンスキーを入力し、Activate をクリックします(ライセンスキーを参照)。
4. API Key、Secret Key、9 桁の FedEx アカウント番号、Ship from の住所(郵便番号と、米国およびカナダの場合は 2 文字の州コード)を入力します。本番用のキーを使う場合は Sandbox をオフにします。必要に応じて、代替として固定料金を入力します。Save をクリックします。
インストール時に、モジュールは配送日数のテキストを FedEx delivery とした FedEx 配送業者を作成します。配送業者はすべてのゾーンとすべての顧客グループに割り当てられます。ゾーン、顧客グループ、配送日数のテキスト、ロゴ、サイズ制限は Shipping > Carriers で変更できます。料金はそこで設定しないでください。料金は常にモジュールから取得されます。
設定
すべての設定はモジュールのページにあります: Modules > Module Manager > VibeFox FedEx > Configure。設定は配送業者のすべてのゾーンに適用されます。各セクションには独自の Save ボタンがあり、ページ全体が保存されます。保存するたびに、キャッシュされた FedEx のトークンと料金もクリアされます。
ページの上部には、次のような警告が表示されます。3 つの API 認証情報のうち一部しか入力されていない場合、API キーも固定料金もない場合(その場合は配送業者が表示されません)、発送元の郵便番号がない場合、米国またはカナダの発送元の州がない場合、ショップの通貨が為替レートなしで FedEx アカウントの通貨と異なる場合、ショップの重量単位(ボックスサイズがあればサイズの単位)をモジュールが認識しない場合、または配送業者が削除されている場合です。数値フィールドは小数点とカンマのどちらも受け付けます。無効な数値やボックスサイズ、為替レートの 0、3 文字のコードではないアカウント通貨、64 文字を超える名前は保存されず、エラーとして表示されます。そのフィールドは以前の値を保持し、ほかのフィールドは保存されます。最小重量が最大重量を超えている場合も表示され、両方の重量は以前の値を保持します。
一般
Enable/Disable: FedEx による配送をオンまたはオフにします。これは Shipping > Carriers の配送業者のステータスと同じスイッチです。
Name: チェックアウト時に購入者に表示される配送方法の名前(配送業者名)。既定値: FedEx。必須です。
Tax status: 配送業者の税ルール、または No tax。税ルールがある場合(かつショップで税が有効な場合)、PrestaShop は配送料に税を加算するため、税を含まない FedEx の料金が使われます。No tax の場合は、FedEx の税抜き料金がそのまま使われます。
FedEx API(リアルタイムの送料)
API キーがない場合は、下記の固定料金が使われます。このセクションには Clear cached FedEx token and rates ボタンがあります。
Sandbox: テスト用のキーで FedEx サンドボックス(apis-sandbox.fedex.com)を使用します。実際の送料(apis.fedex.com)を取得するには、本番用のキーを使い、この設定をオフにします。既定値: オン。
API Key: FedEx Developer Portal のプロジェクトの API Key(client_id)。
Secret Key: 同じプロジェクトの Secret Key(client_secret)。保存後、このフィールドは空のままになり、Saved — leave empty to keep it. と表示されます。変更する場合にのみ新しい値を入力してください。API Key を空にすると、保存されている Secret Key も削除されます。
FedEx account number: プロジェクトに紐づいた 9 桁の FedEx 配送アカウント番号。アカウント(交渉済み)の料金は、この番号に対して見積もられます。
Rates: Account rates (your negotiated FedEx prices)(既定)または List rates (FedEx published prices)。
Residential delivery: 顧客の住所を住宅として見積もります(FedEx Home Delivery、住宅配送の追加料金)。主に法人向けに発送する場合はオフにしてください。既定値: オン。
Box size: ショップのサイズ単位での任意の箱の寸法(例: 30x20x15)。設定すると、FedEx は容積重量を適用します。重量だけで見積もる場合は空欄のままにします。
FedEx account currency: FedEx アカウントの通貨(例: 米国アカウントは USD、カナダは CAD)。既定値: USD。FedEx にはショップの基準通貨での見積もりも常に要求します。
Exchange rate: FedEx がアカウント通貨の料金のみを返し、ショップの基準通貨が異なる場合にのみ必要です。アカウント通貨 1 単位の、基準通貨での価格(例: 0.92)。設定しない場合、このような料金は使用されません。
発送元
FedEx が荷物を集荷する、またはお客様が荷物を持ち込む住所です。リアルタイムの送料で使用されます。
Country: 発送元の国。既定値: United States。
State / province code: 2 文字の州またはプロビンスのコード。米国とカナダでは必須です(例: TN、CA、ON)。
City: 発送元の市区町村。
ZIP / postal code: 発送元の郵便番号。FedEx が料金を見積もるために必要です。
固定料金
API キーが入力されていない場合に使用され、また FedEx が料金を返さない場合(API の停止、キーの誤り、利用可能なサービスなし)の代替としても使用されます。この場合に配送業者を非表示にするには、両方のフィールドを空欄にします。
Country prices: 2 文字の宛先国コードと、ショップの基準通貨(税抜き)の料金を並べた表です。Add row をクリックすると国を追加でき、ゴミ箱のアイコンをクリックすると削除できます。それ以外のすべての国には、国コードとして * を使用します。国コード(または *)と料金が揃っていない行は無視され、保存時にエラーとして表示されます。
Fallback cost: どの国の料金も一致しない場合に使われる定額料金。配送業者を非表示にするには空欄のままにします。
Fixed price is: Per order は料金を 1 回だけ請求します。Per item (price x number of items) は、カート内の商品数を掛けた金額を請求します。これは固定料金にのみ適用されます。FedEx のリアルタイムの送料は、常にカート全体の重量に基づいて見積もられます。
条件
Free shipping from: この配送業者が無料になるカートの小計(割引後、税抜き)。空欄にすると、送料を無料にしません。
Minimum subtotal: カートの小計がこの金額以上の場合にのみ、配送業者を表示します。空欄にすると、常に表示します。
Min weight: 配送業者が表示されるためのカートの最小重量(kg)。0 は制限なしを意味します。
Max weight: カートの最大重量(kg)。超過すると配送業者は非表示になります。0 は制限なしを意味します。
Default product weight: 重量が設定されていない商品に使用する重量(kg)。FedEx の送料計算と、上記の重量制限にも使われます。既定値: 0.5。商品の重量は、International > Localization(Local units)で設定されたショップの重量単位(kg、g、lb、oz)から変換されます。
配送ゾーンがない場合の利用可能性
Ignore shipping zones: 下記の国について、その国のゾーンが配送業者に割り当てられていなくても、配送業者を提供します。保存すると、配送業者はすべてのゾーンに紐づけられます。後から作成されたゾーンも含まれます。オフにすると、配送業者は以前のゾーンに戻ります。
Countries: このモードの宛先国。空欄にすると、ショップのすべての国が対象になります。Ignore shipping zones がオンの場合にのみ使用されます。
詳細設定
Debug log: API のリクエストと送料の計算を、モジュールのフォルダ内の logs/vfd_fdx_debug.log.php に記録します。このファイルは Web から開くことはできません。API のエラーは常に記録されます。キー、トークン、顧客の住所は記録されません。
Log: ログのサイズと最新のエントリを表示します。Clear log をクリックすると、ログを空にできます。
Remove data on uninstall: オンの場合、モジュールをアンインストールすると、すべてのモジュール設定、配送業者、注文に保存された FedEx サービスが削除されます。オフの場合は、再インストールに備えて、すべてが保持されます。
チェックアウト時の動作
配送のステップで、PrestaShop はモジュールに FedEx の料金を問い合わせます。対象となるのは実物の商品のみです。バーチャル商品は重量に加算されず、小計にも含まれません。モジュールは、まず許可された国(Ignore shipping zones を考慮)、カートの重量、最低小計を確認します。送料無料が適用される場合は、料金は 0 になり、FedEx へのリクエストは送信されません。
それ以外の場合、モジュールは OAuth トークンを取得し、発送元の住所、配送先の住所、カートの重量(kg、または lb や oz を使うショップでは lb)、設定されていればボックスサイズ、そして希望通貨としてのショップの基準通貨を、FedEx Rate API に送信します。郵便番号が必要な国では、顧客が郵便番号を入力した後にのみリクエストを行います。国際配送の場合は、カートの関税評価額が送信されます。州コードは米国とカナダの場合にのみ送信されます。
FedEx は利用可能なサービスを返します。モジュールは、サービスごとに選択されたアカウント料金またはリスト料金を取得し、ショップの基準通貨の料金を優先します。FedEx アカウント通貨の料金は、設定した為替レートで換算し、換算できない料金は破棄します。最も安いサービスの料金が使われ、その料金は購入者のカートの通貨で表示されます。
トークンは環境とキーごとにキャッシュされ、FedEx に拒否された場合は自動的に再取得されます。見積もりは 1 時間キャッシュされます。送料のリクエストが失敗した場合は 10 分間、トークンのリクエストが失敗した場合は 5 分間記憶されます。これにより、障害があってもチェックアウトの更新のたびに遅くなることはありません。API のタイムアウトは 15 秒です。FedEx が応答しない場合、購入者にエラーは表示されません。固定料金が使われるか、配送業者が非表示になります。その理由は、デバッグログに記録されます。
注文がある配送業者を Shipping > Carriers で編集すると、PrestaShop はそれを配送業者の新しいバージョンとして保存します。モジュールは新しいバージョンに自動的に従います。
モジュールは送料の計算のみを行います。FedEx の出荷データの作成、ラベルの印刷、集荷の予約、荷物の追跡、購入者による FedEx 拠点の選択はできません。複数ではなく 1 つのオプション(最も安いサービス)を表示し、梱包機能はありません。カートは 1 個の荷物として見積もられます。
注文
管理画面の注文ページで、FedEx 配送業者の注文には FedEx shipping ブロックが表示されます。このブロックには、料金の FedEx service(リアルタイムの送料の場合)、Price source(FedEx live rate、Fixed price (no live rate)、Free shipping threshold のいずれか)、そしてショップの基準通貨での Calculated price (excl. tax) が表示されます。これらの値は注文時に確定されます。その後に設定を変更しても、これらの値は変わりません。
ライセンスキー
本モジュールは、vibefox.net で入手した VibeFox ライセンスキーで動作します。License — VibeFox FedEx ライセンスブロックは Modules > Module Manager > VibeFox FedEx > Configure ページの一番上、設定より上にあります。キーを License key 欄に入力し、Activate をクリックしてください。その後、ブロックにはマスクされたキー、ステータス(ライセンスの有効期限日やドメインなど)、そして Check now(ステータスを再確認)、Change key(別のキーを入力)、Remove key(このショップからキーを削除)のボタンが表示されます。その下には Product: presta-shipping-fedex の行と、Manage licenses and domains in your account のリンク(vibefox.net のアカウントを開きます)があります。キーを変更できるのは、このモジュールの Configure 権限を持つ従業員のみです。ブロックの文言は管理画面の言語に従います(英語とロシア語が含まれます)。
キーが受け付けられない場合、ブロックには理由が表示されます(例:Key not found、This key belongs to another product、Domain limit reached、License expired on と日付)。ショップのアドレスを変更した後、またはアカウントでドメイン枠を解放した後は、Check now をクリックしてください。ライセンスサーバーに接続できない場合、モジュールは最後に確認されたステータスで動作を続けます。
1 つのキーは 1 つのドメインで使用できます。これはメインショップのドメインで、マルチストア構成でも同じです。ショップからキーを削除しても、そのドメイン枠は解放されません。vibefox.net のアカウントで枠を解放してください。
有効なキーがない場合、チェックアウト時に購入者へ FedEx の配送業者は表示されず、料金も計算されません。PrestaShop のストアフロントは、バックオフィスにログインしていることを認識しないため、配送業者はあなたにも表示されません。キーを購入する前にモジュールを設定することはできますが、チェックアウトでのテストはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文には影響しません。
ライセンスが期限切れになってもモジュールは動作を続けますが、アップデートとサポートには更新が必要です。キーを入力してから最初の 14 日間は 1 日に 1 回、その後は週に 1 回、管理画面で作業中に自動的にステータスが再確認されます。cron ジョブは不要です。モジュールをアンインストールまたはリセットすると、ライセンスキーとライセンスステータスは常に削除されます。
トラブルシューティング
チェックアウトに FedEx が表示されない: ライセンスが有効であること、Enable/Disable がオンであることを確認してください。Shipping > Carriers で、配送業者が購入者の国のゾーンと購入者の顧客グループを対象にしていることを確認してください(または Ignore shipping zones をオンにして Countries を確認してください)。モジュールのページ上部の警告、重量制限、Minimum subtotal も確認してください。リアルタイムの送料がない場合、配送業者には国ごとの料金、* の行、または Fallback cost が必要です。また、商品ページで特定の配送業者に商品を限定している場合もあります。
リアルタイムの送料が表示されない: Debug log をオンにして、チェックアウトを再読み込みし、モジュールのページにある Log フィールドを確認してください。誤ったキー、誤った環境(Sandbox がオフのときのテスト用キー、またはオンのときの本番用キー)、配送先の郵便番号の欠落、FedEx のエラーコードがここに記録されます。
ショップの通貨が USD ではない: FedEx には、ショップの基準通貨での料金が要求されます。アカウントが自身の通貨のみを返す場合は、FedEx account currency と Exchange rate を設定してください。為替レートがない場合、このような料金は無視され、固定料金が使われます。そのため、USD の金額が円やユーロとして表示されることはありません。
"Per item" は FedEx の料金を掛けますか?いいえ。Per item は固定料金にのみ適用されます。
変更後に料金が古いように見える: モジュールのページを保存すると、キャッシュがクリアされます。Clear cached FedEx token and rates をクリックすることもできます。
FedEx の配送業者が見つからないと表示される: 配送業者は Shipping > Carriers で削除されています。Modules > Module Manager でモジュールをリセットすると、再作成されます。
一部のサービスだけを提供したい: 開発者は actionVfdFdxAllowedServices フックを使ってサービスを制限できます。actionVfdFdxRateRequest と actionVfdFdxApiBaseUrl のフックは、料金のリクエストと API のアドレスを変更します。
アンインストール
Modules > Module Manager に移動し、VibeFox FedEx の横のメニューを開いて、Uninstall を選択します。ライセンスキーとライセンスステータスは常に削除されます。キャッシュされたトークンと料金は常に削除されます。Remove data on uninstall がオンの場合は、配送業者が削除され(注文は履歴を保持します)、設定、ログ、注文に保存された FedEx サービスも削除されます。オフの場合は、配送業者は無効になるだけで、すべての設定が保持されます。モジュールを再インストールすると(または Reset を実行すると)、保存されていた配送業者は、アンインストール前のステータスに戻ります。
FedEx は各所有者の商標です。本モジュールは FedEx とは提携しておらず、FedEx の承認も受けていません。
