Hướng dẫn tích hợp ZOHO DESK
1. Thao tác trên Zoho
- Đăng nhập vào nền tảng Zoho Desk bằng Admin
- Tiếp tục đăng nhập vào link https://api-console.zoho.com/
- Bấm chọn Self Client

- Tiếp tục nhập các thông tin sau tại GENERATE CODE

SCOPE: dán đoạn sau vào, lưu ý dán đầy đủ, không thiếu, không dư
Desk.contacts.READ,Desk.contacts.CREATE,Desk.contacts.UPDATE,Desk.activities.calls.CREATE,Desk.activities.CREATE,Desk.search.READ,Desk.tickets.READ,Desk.tickets.CREATE,Desk.settings.READ,Desk.basic.READ
TIME DURATION: Tuỳ ý, nên chọn là 10
SCOPE DESCRIPTION: Không được để trống nhưng có thể điền tuỳ ý
Sau đó bấm CREATE
- Tiếp tục thao tác như sau

- Sau đó copy CODE hiện lên như hình và tiến hành gọi API để để lấy refresh token

Method gọi API: POST
URL: https://accounts.zoho.com/oauth/v2/token?grant_type=authorization_code&client_id=<client_id>&client_secret=<client_secret>&code=<Code>
Trong đó:
client_id và client_secret lấy ở tab CLIENT SECRET kế bên tab GENERATE CODE

Ví dụ, dùng Postman gọi API để lấy refresh token

Về cách sử dụng POSTMAN để gọi API, có thể tham khảo tại đây
2. Thao tác trên Portal
Sau khi có được thông tin Client ID, Client Secret và Refresh Token, tiến hành truy cập portal để tích hợp:
- Vào link https://portal.gcalls.co/integration
- Search tìm nền tảng zoho => chọn icon mắt

- Bấm vào Add Integrator và nhập các thông tin vào các trường ở popup lên như sau

