整合Salesforce

藉Salesforce與CINNOX整合,提升團隊、生產力以及回應效率。你可以在同一平台,處理客戶資料,以及與他們互動。

它們的整合,可以聯繫聯絡人和與你的聯絡人資料同步,將他們的諮詢作個案記錄,其通話作為工作,以便在CINNOX平台,管理聯絡人與你的交流和參與,而無需轉換應用程式。

先決條件

📘

你的服務方案必須為The Ultimate CX Hub。你的 Salesforce方案必須是 Enterprise、Unlimited、Developer 或具有 API 訪問權限的版本。

如何知道你的Salesforce版本?

確定你使用的版本:

使用Salesforce Classic 和 Lightning Experience:

  • 如果你使用Lightning Experience,點擊齒輪圖示,然後選取設定首頁
  • 如果你使用Salesforce Classic 且在使用者介面頁首中看到設定,請點擊它。如果你使用Salesforce Classic 且並未在頁首看見設定,請點擊你的姓名,然後選擇設定
  • 進入設定,在快速尋找方塊中輸入公司資訊,然後選取公司資訊組織版本會顯示在右下方。

注意:Salesforce Organization IDInstance等其他關鍵組織資料,亦會在公司資訊頁面的右側列出。你點擊此連結了解更多資料。

 


概述

甚麼是Salesforce Sandbox(沙盒)?

Sandbox是正式環境的副本,通常用於整合的測試與開發,不會影響到你的實際資料。在部署到生產環境之前,需要先與你的CINNOX帳號和Salesforce Sandbox帳號做整合測試。

什麼是Salesforce Production(生產環境)?

Production為一個正式環境,任何更改都會影響你的實際數據。 完成與Sandbox帳號的整合後,再連接你的 Production 環境。

在將Salesforce Production連接到第三方時,Salesforce要求在部署上出現的配置,必須先在Sandbox中進行,而非直接在Production進行。

對於每個實例(沙盒和生產),你都需要在Salesforce中新增以下項目:

  • 遠端網站(Remote Site):藉註冊外部網站資源的URL,你或你的組織可以使用在Salesforce進入該外部網站的資源。

  • 連線的應用程式(Connected App):它是一個框架,藉此,外部的應用程式能連接到Salesforce,並可使用需要權限允許的數據。

  • Apex類別(Apex Class):Salesforce可以藉Apex類別,操作外部的網頁服務。

  • Apex觸發(Apex Trigger):Apex觸發可以在變更 Salesforce記錄(例如:插入、更新、刪除)的前後進行設定,以執行自訂動作。(例如:你的聯絡人)。

並且,你需要提供以下信息。

  • 消費者金鑰(Consumer Key)消費者密碼(Consumer Secret):用於驗證你與 Salesforce連接的應用程式。

  • 網域名稱(Domain Name):你在 Salesforce Org的完整網域名稱 (FQDN),例子如下:

  1. Sandbox的URL:https://abc--testsandbox.lightning.force.com/lightning/page/home 中,你的Salesforce Org域名是 https://abc--testsandbox.lightning.force.com。
  2. 在生產環境的URL:https://abc.lightning.force.com/lightning/page/home 中,你的Salesforce Org域名是 https://abc.lightning.force.com。
  • 位置:僅用於Sandbox連接。每個Sandbox在你的Sandbox帳號中,都有一個對應的位置。

🚧

將Salesforce集成到CINNOX服務時,請使用你的系統管理帳號。

按照Salesforce提供的步驟,在 Sandbox中新增的Apex類別Apex觸發, 需要在生產環境中部署。

 

連接成功後,你和員工可以登入你的Salesforce用戶帳號,當中會提供以下功能:

CINNOX和Salesforce連接後提供的功能

