ネイティブCRMシステムとの3CX統合:CRMテンプレートジェネレーター

v15.5 SP2から、サーバーCRM統合メカニズムがPBX 3CXに登場しました。 これにより、着信発信者IDをCRMシステムに転送し、対応する顧客レコードを見つけることができます。 同時に、3CXはCRMからクライアントの姓名を受け取り、それらをPBXの企業アドレス帳に追加して、ユーザーのIP電話に表示します。 3CX Webクライアントには、このデータと、CRMインターフェースで完全なクライアントカードに直接アクセスできるボタンも表示されます。



3CXには「すぐに使える」ものとして、 一般的なCRMシステム用の広範な統合モジュールセットが付属しています 。 ただし、各地域と業界には独自の人気のあるシステムがあり、それぞれにサポートを提供することは不可能です。 そのため、別の方法でテンプレートジェネレーターを作成しました。このテンプレートジェネレーターでは、基本的なプログラミングスキルを持つすべてのユーザーが、選択したCRMのREST APIを使用して統合テンプレートを作成し、PBXサーバーにインストールできます。



統合テンプレートは、認証方法、許可URL、URL、および連絡先データ呼び出し方法を定義します。 このテンプレートは、CRMにアクセスするために3CXサーバーエンジンによって使用されます。



この記事では、3CXテンプレートジェネレーターを使用して、新しいCRMシステムとの統合テンプレートを作成する方法を説明します。 統合を成功させるには、CRMシステムに適切なドキュメントを備えたRESTFul APIが必要であり、BasicまたはoAuth認証モードをサポートする必要があります。



CRM APIクエリ



サーバー側のCRM統合では、3つのタスクのURLリンクとしてAPI呼び出しを使用します。

認証、たとえば:



https://login.salesforce.com/services/oauth2/token
      
      





連絡先に一致するものを見つける、たとえば:



 [Url]/services/data/v37.0/search/?q=FIND {[Number]} IN PHONE FIELDS RETURNING Contact(Id,FirstName,LastName,AssistantPhone,Fax, HomePhone, MobilePhone, OtherPhone, Phone, Email,AccountId)
      
      





連絡先の名前を取得します。 一部のCRMシステムは、会社名と連絡先名の両方に単一のURLを使用します。 この場合、次のように個々のURLを構成する必要があります。



 [Url]/services/data/v37.0/query/?q=SELECT name from Account where Id = '[AccountId]'
      
      





リクエストパラメータ



パラメーターは、応答を生成するために必要な情報をCRMに送信するために使用されます。 たとえば、CRM Salesforceについては、 ここで説明します 。 テンプレートジェネレータで、次のパラメータを追加します([パラメータ]-[追加]を右クリックします)。





認証



[シナリオ]セクションで、認証スクリプトを作成します(右クリック> [追加])





[ルールグループ]セクションで、新しいルールグループを作成します。 パラメーターを設定します。





[変数]セクションで、変数を追加します。





[出力]セクションで、次を作成します。





[認証]セクションに移動して、次をインストールします。





連絡先の一致検索



[シナリオ]> [追加]> [一致するシナリオ]で、以下を設定します。





[ルールグループ]セクションで、パラメーターを使用してルールグループを作成します。





連絡先フィールドを検索する変数とパスを追加します。例:





統合テスト



作成されたテンプレートをテンプレートジェネレータで直接確認するには、入力パラメータ値を設定します。 これを行うには、[パラメーター値]セクションに移動し、パラメーターに必要な値を入力します。







(プロパティエディターの)Numberプロパティで、呼び出しがエミュレートされる電話番号(発信者ID)を指定します。







パラメーターを設定した後、「パラメーター値」セクションを右クリックして、「実行」を選択します。 [パラメーター値]セクションの下に新しいセクションが表示され(実行日時によって名前が付けられます)、CRM統合テンプレートの結果が表示されます。 上部の[リクエスト/レスポンス]タブを選択すると、CRMからの連絡先データを含むリクエストとJSONレスポンスを確認できます。







回答はツリー形式で表示され、連絡先がパスresponse.result.Contacts.row.FLにあることがわかります。 これは、名、姓、電話番号などの値が存在する配列です。



必要な値を持つ変数を追加します。 たとえば、連絡先名を追加するには、content = 'Test'ブランチを右クリックし、[変数の追加]を選択します。 変数名をFirstNameに変更します(デフォルト名はcontentです)。







CRMテンプレートツリーで、[シナリオ]セクションに移動し、[出力]セクションを右クリックします。 新しい「回答」を追加し、そのタイプをContactUrlに変更し、取得する必要がある値を設定します(つまり、連絡先名について上で見つけました)。



その後、統合テンプレートを再度実行すると、必要なすべての連絡先フィールドが受信した「回答」([出力]タブ)に正しく入力されていることがわかります。







XMLテンプレートファイルの生成とインストール



テンプレートのXMLファイルを生成(保存)した後、3CXサーバーの適切なフォルダーにコピーし、3CX管理コンソールとシステムサービスを再起動します。





これで、着信コール番号がCRMに送信され、一致するものが検索されます。 一致が見つかった場合、3CX Webクライアントは連絡先名と、CRMシステムインターフェイスで完全な連絡先カードに切り替えるためのボタンを表示します。







おわりに



結論として、サーバー統合の可能性は徐々に拡大することに注意してください。 そのため、CRMシステム、つまり 連絡先に関連付けられた通話履歴を保存します(Windows用の3CXクライアントを介したクライアントCRM統合では、この機能が利用可能になりました)。 独自の統合の実装について質問がある場合は、開発者向けの特別フォーラムで質問してください 。 また、CRMシステムが3CXによって公式にサポートされるべきであると思われる場合は、 ここに申請書を提出してください



All Articles