Trước đây trong loạt bài này, chúng tôi đã nhập mô hình cơ sở dữ liệu của SuiteCRM vào Vertabelo và hướng dẫn cách sử dụng các tính năng của Vertabelo để sắp xếp nó. Trong bài viết này, chúng ta sẽ xem cách dữ liệu CRM phổ biến được lưu trữ trong cơ sở dữ liệu của nó. Chúng tôi cũng sẽ kiểm tra các giả định được đưa ra trong Phần 2 về mối quan hệ giữa các bảng và chức năng của chúng. Nếu cần, chúng tôi sẽ thực hiện các sửa đổi đối với mô hình.
Hiện tại chúng ta có gì?
Trong Phần 1, chúng tôi đã cài đặt cục bộ SuiteCRM bằng gói cài đặt Bitnami. Sau khi đăng nhập thành công, màn hình SuiteCRM chính trông giống như bên dưới:
Cơ sở dữ liệu SuiteCRM có tên “bitnami_suitecrm” có thể truy cập được trên vị trí http://127.0.0.1/phpmyadmin. Nhớ lại rằng mô hình có 201 bảng.
Chúng tôi đã kết thúc Phần 2 của loạt bài này với mô hình được tổ chức như sau:
Yêu cầu cơ bản đối với CRM
CRM phải cho phép chúng tôi lưu giữ hồ sơ về khách hàng của mình và theo dõi các liên hệ (cuộc gọi, cuộc họp, v.v.) mà chúng tôi có với họ.
Khách hàng là trung tâm của bất kỳ hệ thống CRM nào. Chúng tôi cần lưu trữ dữ liệu tổ chức cơ bản của họ (tên, địa chỉ, doanh thu, số lượng nhân viên) và dữ liệu liên hệ của họ (điện thoại, di động, email, trang web và có lẽ cả tài khoản xã hội). Chúng tôi cũng phải theo dõi dữ liệu quản trị, chẳng hạn như thời điểm và người nào mà hồ sơ của họ được thêm vào hoặc cập nhật trong hệ thống.
Khi chúng ta nghĩ về các hành động liên quan đến khách hàng, chúng ta thường nghĩ đến các cuộc gọi và cuộc họp. Chúng tôi cũng có thể thực hiện một số hành động khác mà không cần liên hệ với khách hàng:kiểm tra xem sự cố đã được giải quyết chưa, thanh toán đã được thực hiện chưa, những việc tương tự như vậy. Chúng tôi muốn ghi lại các hành động trước đó, nhưng chúng tôi cũng cần khả năng lên lịch cho các sự kiện trong tương lai. Hơn nữa, chúng tôi sẽ lưu trữ thời gian bắt đầu và kết thúc của hành động, người đã chèn và cập nhật dữ liệu hành động, người đã khởi xướng hành động cụ thể đó và người chịu trách nhiệm về hành động đó.
Tất nhiên, có rất nhiều thứ khác - như các sản phẩm và dịch vụ đã bán trước đây và doanh số bán hàng mới tiềm năng - mà chúng tôi cũng có thể thêm vào CRM. Nhưng trong bài viết này, chúng tôi sẽ tập trung vào cách SuiteCRM lưu trữ dữ liệu khách hàng, cuộc gọi và cuộc họp.
Quản lý khách hàng
Các tổ chức khách hàng được gọi là tài khoản trong SuiteCRM. Đây là nội dung Tạo tài khoản mới màn hình trông giống như:
Và đây là bảng "tài khoản" trong cơ sở dữ liệu của SuiteCRM trông như thế nào:
Trong accounts
bảng, thông tin cửa hàng thuộc tính được nhập trong Tạo tài khoản mới màn hình:
- Dữ liệu khách cơ bản:
name
,description
,industry
,annual revenue
, “rating
,ownership
,employees
,ticker symbol
- Dữ liệu liên hệ:
phone_fax
, thuộc tính địa chỉ thanh toán, thuộc tính địa chỉ giao hàng,phone_office
,phone_alternate
,website
- Các thay đổi đối với dữ liệu khách hàng bên trong CRM:
created_by
,modified_user_id
,assigned_user_id
,date_entered
,date_modified
vàdeleted
.
Hầu hết các thuộc tính này thuộc loại varchar vì CRM phải có khả năng lưu trữ dữ liệu do người dùng chèn thuộc bất kỳ loại nào có thể.
accounts
bảng được kết nối với nhiều bảng khác trong cơ sở dữ liệu SuiteCRM. Tất cả các mối quan hệ được thiết lập theo các giả định được ghi lại trong Phần 2 của loạt bài này.
Các tài khoản bên trong SuiteCRM về cơ bản là một danh sách các khách hàng. Chúng có liên quan đến nhiều bảng khác trong hệ thống:contacts
, opportunities
, bugs
, cases
.
Trong SuiteCRM-speak, địa chỉ liên hệ là những người thực tế mà chúng tôi nói chuyện thay mặt cho tổ chức của họ (hãy nhớ rằng, trong CRM nói chuyện, các tổ chức này được gọi là "tài khoản"). Bạn có thể chỉ định một số liên lạc mới cho một tài khoản, như được hiển thị bên dưới:
Dữ liệu của cá nhân được lưu trữ trong contacts
bàn. account_contacts
bảng cho phép chúng tôi liên kết nhiều địa chỉ liên hệ với một tài khoản nhất định.
Cơ hội bên trong SuiteCRM là các khả năng bán hàng ước tính. Họ bị ràng buộc vào giai đoạn bán hàng. opportunities
và account_opportunities
bảng được sử dụng để lưu trữ dữ liệu về nhiều cơ hội liên quan đến một tài khoản.
Như bạn có thể đoán từ tên của họ, bugs
và accounts_bugs
bảng lưu trữ dữ liệu về các vấn đề liên quan đến tài khoản nhất định. Mô-đun SuiteCRM cũng cho phép chúng tôi nhập các giải pháp và theo dõi lịch sử lỗi. Các lỗi liên quan đến calls
, contact
, cases
và các bảng khác.
Mô-đun "trường hợp" được sử dụng để nhập và theo dõi các vấn đề liên quan đến dịch vụ. Sau khi thêm một trường hợp mới, chúng tôi có thể thêm các lỗi liên quan đến trường hợp đó.
Cuộc gọi
Bất kỳ hệ thống CRM nào cũng sẽ lưu trữ thông tin về các cuộc gọi đến khách hàng; SuiteCRM không có gì khác biệt. Để thêm cuộc gọi mới, chúng tôi nhấp vào Hoạt động -> Cuộc gọi và điền vào các dữ liệu cần thiết. Chúng tôi sẽ thêm một cuộc gọi mới và liên kết nó với một tài khoản và người dùng hiện có trong hệ thống của chúng tôi.
Đây là nội dung Cuộc gọi phần bên trong cơ sở dữ liệu trông giống như sau:
Trong calls
, chúng ta có thể thấy một số thuộc tính giống như trong accounts
bàn. Các thuộc tính created_by
, modified_user_id
và assigned_user_id
đề cập đến (những) người dùng đã tham gia cuộc gọi này, sửa đổi nó hoặc được chỉ định cho cuộc gọi. parent_type
và parent_id
cặp biểu thị bảng nào được tham chiếu và giá trị khóa chính cho bảng đó. Hầu hết các thuộc tính khác đều tự giải thích.
Cấu trúc tương tự, sử dụng quan hệ nhiều-nhiều, được sử dụng để kết nối cuộc gọi với người dùng, khách hàng tiềm năng và địa chỉ liên hệ.
Sau khi nhấp vào nút Lưu , chúng tôi có thể thấy bản ghi cuộc gọi mới trong Cuộc gọi của chúng tôi danh sách. Bây giờ chúng ta sẽ xem xét cơ sở dữ liệu, đặc biệt là các calls
và calls_users
bảng.
Trong calls
chúng ta có thể thấy rằng “parent_type” =Accounts và đó là id trong parent_id
trường là id tài khoản. Bên trong cơ sở dữ liệu có một số bảng sử dụng cùng một thuộc tính để kết nối với một trong số ít các bảng khác. Trong khi parent_id
sẽ chứa giá trị của khóa chính trong bảng được tham chiếu, parent_type
biểu thị chúng ta sẽ kết nối với bảng nào.
Tất nhiên, trong calls_users
bảng chúng tôi sẽ liên hệ cuộc gọi đó với một người dùng được chỉ định.
Cuộc họp
“ Cuộc họp và khách hàng tiềm năng ”Là nhóm các bảng được sử dụng để lưu trữ dữ liệu liên quan đến các cuộc họp và khách hàng tiềm năng. Mặc dù rõ ràng dữ liệu cuộc họp có thể là gì, nhưng dẫn đầu đề cập đến mối quan tâm tiềm năng của khách hàng đối với các sản phẩm và dịch vụ của chúng tôi. Sau đó, chúng tôi sẽ sử dụng những khách hàng tiềm năng đó và liên hệ chúng với các cơ hội, cuộc gọi và cuộc họp.
Chúng tôi sẽ nhận thấy rằng một số quy tắc chung để đặt tên trường trong meetings
bảng và để kết nối cuộc họp với các địa chỉ liên hệ, khách hàng tiềm năng và người dùng được áp dụng trong phần này.
Như với cuộc gọi, các cuộc họp cũng có thể được chỉ định cho người dùng và liên quan đến khách hàng. Chúng ta sẽ tham gia một cuộc họp mới bằng cách nhấp vào Hoạt động -> Cuộc họp -> Lên lịch cuộc họp .
Dữ liệu cuộc họp, sau khi được nhập, sẽ được lưu trữ bên trong SuiteCRM; chúng ta có thể xem nó trong danh sách cuộc họp. Cũng như các cuộc gọi, các cuộc họp có thể được chỉ định cho các tài khoản, địa chỉ liên hệ, nhiệm vụ, cơ hội, lỗi, trường hợp, khách hàng tiềm năng, dự án, nhiệm vụ và mục tiêu của dự án.
Trong cơ sở dữ liệu, meetings
bảng chứa dữ liệu về cuộc họp mới được thêm vào. parent_type
và parent_id
các thuộc tính được sử dụng theo cách tương tự và cùng mục đích với các lệnh gọi calls
dữ liệu.
meetings_users
bảng lưu trữ thông tin về những người dùng được chỉ định cho một cuộc họp nhất định.
Khóa chính là các giá trị băm được tạo ngẫu nhiên. Điều này cho phép chúng tôi có các giá trị duy nhất cho mọi khóa chính trong toàn bộ cơ sở dữ liệu, không chỉ trong mỗi bảng. Điều này đặc biệt hữu ích khi chúng tôi đang sử dụng cùng một thuộc tính làm khóa ngoại cho nhiều bảng khác nhau. Một thuộc tính chứa giá trị khóa, trong khi một thuộc tính khác chứa tên của bảng được tham chiếu. Điều này cung cấp tính linh hoạt hơn nhiều - nhiều hơn các hệ thống bao gồm một số tình huống kinh doanh thực tế thường cần.
Trong Phần 4, sẽ khép lại loạt bài này, chúng ta sẽ xem xét kỹ hơn phần còn lại của SuiteCRM bao gồm các chiến dịch, dự án, cơ hội và quản lý tài liệu.