このシリーズの前回では、SuiteCRMのデータベースモデルをVertabeloにインポートし、Vertabeloの機能を使用してそれを整理する方法を示しました。この記事では、一般的なCRMデータがデータベースにどのように保存されるかを説明します。また、テーブルとその関数の関係について、パート2で行った仮定も確認します。必要に応じて、モデルに変更を加えます。
現在何がありますか?
パート1では、Bitnamiインストールパックを使用してSuiteCRMをローカルにインストールしました。ログインに成功すると、SuiteCRMのメイン画面は次のようになります。
「bitnami_suitecrm」と呼ばれるSuiteCRMデータベースには、http://127.0.0.1/phpmyadminからアクセスできます。モデルには201個のテーブルがあることを思い出してください。
このシリーズのパート2は、次のように構成されたモデルで締めくくられました。
CRMの基本要件
CRMを使用すると、クライアントの記録を保持し、クライアントとの連絡先(電話、会議など)を追跡できるようになります。
クライアントは、CRMシステムの中心です。基本的な組織データ(名前、住所、収益、従業員数)と連絡先データ(電話、モバイル、電子メール、Webサイト、場合によってはソーシャルアカウント)を保存する必要があります。また、システムでレコードがいつ誰によって追加または更新されたかなどの管理データを追跡する必要があります。
クライアント関連の行動について考えるとき、私たちは通常、電話や会議について考えます。また、クライアントとの連絡を必要としない他のアクションを実行することもできます。問題が解決したかどうかを確認したり、支払いが行われた場合は、そのようなことを行います。以前のアクションを記録したいのですが、将来のイベントをスケジュールする機能も必要です。さらに、アクションの開始時刻と終了時刻、アクションデータを挿入および更新したユーザー、その特定のアクションを開始したユーザー、およびアクションを担当したユーザーを保存します。
もちろん、以前に販売された製品やサービス、潜在的な新規販売など、CRMに追加できるものは他にもたくさんあります。ただし、この記事では、SuiteCRMがクライアントのデータ、通話、会議を保存する方法に焦点を当てます。
クライアントの管理
クライアント組織はアカウントと呼ばれます SuiteCRMで。 新しいアカウントの作成は次のとおりです 画面は次のようになります:
SuiteCRMのデータベースの「accounts」テーブルは次のようになります。
accounts テーブル、属性には、新しいアカウントの作成に入力された情報が格納されます 画面:
- 基本的なクライアントデータ:
name、description、industry、annual revenue、「rating、ownership、employees、ticker symbol - 連絡先データ:
phone_fax、請求先住所属性、配送先住所属性、phone_office、phone_alternate、website - CRM内のクライアントデータへの変更:
created_by、modified_user_id、assigned_user_id、date_entered、date_modifiedおよびdeleted。
CRMはユーザーが挿入したあらゆるタイプのデータを保存できる必要があるため、これらの属性のほとんどはvarcharタイプです。
accounts テーブルは、SuiteCRMデータベース内の他の多くのテーブルに接続されています。すべての関係は、このシリーズのパート2で記録された仮定に従って設定されます。
SuiteCRM内のアカウントは、基本的にクライアントのリストです。これらは、システム内の他の多くのテーブルに関連しています:contacts 、opportunities 、bugs 、cases 。
SuiteCRMで話す場合、連絡先 組織を代表して私たちが話し合う実際の人々です(CRMでは、これらの組織は「アカウント」と呼ばれることを忘れないでください)。以下に示すように、アカウントに新しい連絡先を割り当てることができます。
個人のデータはcontacts テーブル。 account_contacts テーブルを使用すると、特定のアカウントに多くの連絡先を関連付けることができます。
機会 SuiteCRMの内部には、推定販売の可能性があります。それらは販売段階に結びついています。 opportunities およびaccount_opportunities テーブルは、単一のアカウントに関連する複数の商談に関するデータを保存するために使用されます。
名前から推測できるように、bugs およびaccounts_bugs テーブルには、特定のアカウントに関連する問題に関するデータが格納されます。 SuiteCRMモジュールを使用すると、ソリューションを入力してバグ履歴を追跡することもできます。バグはcallsに関連しています 、contact 、cases およびその他のテーブル。
「ケース」モジュールは、サービス関連の問題を入力および追跡するために使用されます。新しいケースを追加した後、そのケースに関連するバグを追加できます。
通話
すべてのCRMシステムは、クライアントへの通話に関する情報を保存します。 SuiteCRMも例外ではありません。新しい通話を追加するには、アクティビティ->通話をクリックします 必要なデータを入力します。新しい通話を追加し、システム内の既存のアカウントとユーザーに関連付けます。
これが呼び出しです データベース内のセクションは次のようになります:
calls 表では、accounts テーブル。属性created_by 、modified_user_id およびassigned_user_id この通話に参加した、変更した、または通話に割り当てられたユーザーを参照してください。 parent_type およびparent_id ペアは、参照されるテーブルとそのテーブルの主キー値を示します。他の属性のほとんどは自明です。
多対多の関係を使用した同じ構造を使用して、通話をユーザー、リード、連絡先に接続します。
保存をクリックした後 ボタンをクリックすると、通話に新しい通話記録が表示されます リスト。次に、データベース、特にcalls およびcalls_users テーブル。
calls 表では、“ parent_type” =Accountsであることがわかります。 parent_idのID フィールドはアカウントIDです。データベース内には、同じ属性を使用して他のいくつかのテーブルの1つに接続するテーブルがいくつかあります。 parent_id 参照されるテーブルparent_typeの主キーの値が含まれます 接続するテーブルを示します。
もちろん、calls_users その呼び出しを割り当てられたユーザーに関連付けるテーブル。
会議
「会議とリード 」セクションは、会議とリードに関連するデータを格納するために使用されるテーブルのグループです。会議データが何であるかは明らかですが、リード 当社の製品およびサービスに対するクライアントの潜在的な関心を参照してください。後で、それらのリードを使用して、機会、電話、会議に関連付けます。
meetings このセクションでは、テーブルと、会議を連絡先、リード、およびユーザーと接続するために適用されます。
通話と同様に、会議をユーザーに割り当てたり、クライアントに関連付けたりすることもできます。 [アクティビティ]->[会議]->[会議のスケジュール]をクリックして新しい会議に参加します 。
入力された会議データはSuiteCRM内に保存されます。会議リストで確認できます。通話と同様に、会議はアカウント、連絡先、タスク、機会、バグ、ケース、リード、プロジェクト、プロジェクトタスク、およびターゲットに割り当てることができます。
データベースでは、meeting 表には、新しく追加された会議に関するデータが含まれています。 parent_type およびparent_id 属性は、callsと同じ方法で同じ目的で使用されます データ。
meetings_users テーブルには、特定の会議に割り当てられているユーザーに関する情報が格納されます。
主キーはランダムに生成されたハッシュ値です。これにより、各テーブルだけでなく、データベース全体のすべての主キーに一意の値を設定できます。これは、多くの異なるテーブルの外部キーと同じ属性を使用している場合に特に便利です。 1つの属性にはキー値が含まれ、別の属性には参照されるテーブルの名前が含まれます。これにより、実際のビジネス状況をカバーするシステムが一般的に必要とする以上の柔軟性が得られます。
このシリーズを締めくくるパート4では、キャンペーン、プロジェクト、機会、ドキュメント管理など、SuiteCRMの残りの部分を詳しく見ていきます。