功能內容
Salesforce 連絡人資料在CINNOX顯示當客戶的諮詢和Salesforce連絡人的資料一樣時,該資料會在CINNOX的諮詢詳細資訊中顯示。
同步Contact資料當Salesforce連絡人資料和它在CINNOX的連絡人資料互相同步,可以在單一平台,查看所有資料。
CINNOX和Salesfore聯絡人資料的欄位配對,令兩者的資料自動同步。
每一位員工需要登入Salesfore帳號,從而令Salesfore 連絡人與CINNOX同步。
連接外部聯絡人一個Salesforce連絡人連接一個CINNX的外部聯絡人。一個CINNOX外部聯絡人可連接十個Salesforce連絡人。
新增外部聯絡人當在CINNOX新增外部聯絡人時,Salesforce亦會新增該連絡人。
搜尋連絡人你可以在Salesforce搜尋Salesforce連絡人。
更新連絡人你可以在CINNOX更新儲存Salesforce連絡人。
CINNOX的諮詢自動變成Salesfoce的個案CINNOX外部聯絡人的諮詢,會自動儲存為Salesforce的個案,並提供相關資訊和對話記錄。
CINNOX的通話自動變成Salesforce工作你在CINNOX的諮詢通話,會自動在Salesforce儲存為工作。通話日誌的內容,會記錄在工作詳細資料內。
簡訊營銷活動向Salesforce連絡人執行簡訊營銷活動。

 

連接CINNOX和Salesforce

沙盒環境

  • 你需要在Salesforce新增Sandbox
  • 使用你的系統管理員帳號,登入到Salesforce Sandbox Org。

之後,請繼續執行以下步驟:

  • 使用你的員工管理員帳號,登入你的 CINNOX控制面板
  • 導航到管理>服務整合
  • 點擊第三方整合
  • 點擊Salesforce (Sandbox)
  • 選擇Salesforce Sandbox,並點擊下一步

新增遠端網站

  • 使用你的系統管理員帳號,登入到你的Salesforce Sandbox組織。
  • 導航到設定>安全性控制>遠端網站設定
  • 點擊新遠端網站
  • 遠端網站名稱遠端網站URL,從CINNOX複製到 Salesforce 的同位置的欄位內。
  • 點擊儲存

 

新增已連線的應用程式

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox 組織。

  • 導航至設定 >建立>應用程式,在已連線的應用程式部份,點擊新增

  • 填寫表格中必須填寫的部份,並勾選啟用 OAuth 設定

  • Callback URL 從 CINNOX複製到 回電 URL

  • 選取的 OAuth 範圍 下,點擊並選擇新增以下內容:

    • 透過API管理使用者資料(api)
    • 存取身分URL服務(id, profile, email, address, phone)
    • 隨時執行請求(refresh_token, offline_access)
  • 點擊儲存

  • 螢幕出現帶有註釋的頁面:變更最多可能需要 10 分鐘才會生效。刪除父系組織也將刪除所有啟用 OAuth 設定的已連線應用程式。 點擊繼續

 

新增Apex類別

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox 組織。
  • 導航到設定>自訂程式碼>Apex類別>點擊新增
  • 從 CINNOX 複製並貼上 webhook 代碼到 Salesforce Apex類別編輯器(Apex Class分頁)。
  • 點擊儲存

 

新增Apex觸發

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox 組織。
  • 導航到設定>自訂程式碼>Apex觸發>點擊Developer Console
  • 在彈出窗口中,點擊File,選擇New,然後選擇Apex Trigger

 

  • 在彈出式視窗中,輸入名稱,例如:Triggercode1,在 sObject 字段中選擇 Contact,然後點擊 Submit

 

  • 刪除Developer Console中的預設代碼。
  • 從CINNOX 複製觸發代碼,並將之貼到Developer Console內。
  • 點擊File,選擇Save
  • 返回並更新 Apex 觸發頁面,新增的Apex觸發會出現。

 

  • 返回CINNOX控制面板,點擊下一步

消費者金鑰消費者秘密

