VibeFox Canada Post for PrestaShop — ヘルプ
要件
PrestaShop:8.0 から 9.x。
PHP:8.0 以降。モジュールは、それより古い PHP バージョンではインストールできません。
Canada Post Developer Program(リアルタイム運賃のみ):リアルタイム運賃は Canada Post Rating API を使用します。Canada Post の Web サイトで Canada Post Developer Program に登録し、API キーと顧客番号をコピーしてください。API キーは username:password の形式で、Canada Post は開発(サンドボックス)環境と本番環境用に別々のキーを発行します。発送元となるカナダの郵便番号も必要です。固定料金のみを使用する場合、API キーは不要です。
VibeFox ライセンスキー:vibefox.net で購入します。1 つのキーは 1 つのドメインでのみ使用できます。
インストール
1. 管理画面で Modules > Module Manager を開き、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。
2. アップロードが完了したら Configure をクリックします。後でモジュール一覧から VibeFox Canada Post を探し、Configure をクリックすることもできます。
3. Configure ページ上部のライセンスブロックの License key に VibeFox ライセンスキーを入力し、Activate をクリックします(「ライセンスキー」を参照)。
4. リアルタイム運賃を使う場合は、API のユーザー名とパスワード、顧客番号、発送元の郵便番号を入力します。ストアのデフォルト通貨が CAD でない場合は、CAD のレートを入力します。固定料金やフォールバック料金を使う場合は Country prices に入力します(「設定」を参照)。Save をクリックします。
インストール時、モジュールは運送時間の文言 Canada Post parcel delivery を付けて Canada Post 配送業者を作成します。この配送業者はすべてのゾーンとすべての顧客グループに割り当てられます。ゾーン、顧客グループ、運送時間、ロゴ、サイズ制限は Shipping > Carriers で変更できます。そこでは料金を設定しないでください。料金は常にモジュールから取得されます。
設定
すべての設定はモジュールのページにあります:Modules > Module Manager > VibeFox Canada Post > Configure。各セクションには個別の Save ボタンがあり、ページ全体を保存します。保存するたびに、キャッシュされた Canada Post の運賃も削除されます。保存にはモジュールの設定権限が必要です。
値が正しくない場合、ページはエラーを表示し、何も保存されません。たとえば、数値フィールドや Country prices の料金が 0 以上の数値ではない場合(-1 や 12abc など)、CAD レートが 0 の場合、Min cart weight (kg) が Max cart weight (kg) より大きい場合、Method title が 64 文字を超える場合です。ストアの重量または寸法の単位がモジュールで扱えない場合、ページは重量を kg(寸法は cm)として読み取ると警告します。International > Localization の Local units セクションで、kg、g、lb、oz(cm、mm、m、in)を設定してください。
保存後、設定が意図どおりに機能しない場合、ページは警告を表示します。API のユーザー名とパスワードのどちらか一方だけが入力されている場合、発送元の郵便番号がカナダの郵便番号(A1A 1A1 形式)ではない場合、別の通貨のストアで CAD レートが未入力の場合、または API の認証情報も固定料金もない場合です。警告には、その間に何が起こるかも示されます。国別の固定料金が使われるか、Country prices の表が空の場合は、チェックアウトで配送業者が非表示になります。
一般
Enable Canada Post:配送業者をオンまたはオフにします。これは Shipping > Carriers の配送業者のステータスと同じスイッチです。
Method title:チェックアウトで購入者に表示される配送業者名です。空欄の場合も含め、デフォルトは Canada Post です。64 文字まで。PrestaShop が配送業者名で許可していない文字は使用できません。
Tax:PrestaShop が配送料に加算する税ルール、または No tax(非課税)です。
Canada Post API(リアルタイム運賃)
API のユーザー名とパスワードを入力すると、料金は Canada Post Rating API から取得されます。API が運賃を返さない場合(API の停止、郵便番号の誤り、サービスの提供がないなど)は、Country prices の固定料金が使われ、固定料金がなければ配送業者は非表示になります。このセクションには Canada Post Developer Program へのリンクがあり、そこで API キーと顧客番号を確認できます。エラーの詳細はログに記録され、購入者には表示されません。
API username:API キーのコロンより前の部分です。開発用キーは Sandbox とともに使用し、本番のストアでは本番用キーを使用します。
API password:API キーのコロンより後の部分です。保存後、このフィールドは空になり、A password is saved. Leave empty to keep it; clear the username and save to remove both. と表示されます。変更する場合のみ新しい値を入力してください。パスワードは入力どおりに保存され、ログに書き込まれることはありません。
Customer number:顧客番号を入力すると、Canada Post はお客様のアカウントの法人(割引)運賃を返します。窓口(小売)運賃を使う場合は空欄にします。スペースは削除されます。
Contract number:契約顧客向けのオプションです。顧客番号と一緒に使う場合のみ利用されます。
Sandbox:開発用 API キーでテストするため、Canada Post の開発環境を使用します。料金はテストデータです。本番のストアではオフにしてください。
Ship-from postal code:荷物を発送するカナダの郵便番号です(例:K1A 0B1)。リアルタイム運賃に必要です。
Service in Canada:カナダの住所向けのサービスです:Cheapest available、Regular Parcel(DOM.RP、デフォルト)、Expedited Parcel(DOM.EP)、Xpresspost(DOM.XP)、Priority(DOM.PC)。
Service to the USA:Cheapest available(デフォルト)、Expedited Parcel USA(USA.EP)、Tracked Packet USA(USA.TP)、Small Packet USA Air(USA.SP.AIR)、Xpresspost USA(USA.XP)、Priority Worldwide parcel USA(USA.PW.PARCEL)。
International service:Cheapest available(デフォルト)、International Parcel Surface(INT.IP.SURF)、International Parcel Air(INT.IP.AIR)、Tracked Packet International(INT.TP)、Small Packet International Surface(INT.SP.SURF)、Small Packet International Air(INT.SP.AIR)、Xpresspost International(INT.XP)、Priority Worldwide parcel International(INT.PW.PARCEL)。
選択したサービスが住所または荷物に対して提供されていない場合は、利用可能な中で最も安いサービスが使われます。
Use Canada Post prices without GST/HST/PST:カナダの住所では、Canada Post の料金にこれらの税金が含まれます。PrestaShop が配送料に税金を自分で加算する場合(上の Tax)にオンにすると、税金の二重課税を防げます。
CAD to … rate:フィールド名には、ストアのデフォルト通貨が表示されます(例:CAD to USD rate)。Canada Post の料金は CAD です。デフォルト通貨が CAD でない場合は、1 CAD が何単位のストア通貨に相当するかを入力します(例:0.68)。これを入力しないと、リアルタイム運賃は使われません。デフォルト通貨が CAD の場合は空欄のままにします。レートは 0 より大きい必要があります。小数点としてピリオドとカンマのどちらも使用できます。
Default product weight (kg):重量が設定されていない各商品について Canada Post に送信される重量です。デフォルト:0.5。商品の重量(ストアの重量単位で入力)と寸法は換算され、カートは 1 個の荷物として計算されます。
固定料金(API の認証情報がない場合、および API が運賃を返さない場合のフォールバックとして使用されます)
Country prices:国の表です。Base 料金と、ストアのデフォルト通貨(税抜き)でカート重量ごとの料金を設定します:XS は 1 kg まで、S は 1~2 kg、M は 2~3 kg、L は 3~5 kg、XL は 5 kg 超。サイズの料金が空または 0 の場合は、Base 料金が使われます。Add country をクリックすると行が追加され、× をクリックすると削除されます。* Default (all other countries) の行は、独自の行を持たないすべての国の料金を設定します。行がない国(* もない場合)には固定料金は設定されません。基本料金が 0 の場合、その国は送料無料になります。料金が 1 つも入力されていない行は保存されません。
Fixed price per:Order は料金を 1 回だけ請求します。Item (price x quantity) は、カート内の商品数を掛けて計算します。これは固定料金にのみ適用されます。リアルタイム運賃は常に荷物全体について計算されます。
条件
Min cart weight (kg):カート重量がこの値を下回る場合、配送業者を非表示にします。0 の場合は制限なしです。
Max cart weight (kg):カート重量がこの値を超える場合、配送業者を非表示にします。デフォルト:25(フィールドが空の場合も同じです)。0 の場合は制限なしです。Canada Post の荷物は最大 30 kg まで可能です。Min cart weight (kg) より小さくすることはできません。
Minimum order amount:カートの小計(割引後の商品金額、税抜き)がこの金額に達した場合のみ配送業者を表示します。空欄の場合は常に表示されます。
Free shipping:以下の金額以上で送料を無料にするかどうかを設定します。
Free shipping from:送料が無料になるカート小計です。この場合、API へのリクエストは行われません。Free shipping がオンの場合にのみ使用されます。
配送ゾーンを使わない場合の利用可否
通常、配送業者は Shipping > Carriers で割り当てられたゾーンに表示されます。
Ignore shipping zones:一致するゾーンに関係なく、以下の国に対して配送業者を提供します。保存時、配送業者はすべてのゾーンに追加されます。後から作成したゾーンにも追加されます。このオプションをオフにして保存すると、モジュールが追加したゾーンは再び削除され、配送業者は自身のゾーンを保持します。
Countries:このモードで対象とする仕向け国です。Ctrl(Cmd)を押しながらクリックすると、複数選択できます。空欄にすると、有効なすべての国が許可されます。このフィールドは Ignore shipping zones がオンの場合にのみ使用されます。
詳細設定
Debug log:料金計算のログを var/logs/vfd_canada_post.log.php に記録します。このファイルは Web からは開けず、5 MB に達すると切り替えられます。このオプションがオフでも、API エラーは常に記録されます。API キー、顧客番号、購入者の郵便番号は記録されません。
Remove data on uninstall:オンの場合、モジュールをアンインストールすると、設定、保存された注文のサービス、キャッシュされた運賃、ログが削除されます。アンインストール時には、配送業者は常にチェックアウトから削除されます。注文は変更されません。
Log:設定の下のパネルには、ファイル名と最新の 50 件のエントリが表示されます。Clear log をクリックすると削除されます。
チェックアウトでの動作
配送ステップで、PrestaShop はモジュールに Canada Post の料金を問い合わせます。対象となるのは実物の商品のみです。仮想商品は重量に加算されず、注文金額にも含まれません。モジュールはまず条件を確認します:許可された国(Ignore shipping zones の場合)、カート重量、最低注文金額です。送料無料が適用される場合、料金は 0 となり、Canada Post にはリクエストは送られません。
API の認証情報がある場合、モジュールは Canada Post に発送元の郵便番号、仕向け先、荷物の重量、そしてすべての商品に寸法がある場合は推定の荷物サイズを送信します。カナダの場合は郵便番号、米国の場合は ZIP コード、その他のすべての国の場合は国のみを送信します。カナダまたは米国の住所に有効な郵便番号または ZIP コードがある場合にのみ、リアルタイム運賃がリクエストされます。Canada Post は、荷物に対応するすべてのサービスを返します。モジュールは、仕向け先グループで選択されたサービス、または最も安いサービスを選択します。Use Canada Post prices without GST/HST/PST がオンの場合、カナダの販売税(GST/HST/PST)を除外し、CAD の料金をレートで換算します。料金はストアのデフォルト通貨で計算され、その後、購入者のカート通貨で表示されます。
各応答は 1 時間キャッシュされるため、同じカートと住所では新しいリクエストは発生しません。失敗したリクエストは 10 分間キャッシュされるため、Canada Post の障害があっても、チェックアウトの更新のたびに遅くなることはありません。API のタイムアウトは 10 秒です。30 kg を超える荷物は API に送信されません。
API が運賃を返さない場合は固定料金が使われ、固定料金がない場合は配送業者が非表示になります。購入者に API のエラーの詳細が表示されることはなく、ログに記録されます。
Shipping > Carriers で配送業者を編集すると、PrestaShop はそれを新しい配送業者のバージョンとして保存します。モジュールは自動的に新しいバージョンに従います。
モジュールが行うのは料金の計算のみです。発送データの作成、ラベルの印刷、マニフェストや返品の作成、荷物の追跡は行いません。購入者は郵便局や受け取り場所を選ぶことはできません。配送日、保険、サインのオプションは含まれず、Canada Post の料金は 1 つだけ表示されます。カートは常に 1 個の荷物として計算され、通貨レートは自動では更新されません。
注文
Canada Post の配送業者を使って注文が行われると、モジュールは料金の計算方法を保存します。管理画面の注文ページ(Orders > Orders、注文を開く)には、Canada Post ブロックに次の内容が表示されます:
Canada Post service:リアルタイム運賃のサービス名とコード(例:Regular Parcel(DOM.RP))。
Price source:Live rate (Canada Post Rating API)、Fixed price、Free shipping のいずれか。
ライセンスキー
このモジュールは、vibefox.net で入手した VibeFox ライセンスキーで動作します。ライセンスブロック License — VibeFox Canada Post は、Modules > Module Manager > VibeFox Canada Post > Configure ページの最初のブロックで、設定の上にあります。キーを License key に入力し、Activate をクリックします。その後、ブロックにはキーがマスクされた状態で表示され、ステータス(ライセンスの有効期限日やドメインなど)と、以下のボタンが表示されます。ステータスを再確認する Check now、別のキーを入力する Change key、このショップからキーを削除する Remove key です。その下には Product: presta-shipping-canada-post の行と、vibefox.net のアカウントを開くリンク Manage licenses and domains in your account があります。キーを変更できるのは、モジュールの設定権限を持つ従業員のみです。ブロックの文言は管理画面の言語に従います(英語とロシア語が含まれます)。
キーが受け付けられない場合、ブロックは理由を表示します。たとえば Key not found、This key belongs to another product、Domain limit reached、または日付付きの License expired on などです。ショップのアドレスを変更した後、またはアカウントでドメインの枠を解放した後は、Check now をクリックしてください。ライセンスサーバーに接続できない場合、モジュールは最後に確認されたステータスで動作を続けます。
1 つのキーは 1 つのドメインでのみ使用できます。メインショップのドメインで、マルチストア構成でも同様です。ショップからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。
有効なキーがない場合、チェックアウトで購入者に Canada Post の配送業者は表示されず、料金も計算されません。PrestaShop のストアフロントは、バックオフィスにログインしていることを認識しないため、配送業者はあなたにも非表示になります。キーを購入する前にモジュールを設定することはできますが、チェックアウトでテストすることはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文には影響しません。
ライセンスの期限が切れた場合、モジュールは動作を続けますが、アップデートとサポートには更新が必要です。バックオフィスで作業している間、ステータスは自動的に再確認されます。キー入力後の最初の 14 日間は 1 日 1 回、その後は週 1 回です。cron ジョブは必要ありません。モジュールをアンインストールまたはリセットすると、ライセンスキーとライセンスステータスは常に削除されます。
トラブルシューティング
チェックアウトに Canada Post が表示されない:ライセンスが有効であること、Enable Canada Post がオンであることを確認してください。Shipping > Carriers で、配送業者が購入者の国のゾーンと購入者の顧客グループをカバーしていることを確認してください(または Ignore shipping zones がオンで、その国が許可されていること)。重量の制限と Minimum order amount を確認してください。運賃が存在する必要があります。API の認証情報がある場合、住所に有効な郵便番号(カナダ)または ZIP コード(米国)が必要です。そうでない場合は、その国または * の固定料金が存在する必要があります。また、商品ページで商品を特定の配送業者に限定している場合もあります。
リアルタイム運賃が表示されない:Debug log をオンにし、チェックアウトを再読み込みして、モジュールのページの Log パネルを確認してください。原因が表示されます:API のユーザー名またはパスワードが未入力、発送元または仕向け先の郵便番号が無効、CAD レートが未入力、荷物が 30 kg を超えている、または Canada Post のエラーメッセージ。その間、固定料金がある場合は、購入者にはその料金が表示されます。
運賃が Canada Post の Web サイトのものと異なる:顧客番号を入力している場合は、アカウントの法人(割引)運賃が適用されます。入力していない場合は、通常(窓口)運賃が適用されます。カナダの住所の場合、Canada Post の料金には GST/HST/PST が含まれます。料金は CAD レートで換算されます。
配送料に税金が二重に課される:Use Canada Post prices without GST/HST/PST をオンにするか、Tax を No tax に設定してください。
本番のストアで料金をテストする:Sandbox をオフにし、本番用の API キーを使用してください。
変更後に運賃が古いように見える:モジュールのページで Save をクリックしてください。キャッシュされた Canada Post の運賃が削除されます。
Canada Post の配送業者がないと表示される:配送業者は Shipping > Carriers で削除されています。Modules > Module Manager でモジュールをリセットすると、再作成されます。
このモジュールを設定する権限がない:従業員プロファイルではモジュールのページを開くことはできても、保存することはできません。管理者に依頼して、プロファイルにモジュールの設定権限を付与してもらってください。
アンインストール
Modules > Module Manager を開き、VibeFox Canada Post の横のメニューを開いて Uninstall を選択します。ライセンスキーとライセンスステータスは常に削除されます。配送業者は常にチェックアウトから削除されます(注文は配送業者と履歴を保持します)。Remove data on uninstall がオンの場合、設定、保存された注文のサービス、キャッシュされた運賃、ログが削除されます。オフの場合は、キャッシュされた運賃のみが削除され、すべての設定は保持されます。モジュールを再インストールする場合(または Reset)、以前の配送業者が以前のステータスで復元されます。無効にしていた配送業者は、無効のままになります。
Canada Post は、それぞれの所有者の商標です。本モジュールは Canada Post と提携しておらず、Canada Post の承認も受けていません。
