twilio contact center

其他类别 2025-07-29

twilio contact center演示

现代联络中心的精髓是在多个频道(语音,网络聊天,视频,电子邮件,社交媒体等)上为客户提供服务,允许他们在跨渠道中无缝移动,最重要的是维护对话的上下文。

twilio contact center演示是用于建造现代联络中心的参考体系结构。该演示的重点是展示如何构建基于Twilio平台的联络中心以及所需的各种后端和前端组件。

注意:我们从UX的角度完成了基本工作,还有很多机会可以改善它。它是为了演示目的而设计的,尚未单独检查安全性。

此应用程序提供为IS。 Twilio不正式支持它。

特征

  • Twilio电话号码
  • Twilio可编程语音(PSTN,Twilio WebRTC客户端)
  • Twilio可编程聊天
  • Twilio可编程SMS和Facebook Messenger
  • Twilio可编程视频
  • Twilio TaskRouter
  • Twilio Rest Apis

客户旅程流量:

回调语音调用(PSTN):

客户填写在线呼叫请求 - >提交给服务器的表单 - >在创建任务的任务 - >找到可用的和匹配的代理 - >代理接受预订并拨出客户(PSTN) - >将客户连接到代理(WEBRTC)

入站语音通话(PSTN):

客户调用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平台的基本知识 - TwilioQuest,这是一种交互式,自定进度的游戏,您可以在其中学习如何进行Twilio。
  • Twilio TaskRouter
  • Twilio客户
  • Twilio可编程聊天
  • Twilio可编程视频
  • Angular.js,Bootstrap和Node.js的工作知识

安装

如果您以前从未使用过Twilio,请欢迎!您需要注册一个Twilio帐户。

我们建议您在Twilio中创建一个单独的项目,并使用该项目安装此应用程序。

注意:建议您有一个升级的Twilio帐户以充分体验此演示。

配置变量

在开始安装之前,您需要从Twilio帐户门户收集以下变量。

  • TWILIO_ACCOUNT_SID
  • TWILIO_AUTH_TOKEN
  • TWILIO_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_SID
  • TWILIO_API_KEY_SECRET

对于Web聊天,您需要设置Twilio可编程聊天环境变量:

  • TWILIO_CHAT_SERVICE_SID
  • 要创建新的聊天服务或重新使用现有服务,请单击此处:https://www.twilio.com/console/chat/services

代理UI不支持同时处理多个任务,因此所有任务均在同一任务通道上以一个同时任务的容量进行路由。有关更多详细信息,请检查TaskRouter多任务处理

  • 有关出站呼叫启用代理会议设置,请单击此处:https://www.twilio.com/console/voice/conferences/settings/settings

Terraform安装 - Heroku

您可以将此项目用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://.her*ok**uapp.com/setup并配置应用程序。演示概述将在https://.he*rok*ua*pp.com上访问。

一键安装 - Heroku

这将为您安装应用程序和Heroku(要求登录)的所有依赖项。作为安装的一部分,Heroku应用程序将引导您完成环境变量的配置。请单击以下按钮部署应用程序。

安装完成后,请打开https://.her*ok**uapp.com/setup并配置应用程序。演示概述将在https://.he*rok*ua*pp.com上访问。

Google App引擎安装

下载并安装Google Cloud SDK。

创建一个新项目

gcloud projects create --set-as-default

使用您的项目初始化应用程序引擎应用程序,然后选择其区域:

gcloud app create --project=

将截面配置变量中列出的twilio变量添加到app.yaml变量文件中。

通过运行以下命令将应用程序部署在应用引擎上。

gcloud app deploy

查看您的应用程序运行

gcloud app browse

安装完成后,请打开https://.a*pp*s*pot.com/setup并配置应用程序。演示概述将在https://.**apps*pot.com上访问。

手动安装 - 在您自己的服务器上

叉和克隆存储库。然后,安装依赖项

npm install

如果要从文件加载环境变量,请安装Dotenv软件包以处理本地环境变量。

npm install dotenv

在根目录中创建一个名为“ .env”的文件,然后将以下内容添加到app.js的顶部

require('dotenv').config()

为了运行演示,您需要在配置变量中设置环境变量列表](#configuration-variables)

启动应用程序

npm start

在使用演示之前,请打开http:///setup并配置应用程序。演示概述将在http://&*lt;yo*ur*-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

执照

麻省理工学院

下载源码

通过命令行克隆项目:

git clone https://github.com/nash-md/twilio-contact-center.git