トラブルシューティング
このページは記載の順序どおりに確認していってください。最初の3つのセクションで、お問い合わせの大半をカバーしています。
まず何よりも先に、WHMCSでAddons > Perfex CRM Bridgeを開き、セットアップチェックリストをご確認ください。問題箇所を直接指し示すよう設計されており、各行の説明は設定にあります。
クイックリファレンス
| 症状 | 最も可能性の高い原因 | 対処 |
|---|---|---|
| WHMCSのAddonsメニューにモジュールが表示されない | Access Controlでいずれの管理者ロールにもチェックが入っていない | Access Controlにチェックを入れる |
| すべての送信が即座に失敗する | Perfex URLがhttp://で始まっている | HTTPSを使用する |
Perfexの受信ログにauth.rejectedの行が出る | 共有シークレットが一致していない | 再ペアリングする |
| Perfexの送信キューに「Two-way sync requires Pro」と表示される | WHMCS側がFreeプランである | Proを有効化する |
| イベントはキューに入るが配信されない | 同期が一時停止しているか、WHMCSのcronが動作していない | cronを確認する |
| 特定の請求書だけが届かず再試行され続ける | その請求書の通貨がPerfexに存在しない | 通貨を追加する |
| ライセンスが有効化できない | キーが未設定か、ライセンスサービスへの接続がない | バナーの色を確認する |
| Perfexのペー ジにConnection codeが表示されない | PerfexがHTTPSでないか、保存済みのシークレットが短すぎる | GenerateしてSaveする |
| 部門マッピングがドロップダウンではなくテキストエリアで表示される | Freeプランであるか、PerfexからWHMCSに到達できない | マッピングのフォールバック |
| 行がdead状態のまま止まっている | 同じ理由で15回の試行がすべて失敗した | dead状態の行を再実行する |
モジュールがAddonsメニューに表示されない
症状。 System Settings > Addon Modules でPerfex CRM Bridgeを有効化し、WHMCSも有効化されたと表示しているのに、左側のAddonsメニューのどこにもモジュールが見当たらない。
原因。 いずれの管理者ロールにもアクセス権が付与されていません。WHMCSは、チェックが入っていないロールに対してアドオンモジュールを完全に隠すため、モジュールはインストール済みで完全に機能する状態でありながら、管理画面のどこにもリンクが表示されません。これは「インストールできない」という報告の圧倒的多数を占める原因です。
対処。
- System Settings > Addon Modulesに移動します。
- Perfex CRM Bridgeの横にあるConfigureをクリックします。
- Access ControlでFull Administratorと、このモジュールを使用する他のロールにチェックを入れます。
- Save Changesをクリックします。
- 管理画面を再読み込みします。Addonsの下にモジュールが表示されます。
実際の設定はすべて、モジュール自身のページ(Addons > Perfex CRM Bridge)にあります。Configure画面に残されているのはAccess Controlだけです。WHMCSのコアが描画しており、移動できないためです。
すべての送信が即座に失敗する、またはURLが拒否される
症状。 イベントがキューに入り、即座に失敗する。Recent activityのロ グが接続エラーで埋まる。または、Perfex CRM URLフィールドがそもそも保存できない。
原因。 HTTPSは設計上必須です。 HTTPトランスポートはhttpsプロトコルに固定されており、TLS証明書を検証します。http://のURLではすべての送信が失敗し、Perfex側のWHMCS URLフィールドも同様に、https://で始まらない限り保存を受け付けません。
対処。
- WHMCS側でPerfex CRM URLに
https://のアドレスを設定します。 - Perfex側でWHMCS URLに
https://のアドレスを設定します。 - どちらの証明書も、ブラウザーだけでなく相手側のサーバーから実際に検証が通ることを確認してください。自己署名証明書は、呼び出し元サーバーがそれを信頼している場合にのみ動作します。
- WHMCSのモジュールページでTest Connectionをクリックします。
これは意図的な仕様です。共有シークレットと顧客データがこのチャネルを通ります。証明書の検証が通らない場合は、証明書を修正してください。
Perfexのログにauth.rejectedの行が出る
症状。 WHMCSがHTTP 401エラーを報告する。PerfexのSetup > WHMCS Bridge > Recent inbound eventsに、赤いauth.rejectedの行が表示される。
原因。 両側で共有シークレットが一致していないか、リクエストのタイムスタンプが300秒のウィンドウの外にあります。実際にはほぼ必ずシークレットが原因です。片側でシークレットを再生成したまま、もう片側の再ペアリングを行っていない、というケースです。
対処(簡単な方法)。
- PerfexでSetup > WHMCS Bridgeを開き、現在のConnection codeをコピーします。
- WHMCSでAddons > Perfex CRM Bridgeを開き、Re-pairボックスに貼り付けてConnectをクリックします。
- Test Connectionをクリックします。緑色の「Connection OK」バナーが表示されれば成功です。
- Run Sync Nowをクリックします。失敗していたキュー内のイベントが配信されます。
対処(手作業の場合)。 まったく同じシークレットを両側のShared Secretフィールドに貼り付け直し、それぞれ保存します。先頭と末尾の空白は自動的に除去されますが、それ以外の部分は1文字単位で一致している必要があります。
シークレットが原因でない場合。 両サーバーの時刻を確認してください。両者の間に300秒を超えるずれがあると、すべてのリクエストがリプレイとみなされて拒否されます。両方のホストをNTPで同期させてください。
Perfexが記録するauth.rejectedの行は1分あたり最大10件です。そのため、設定を誤った送信元があってもディスクを埋め尽くすことはありません。1分間にちょうど10件が記録されている場合は、実際にはそれ以上あったと考えてください。
Perfexの送信キューに「Two-way sync requires Pro」と表示される
症状。 Perfexで顧客を編集すると、Setup > WHMCS BridgeのOutbound queueパネルに「Two-way sync requires Pro on the WHMCS side.」というメッセージとUpgrade to Proのリンクを伴う行が表示される。試行回数が増えていき、最終的にその行がdeadになる。
原因。 双方向同期はPro機能であり、ライセンスはWHMCS側に存在します。WHMCS環境がFreeプランであるため、その受信エンドポイントはPerfex発の変更に対して403を返します。Perfex側のコンパニオンは、キューイングと再試行という正しい動作をしています。
対処。 WHMCS側でProライセンスを有効化してください。ライセンスとProの有効化をご覧ください。Proが有効になると、WHMCSは新しいプラン状態を直ちにPerfexへ送信し、アップグレードの案内が消え、pending状態の行は次回のPerfexのcron実行時に配信されます。
Freeプランのうちに既にdeadになった行は、自動的には再試行されません。dead状態のまま止まっている行をご覧ください。
WHMCS planパネルは、まさにこの理由から、Perfexの設定ページのOutbound queueのすぐ上に配置されています。Freeと表示されていれば、キューの行を1つも読まずに原因が判明します。
まったく同期されない
症状。 イベントはキューに現れ、Queue pendingが増え続けるのに、Perfexには何も届かない。エラーもなく、ただ静かなまま。
原因は2つあり、チェックリストで見分けられます。
原因A: 同期が一時停止している
Sync enabledのチェックリスト行が赤になっています。
対処。 WHMCSのモジュールページのSettings > Sync behaviourでEnable Syncにチェックを入れ、Save Settingsをクリックします。一時停止中も失われたものはありません。イベントはキューに入り続けており、これから配信されます。