提供消費者金鑰:

  • 導航到設定>應用程式>應用程式管理員
  • 查找最近在 CINNOX 新增的連線應用程式
  • 點擊向下箭頭圖標並選擇檢視
  • 點擊管理消費者詳細資料按鈕。
  • 填上驗證代碼後,點擊驗證
  • 點擊消費者金鑰消費者秘密複製按鈕。
  • 將之貼到 CINNOX 中的相應欄位內。

 

位置

要查找Sandbox位置:

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox 組織。
  • 導航到部署 >Sandbox
  • 將位置值貼到CINNOX的相應欄位內。

 

域名

要查看域名:

  • Sandbox頁,點擊登入。
  • 彈出式視窗出現,要求你登入Salesforce 系統管理員 帳號以授權 CINNOX。

注意:如果這是你首次使用 Salesforce 帳號,登入到設備和瀏覽器,Salesforce 將驗證碼發送到你的電子郵箱,並為 CINNOX要求取得以下權限:

  • 存取身份URL服務

  • 透過API管理使用者資料

  • 隨時執行要求

  • 然後,點擊允許

當你完成這些步驟,並成功連接Sandbox Org到CINNOX後,會出現以下頁面。在預設的情況下,你的 Salesforce連絡人將同步並顯示在你的CINNOX 聯絡人中。

  • 你可以啟用將外部聯絡人自動同步到Salesforce,從而在Salesforce中同步和顯示你在CINNOX外部聯絡人。
  • 點擊下一步以確認自動同步。
  • 點擊完成退出當前頁面。
  • 點擊完成退出頁面。
1562

Sandbox Integration to CINNOX Successfully Completed

 

Salesforce連絡人欄目和 CINNOX聯絡人欄目對照表

  • 以下為Salesforce連絡人欄目和 CINNOX 聯絡人欄目對照表。這些欄目上的記錄能夠在兩者自動同步。
Salesforce連絡人欄目CINNOX聯絡人欄目
姓氏姓氏
名字名字
職稱職位
部門團隊
生日出生日期
電話公司電話
住家電話住宅電話
行動電話手機電話號碼
其他電話其他電話
郵寄街道街道名稱
郵寄城市城市
郵寄州/省地區
郵寄郵遞區號郵遞區號
郵寄國家國家
電子郵件電子郵件地址

 

有關登入 Salesforce 的詳細資料,以及更多其功能的資料,請參閱本指南的CINNOX 中的 Salesforce連絡人及案例部份。

🚧

  • 當終斷Sandbox連接,Salesforce連絡人和外部聯繫人的更改,不再在CINNOX 服務中生效。
  • Sandbox用於測試集成,並新增 Apex 類別和其觸發,以在生產環境中部署。

 

中斷連接Sandbox和CINNOX

如要中斷連接Sandbox和CINNOX:

  • 使用員工管理員帳號,登入 CINNOX 控制面板。
  • 導航到管理>服務整合
  • 點擊第三方整合
  • 點擊中斷連接
  • 在彈出式視窗點擊中斷連接
2034

Disconnect Sandbox and CINNOX

 


生產環境

  • 使用你的系統管理員帳號,登入到新增的 Salesforce Org 的生產環境。

之後,請繼續執行以下步驟:

  • 使用你的員工管理員帳號,登入到你的CINNOX控制面板。
  • 導航到管理 > 服務整合
  • 中斷連接Sandbox。
  • 點擊編輯
  • Salesforce 整合選擇頁中,選擇Salesforce 生產
  • 點擊下一步

📘

遠端網站連線應用程式 的新增步驟與 其在Sandbox的步驟類似,唯一分別在於環境的不同。

新增遠端網站

  • 使用你的系統管理員帳號,登入到新增的 Salesforce Org 的生產環境。
  • 導航到設定>應用程式>遠端網站設定
  • 點擊新遠端網站
  • 遠端網站名稱遠端網站URL,從CINNOX複製到 Salesforce 的同位置的欄位內。
  • 點擊儲存
Production - Create New Remote Site

Production - Create New Remote Site

 

