Skip to main content
Minh Nong
💬
0 discussions

Hướng dẫn Tích hợp Salesforce


I. Điều kiện tiên quyết

II. Đối tượng đọc

  • Stage Owner
  • Customer Success Engineer
  • Customer Success Specialist

III. Hướng dẫn cài đặt

1. Cách sử dụng SOQL Workbench

  • Step 1: Đăng nhập vào Salesforce

  • Step 2: Đăng nhập vào SOQL Workbench

    a. Sau khi đăng nhập workbench

    Chọn: SOQL query
    Object: Contact
    > Chọn 'Select' và next

    b. Trong trang query

    SELECT Name,Email,AccountId FROM Contact

    Kết quả :

    NameEmailAccountId
    Rose Gonzalezrose@edge.com0012w00001FWbG9AAL
    SELECT Name,Email,Account.Name,Account.Id,AccountId FROM Contact

    Result :

    NameEmailAccount. NameAccountIdAccount. Id
    Rose Gonzalezrose@edge.comEdge Communications0012w00001FWbG9AAL0012w00001FWbG9AAL

    Tập sử dụng workbench để kiểm tra thông tin các object và query data cần thiết

2. Tích hợp

Bấm vào setup icon ở đầu trang, tay phải và chọn Object Management Settings.

Xem ví dụ: Watch Video Demo How to Add a Custom Field in Salesforce (Lightning Experience)

Bước 1: Thêm custom fields vào Activity and User objects:

  • Activity fields :
Field LabelField NameDataType
Gcalls Call DurationGcalls_Call_Duration__cNumber(18,0)
Gcalls Call FlowidGcalls_Call_Flowid__cText(100)
Gcalls Call StatusGcalls_Call_Status__cText(100)
Gcalls Call TypeGcalls_Call_Type__cPicklist (Note : Enter values Inbound , outbound)
Gcalls Customer PhoneGcalls_Customer_Phone__cPhone
Gcalls End TimeGcalls_End_Time__cDate/Time
Gcalls SMS ContentGcalls_SMS_Content__cText(255)
Gcalls Start TimeGcalls_Start_Time__cDate/Time
Gcalls URL RecorderGcalls_URL_Recorder__cURL(255)
Gcalls_ActivitIdGcalls_ActivitId__cText(255)
  • User fields :
Field LabelField NameDataType
Gcalls ExtensionGcalls_Extension__cText(255)
Gcalls PasswordGcalls_Password__cText(100)
Gcalls ProxyGcalls_Proxy__cText(255)
Gcalls WebsocketGcalls_Websocket__cText(255)

Bước 2: Tạo Salesforce Lightning app với OpenCTI component

Watch a Demo: Watch Video Demo How to Create a Lightning App in Salesforce (Lightning Experience)

Cài đặt theo hướng dẫn :

  1. Navigation Style: Console navigation
  2. In Utility Items, select Open CTI Softphone and click Next
  3. Select Navigation Items, then select User Profile. Finally, click on "Save and Finish" to exit the wizard
  4. Kiểm tra App vừa tạo trong App Launcher

Bước 3: Cài đặt Apex code

  1. Trong Salesforce, mở the Developer console (góc phải phía trên chỗ đăng nhập). Chọn File > New > Apex Class :

    Class name: RCPhoneHelper

  2. Copy RCPhoneHelper từ gcalls-shell/market-driven/Salesforce repo and paste vào

  1. Tạo Class tên RCPhoneHelperTest và copy nội dung RCPhoneHelperTest vào

  2. Chọn File > Save All

  3. Chạy tests trong Salesforce, chọn Test trên navigation bar > Run All.

Bước 4: Tạo callcenter trong Salesforce

  1. Tải call-center.xml
  2. Vào màn hình Setup, Tìm "Call Centers" (gõ chữ call centers vào ô search tay trái), bấm chọn Call Center sau đó import file
  1. Để thêm Users cho Call Center in Salesforce:
  • Chọn call center record > Manage Call center Users > Add more User > Thêm tất cả User vào

Bước 5 : Tạo Connected App

  1. Từ Setup > Search App Manager trên ô search > chọn App Manager > chọn "Create New Connected App"
  • Thêm thông tin sau và "Save"
Connected App Name   : Gcall Integration
API Name : Gcall_integration
Contact Email : developer@gcalls.co
Enable OAuth Setting : true
Callback URL : http://localhost
Selected OAuth Scopes: Full access (full)
  1. Bấm Setup chỗ login > bấm search App Manager ô search, tìm connected app vừa tạo > chọn Manage > edit Policy > Save