ID Call Center: nhập ID của tổng đài đang tích hợp
Host: nhập tên miền của zoho đang tích hợp
Description: nhập tên tổng đài đang tích hợp
Info: copy chính xác đoạn script sau dán vào
{"renderTooltip":[{"path":"/ShowHomePage","element":"a[href^='https://desk.zoho.com/support/gcall/tel']"},{"path":"/ShowHomePage","element":"[href^='tel']"}],"dataFunction":[{"objectName":"contact","templateName":"zohodesk","endpointName":"search_contact_zohodesk","arrayResponse":"","responseData":[{"accountName":"data[0].account.accountName","quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#Contacts/dv/:ContactId","replaceData":\[{":ContactId":"data?.data[0]?.id"}]}},{"type":"data\[0].type"},{"email":"data\[0].email"},{"owner":"data\[0].owner.firstName"},{"id":"data\[0].id"},{"accountId":"data\[0].account.id"}],"data":{"phone":":phone"},"replaceData":\[{":phone":"iframeDatas?.phone"}],"quickOpenUrl":{"Url":":url","replaceData":\[{":url":"result?.data?.contact?.webUrl"}]}},{"objectName":"account","templateName":"zohodesk","endpointName":"get_account_zohodesk","arrayResponse":"","responseData":\[{"accountName":"accountName","quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#setup/users-control/agents/:AccountId","replaceData":[{":AccountId":"data?.account?.accountId"}]}},{"website":"website"},{"email":"email"},{"ownerId":"ownerId"}],"data":{"id":":accountId"},"replaceData":\[{":accountId":"iframeDatas?.contact?.at(0)?.at(0)?.accountId"}]},{"objectName":"latestTickets","templateName":"zohodesk","endpointName":"get_tickets_zohodesk","arrayResponse":"data","responseData":\[{"subject":"subject"},{"status":"status"},{"assignee":"asignee?.firstName"},{"createdTime":"createdTime"},{"contactId":"iframeDatas?.contact?.at(0)?.at(0)?.id"}],"data":{"contactId":":contactId"},"replaceData":\[{":contactId":"iframeDatas?.contact?.at(0)?.at(0)?.id"}]}],"preLogFunction":\[{"templateName":"zohodesk","endpointName":"create_ticket_zohodesk","data":{"contactId":":contactId","subject":"subjectData","description":"contentData","phone":":phone","departmentId":"675436000000006907"},"replaceData":[{"subjectData":"subjectTitle2"},{"contentData":"TextContent"},{":phone":"iframeData?.phone"},{":name":"iframeData?.contact?.at(0)?.at(0)?.name"},{":contactId":"iframeData?.contact?.at(0)?.at(0)?.id"},{":direction":"directionCustom"}],"responseData":\[{"ticketZohodeskId.id":"result?.data?.id"}],"quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#Cases/dv/:ticketId","replaceData":\[{":ticketId":"result?.data?.id"},{":hostName":"parrentHostname"}]}}],"logFunction":\[{"templateName":"zohodesk","endpointName":"update_ticket_zohodesk","data":{"description":"contentData","id":"idTicket"},"replaceData":[{"contentData":"TextContent"},{"idTicket":"iframeData?.ticketZohodeskId?.id"}]}],"handleCreate":\[{"templateName":"zohodesk","endpointName":"create_contact_zohodesk","data":{"accountName":":name","phone":":phone","email":":email"},"replaceData":[{":name":"objectValue?.userName"},{":email":"objectValue?.email"},{":phone":"iframeData?.phone"}],"inputElm":\[{"id":"userName","type":"input","placeholder":"Name"},{"id":"email","type":"input","placeholder":"Email"}]}]}
Iframe: copy chính xác đoạn script sau dán vào
[{"col":"4","label":"Account Info","objectName":"account","arrayData":"","fields":[{"Name":"accountName","quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#Accounts/dv/:AccountId","replaceData":[{":AccountId":"data?.account?.at(0)?.at(0)?.id"}]}},{"Website":"website"},{"Email":"email"},{"Owner":"ownerId"}]},{"col":"4","label":"Contact Info","objectName":"contact","arrayData":"","fields":[{"Name":"accountName","quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#Contacts/dv/:ContactId","replaceData":[{":ContactId":"data?.contact?.at(0)?.at(0)?.id"}]}},{"Type":"type"},{"Email":"email"},{"Owner":"owner"}]},{"col":"4","label":"Latest Tickets","objectName":"latestTickets","arrayData":"latestTickets","fields":[{"Name":"subject","quickOpenUrl":{"Url":"https://desk.zoho.com/support/gcall/ShowHomePage.do#Cases/dv/:ticketId","replaceData":[{":ticketId":"value"},{":hostName":"parrentHostname"}]}},{"Status":"status"},{"Assignee":"assignee"},{"CreatedAt":"createdTime"}]}]
Host: url của Zoho Desk đang tích hợp
Client_id: copy từ trên zoho ở bước tương tác với zoho
Client_secret: copy từ trên zoho ở bước tương tác với zoho
Refresh token: Copy refresh token vừa gọi được dán vào
Grand_type: refresh_token
Authorization: Zoho-oauthtoken <access_token>
AuthorizationT: Zoho-oauthtoken
Token: [POST]https://accounts.zoho.com/oauth/v2/token?refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>&grant_type=refresh_token
Bấm OK để hoàn tất tích hợp
3. Kết luận
Trên đây là bài viết hướng dẫn tích hợp nền tảng Zoho Desk với Gcalls. Sau khi hoàn tất tích hợp, anh chị vào các bạn hãy thực hiện testing kỹ theo bảng test case đối với các trường hợp hợp tích hợp. Hy vọng bài viết sẽ giúp ích được nhiều cho anh chị và các bạn. Nếu có ý kiến đóng góp hoặc thắc mắc gì, anh chị và các bạn vui lòng để lại ở phần bình luận.