新增連線應用程式

  • 使用你的系統管理員帳號,登入到你的Salesforce生產組織。

  • 導航到 設置 >應用程式>應用程式管理員>新的已連線應用程式**。

  • 填寫表格中必須填寫的部份,並勾選啟用 OAuth 設定。

  • Callback URL從CINNOX複製到回電 URL

  • 在 選取的OAuth範圍 下,點擊並選擇新增以下內容:

    • 透過API管理使用者資料(api)
    • 存取身分URL服務(id, profile, email, address, phone)
    • 隨時執行請求(refresh_token, offline_access)
  • 點擊儲存

  • 螢幕出現帶有註釋的頁面:變更最多可能需要 10 分鐘才會生效。刪除父系組織也將刪除所有啟用 OAuth 設定的已連線應用程式。 點擊繼續

 

在生產環境部署Sandbox Apex類別和觸發

你需要新增測試類,並且代碼覆蓋率超過 75%,才能在生產環境中部署Apex類別。

更多詳細資料請參考Instructions to test Apex code

I. 新增測試類別

以下是你可以添加到 Sandbox 組織的示例測試類。

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox 環境。
  • 導航到設定>自定程式碼>Apex 類別

 

  • 點擊新增建立一個新的Apex Class
  • 複製並貼上下面的代碼到Apex Class
global class WebhookMockImpl implements HttpCalloutMock {
    public static HttpResponse response;
    global HTTPResponse respond(HTTPRequest req) {
        response = new HttpResponse();
        response.setStatusCode(200);
        return response;
    }
    global static void callout(String url, String content) {
        
    }
}
  • 點擊Save
  • 成功新增了一個Apex類別

 

  • 返回 Apex 類別主頁
  • 點擊新增 建立一個新的Apex Class
  • 複製並貼上下面的代碼到Apex Class
@isTest
public class TestContactTrigger {
    @isTest static void TestTrigger() {
        // Test data setup
        // Create an account with an opportunity, and then try to delete it
        Account acct = new Account(Name='Test Account2');
        insert acct;
        Contact newContact = new Contact(LastName='TestContact3', AccountId=acct.id);
        //insert newContact;
        
        

        // Perform test
        Test.startTest();
        Test.setMock(HttpCalloutMock.class, new WebhookMockImpl());
        Database.SaveResult result = Database.insert(newContact, false);
        Test.stopTest();
        // Verify 
    System.debug(result.getErrors());        
        System.assert(result.isSuccess());
    }
}
  • 點擊Save
  • 成功新增了一個Apex類別

 

  • 返回 Apex 類別主頁
  • 點擊新增 建立一個新的Apex Class
  • 複製並貼上下面的代碼到Apex Class
@isTest
public class TestWebhook {
    @isTest static void TestJsonContent() {
        System.TriggerOperation op = TriggerOperation.AFTER_INSERT;
        List<Account> contacts = new List<Account>();

        String result = Webhook.jsonContent(op, contacts, contacts);
        System.assert(result.length()>0);
    }
}
  • 點擊Save
  • 成功新增了一個Apex類別

 

📘

你在Sandbox Org 總共新增了4個Apex Class。

 

II. 部署 Apex 類別

  • 使用你的系統管理員帳號,登入到你的 Salesforce 生產組織。
  • 導航到環境>部署>部署設定
  • 檢查你的Apex類別是否在Sandbox Org。
  • 上載驗證方向不是從 Sandbox 指向 Production的綠色箭頭時。 例如:它顯示一條斷開的紅線(請參閱下圖),點擊Sandbox名稱旁的編輯按鈕。
  • 勾選允許輸入變改
  • 點擊儲存
  • 確保上載驗證方向的綠色箭頭從Sandbox指向Production。 成功地從Sandbox上載變更集(Change Sets) 到Production。

 