IP Relaxation   : Relax IP restrictions
Permitted Users : All users may self-authorize

  1. Từ Setup > Search App Manage , tìm Connected Apps > select View

    • API (Enable OAuth Settings) > Consumer Key and Secret > Chọn Manage Consumer Details > generate Consumer Key And Secret
  1. Sau khi lấy key và secret, lưu lại để update lên gcalls portal ở phần tiếp theo
curl https://login.salesforce.com/services/oauth2/token -d 'grant_type=password&client_id=3MVG9Y6d_Btp4xp5OkM1b4zt4n4eqn2.VASD8jhibLV4goD.76u54WjIqaJwXtK29roDJfFFTTTTX0EO_f84q&client_secret=7894561272718739647&username=salesforcecodes@test.com&password=passwordValueSecurityToken' -H "X-PrettyPrint: 1"

Result :

  "access_token" : "00D2w00000Ksypp!ARsAQFT_hyxwityyQt6m4JV0ieyDdHzaUYkzptgN1.7YjwXw2y0D4DSQGVmXIx2aOYinGd_LsuII_TwRwEoivX4z4SNQ1_W1u",
"instance_url" : "https://gcalls-dev-ed.develop.my.salesforce.com",
"id" : "https://login.salesforce.com/id/00D2w00000KsyppEAB/0052w00000C53pLAAR",
"token_type" : "Bearer",
"issued_at" : "1675400977823",
"signature" : "+yfMxMO9toK0HiSuTscu8Uw4oKtRErRo1A6hOFQGJpM="
}


Bước 6 : Thêm tích hợp

Vào https://portal.gcalls.vn > Customer > Integration > Search 'salesforce' > Chọn "eye" icon > cLick Add integrator

  1. ID Callcenter

    Vào portal, search thông tin callcenter ở mục Callcenter để lấy ID

  2. Host : yoursalesroce.host.com (Example : my.salesforce.com)

  3. Description : Your description

  4. Info : Quản lý các chức năng objects.Xem topic JSON Integration Data và có thể tham khảo các tích hợp salesforce khác ở portal

  5. Iframe : render UX/UI cho objects,từ Info ở bước trên. Xem JSON Integration Data and có thể tham khảo các tích hợp Salesforce khác ở portal

  6. Fields : Các thông tin của Salesforce như host, token ở bước 5

Bước 7: Tạo folder tích hợp

  1. Mỗi folder là Id của tích hợp Salesforce đó:
$ cd omnibox/src/customCallbox/salesforce
$ ls

Result :
--62e206a54e4a1c0d633bdaea
--6306f68af2566a2336d42117
--63a4269b102e1b9759a12c2b


  1. Có thể tìm integratorId sau khi tạo tích hợp ở portal bằng cách search id trong database ở third-party -> integrator (filter bằng hostname) hoặc đăng nhập vào Salesforce, sau đó mở console log của trình duyệt để xem lỗi trả về integratorId
  • Login to Salesforce using the Google Chrome browser.
crt + shift + j

Tạo folder với tên folder là integratorId của tích hợp

Chức năng này nhằm mục đích update laị LeadId cho task được tạo lần đầu ở 2 trường hợp user tạo Lead trong khi call (User nhận cuộc gọi từ Lead mới, lúc này Lead chưa có trên hệ thống để search ra Lead ID, tham khảo updateSFTask trong Omnibox) và user tạo Lead sau khi endcall ( Lead có sau task nên task trước đó không có LeadId, làm theo các bước bên dưới).

  • Chức năng này bao gồm 2 phần:
    • Phần code - kiểm tra code autolink ở omnibox trong các tích hợp khác
    • Phần setup trong CRM

Bước 1: Vào object manager , tìm Lead, chọn flow trigger và tạo new flow

Bước 2: Chỉnh sửa thông tin theo hình

Bước 3: Bấm vào dấu cộng và chọn Update Record

Bước 4: Chỉnh sửa thông tin theo hình sau đó bấm vào active ở đầu trang để sử dụng

V. Trường hợp missed call

  • Kiểm tra file auth-sf.json ở rawservice. Lưu ý khi cài trên local chỉ được sử dụng thông tin sanbox

VI. TIP

  • Mỗi User Salesforce được gắn Profile khác nhau, trong profile sẽ có nhiều config để set role cho Profile đó. Hiện tại account tích hợp đăng được sử dụng Profile 'System Admin'. Trong profile của user tích hợp phải được cung cấp đầy đủ quyền hạn để truy xuất dữ liệu

VI. Kết luận

Tài liệu này hướng dẫn cách tích hợp salesforce, nếu có góp ý xin vui lòng điền vào form bên dưới.