現代聯絡中心的精髓是在多個頻道(語音,網絡聊天,視頻,電子郵件,社交媒體等)上為客戶提供服務,允許他們在跨渠道中無縫移動,最重要的是維護對話的上下文。
Twilio聯絡中心演示是用於建造現代聯絡中心的參考體系結構。該演示的重點是展示如何構建基於Twilio平台的聯絡中心以及所需的各種後端和前端組件。

注意:我們從UX的角度完成了基本工作,還有很多機會可以改善它。它是為了演示目的而設計的,尚未單獨檢查安全性。
此應用程序提供為IS。 Twilio不正式支持它。
客戶填寫在線呼叫請求 - >提交給服務器的表單 - >在創建任務的任務 - >找到可用的和匹配的代理 - >代理接受預訂並撥出客戶(PSTN) - >將客戶連接到代理(WEBRTC)

客戶調用Twilio電話號碼 - > Twilio請求Webhook->服務器生成IVR->呼叫者選擇IVR選項 - > TaskRouter上創建的任務 - >找到可用的代理 - > Agent Accests -contects-> connect convents -worters-將客戶連接到代理(WEBRTC)

客戶填寫在線Web聊天請求表格 - >提交給服務器的表單 - >“創建任務”上的任務 - >查找可用和匹配代理 - >代理接受預訂 - >開始客戶和代理之間的聊天

客戶填寫視頻通話請求表格 - >提交給服務器的表單 - > TaskRouter上的任務和創建的視頻室 - >查找可用和匹配代理 - >代理接受預訂 - >代理商加入視頻室

實時顯示操作聯絡中心指標(例如:平均呼叫手柄時間,代理生產率,呼叫指標,TaskRouter統計信息等)。請查看以下倉庫:https://github.com/ameerbadri/twilio-taskrouter-realtime-dashboard
如果您以前從未使用過Twilio,請歡迎!您需要註冊一個Twilio帳戶。
我們建議您在Twilio中創建一個單獨的項目,並使用該項目安裝此應用程序。
注意:建議您有一個升級的Twilio帳戶以充分體驗此演示。
在開始安裝之前,您需要從Twilio帳戶門戶收集以下變量。
TWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKENTWILIO_WORKSPACE_SID有關帳戶SID和Auth令牌,請單擊此處:https://www.twilio.com/console
購買電話號碼或使用現有電話(該應用程序將稍後為您配置該號碼)
創建一個新的Twilio TaskRouter工作區,然後選擇自定義模板。
有關Twilio API密鑰SID和Twilio API密鑰秘密,請單擊此處:https://www.twilio.com/console/dev-tools/api-keys
TWILIO_API_KEY_SIDTWILIO_API_KEY_SECRET對於Web聊天,您需要設置Twilio可編程聊天環境變量:
TWILIO_CHAT_SERVICE_SID代理UI不支持同時處理多個任務,因此所有任務均在同一任務通道上以一個同時任務的容量進行路由。有關更多詳細信息,請檢查TaskRouter多任務處理
您可以將此項目用Heroku上的所有驅動器部署,Terraform是一種開源基礎架構作為代碼軟件工具。
為Heroku創建API密鑰,請查看Heroku平台API指南以獲取幫助。
將Heroku API密鑰和您的電子郵件地址添加到terraform.tfvars 。
初始化Terraform配置文件並運行
terraform init
如果您尚未安裝Terraform,請關注Terraform入門。
將截面配置變量中列出的Twilio變量添加到terraform.tfvars變量文件中。
在基礎架構中設置您的heroku應用程序名稱文件file terraform_heroku.tf
創建執行計劃
terraform plan
通過執行在Heroku上安裝項目
terraform apply
安裝完成後,請打開https://<your-application-name>.herokuapp.com/setup並配置應用程序。演示概述將在https://<your-application-name>.herokuapp.com上訪問。
這將為您安裝應用程序和Heroku(要求登錄)的所有依賴項。作為安裝的一部分,Heroku應用程序將引導您完成環境變量的配置。請單擊以下按鈕部署應用程序。
安裝完成後,請打開https://<your-application-name>.herokuapp.com/setup並配置應用程序。演示概述將在https://<your-application-name>.herokuapp.com上訪問。
下載並安裝Google Cloud SDK。
創建一個新項目
gcloud projects create <your-project-id> --set-as-default
使用您的項目初始化應用程序引擎應用程序,然後選擇其區域:
gcloud app create --project=<your-project-id>
將截面配置變量中列出的twilio變量添加到app.yaml變量文件中。
通過運行以下命令將應用程序部署在應用引擎上。
gcloud app deploy
查看您的應用程序運行
gcloud app browse
安裝完成後,請打開https://<your-project-id>.appspot.com/setup並配置應用程序。演示概述將在https://<your-project-id>.appspot.com上訪問。
叉和克隆存儲庫。然後,安裝依賴項
npm install
如果要從文件加載環境變量,請安裝Dotenv軟件包以處理本地環境變量。
npm install dotenv
在根目錄中創建一個名為“ .env”的文件,然後將以下內容添加到app.js的頂部
require('dotenv').config()
為了運行演示,您需要在配置變量中設置環境變量列表](#configuration-variables)
啟動應用程序
npm start
在使用演示之前,請打開http://<your-application-name>/setup並配置應用程序。演示概述將在http://<your-application-name>上訪問。請注意,如果未設置process.env.port,則在端口5000上運行應用程序。
如果您在本地運行演示,請記住,Twilio需要一個可公開訪問的Webhooks地址,並且設置過程將其註冊為Twilio。因此,您需要運行諸如NGrok之類的東西,而不僅僅是擊中http:// localhost:5000/。當您從Ngrok獲得新地址時,您還需要重新運行設置過程,以在Twilio中註冊更新的地址。
NGROK設置
系統寬安裝
從Ngrok下載並安裝
使用NPM npm install ngrok -g
運行NGrok(如果相應地在.env更新中定義端口)
./ngrok http 5000
只需安裝項目
安裝NGrok軟件包
npm install ngrok --dev
將以下內容添加到app.js的頂部
const ngrok = require('ngrok')
const ngrokUrl = async function () {
const url = await ngrok.connect((process.env.PORT || 5000))
console.log('ngrok url ->', url)
}
在app.js中調用app.listen中的ngrokurl以記錄服務器上的ngrok url
ngrokUrl()
注意:在Google Chrome上,需要安全的HTTPS連接才能通過WEBRTC進行電話。使用支持HTTPS(例如NGrok)的隧道,該隧道可以將流量轉發到您的網絡服務器。
歡迎捐款並普遍接受。對於不瑣碎的修正案,最好提交一個問題,解釋PR之前提出的更改。這使維護者可以提供指導並避免您從事重複的工作。
您的更改必須遵守通用的項目代碼樣式。
# please run this before "git commit"
npm run lint
# try automatic fix
./node_modules/.bin/eslint controllers --fix
./node_modules/.bin/eslint public --fix
為了使其他貢獻者和審稿人的生活更輕鬆
git rebase -i HEAD^^^^^^
# then squash or fixup your shards
# and force push into your fork
git push origin [YOUR BRANCH] -f
您可以在Twitter上關注我 - @mdamm_de
麻省理工學院