之後,

  • 使用你的系統管理員帳號,登入到你的 Salesforce Sandbox組織。
  • 導航到 設定>部署>輸出變更集
  • 變更集部份,點擊新增
  • 命名你的新變更集。 它可以是任何名稱。
  • 點擊儲存
  • 變更集頁面,導航到變更集元件
  • 點擊新增
  • 元件類型下拉式名單中,選擇Apex類別
  • 勾選4個Apex類別。
  • 點擊加增至變更集
  • 變更集頁面,再次導航到變更集元件
  • 點擊新增
  • 元件類型下拉式名單中,選擇Apex Trigger
  • 勾選Apex Trigger
  • 點擊加增至變更集
  • 你的輸出變更集包含了5個Apex類別Apex觸發
  • 點擊上載
  • 勾選上載資料部份的生產選項按鈕 - 目標組織
  • 點擊上載
  • 頁面出現輸出變更集成功上傳通知。
  • 另外,上載成功後,你會收到一封電子郵件。

 

然後,

  • 使用你的系統管理員帳號,登入到你的Salesforce 生產組織。
  • 導航到設定>部署>輸入變更集
  • 找到從Sandbox組織上傳的變更集,然後點擊部署
2280

Production Inbound Change Set Deployment

  • 保持測試選項為預設,點擊部署
2102

Production Inbound Change Set Deployment

  • 在彈出式窗口出現一個部署變更改集的警告。 點擊確定
2102

Production Inbound Change Set Deployment

  • 回到輸入變更集中,在部署狀態頁跟踪進度。
2126
  • 此外,當部署成功完成後,你會收到一封電子郵件。

  • 導航到設定>自訂程式碼>Apex類別

  • 檢查部署的變更集中的4個Apex類,是否出現在你的Salesforce生產環境中。

  • 導航到設定>自訂程式碼>Apex觸發
  • 檢查部署的變更集中的Apex觸發,是否出現在你的Salesforce生產環境中。
  • 返回 CINNOX控制面板,點擊 下一步

📘

提供消費者金鑰消費者秘密域名的步驟與Sandbox的步驟類似。 唯一分別在於環境的不同。

消費者金鑰消費者秘密

如要尋找消費者金鑰消費者秘密

  • 導航到設定>應用程式>應用程式管理員。
  • 查找最近在 CINNOX 新增的連線應用程式。
  • 點擊向下箭頭圖標並選擇檢視。
  • 點擊管理消費者詳細資料按鈕。
  • 填上驗證代碼後,點擊驗證。
  • 點擊消費者金鑰和消費者秘密的複製按鈕。
  • 將之貼到 CINNOX 中的相應欄位內。

域名

要查自域名:

  • 在你的 Salesforce Production 組織頁面上,導航到URL。
  • 複製域名,例如:https://abc-dev-ed.lightning.force.com/,並將之貼到 CINNOX 中的相應欄位內。
  • 在CINNOX,點擊驗證
  • 彈出式視窗出現,要求你登入Salesforce 系統管理員 帳號以授權CINNOX。

注意:如果這是你首次使用 Salesforce 帳號,登入到設備和瀏覽器,Salesforce將驗證碼發送到你的電子郵箱,並為 CINNOX要求取得以下權限:

  • 存取身分URL服務。

  • 透過API管理使用者資料。

  • 隨時執行要求。

  • 然後,點擊允許

當你完成這些步驟,並成功連接Sandbox Production Org到CINNOX後,會出現以下頁面。在預設的情況下,你的Salesforce連絡人將同步,並顯示在你的CINNOX聯絡人中。

  • 你可以啟用將外部聯絡人自動同步到 Salesforce,從而在 Salesforce中同步和顯示你在 CINNOX 外部聯絡人。
  • 點擊下一步以確認自動同步。
  • 點擊完成退出當前頁面。
  • 點擊完成退出頁面。

 

員工在 CINNOX 中登入 Salesforce

有關登入Salesforce,以及其更多可用功能的詳細資料,請參閱本指南的控制面板的Salesforce聯絡人部份。