
在线聊天机器人是市场上的最新趋势。 但是,如何与离线的客户端进行交互呢? 很大一部分人更喜欢通过电话互动。 业务需要大量的运营商或语音通信自动化解决方案。 我们正在提供一种解决方案,以减少工作量和成本(几乎不会影响开发人员的忙碌程度)。
如何快速,轻松地对带有附加客户端数据库的任何语音菜单,自动信息,机器人秘书进行编程?
剧透警报:一切都通过实施webhooks完成,我们使用的是PHP示例。
什么,为什么?例如,您拥有送货服务或在线商店,并拥有自己的物流。 一些客户打电话来看看包装里有什么,并且可以很容易地实现自动化。 驾驶室地理位置定位,一些数据收集或可以向客户报告而不浪费人力的任何个人信息也是如此。
它可以很容易地实现自动化,我们将在下面提供一个示例。 哦,它可以完全免费地完成。
为什么不使用自己的星号?当然,所有这些都可以使用Asterisk完成,但是除了开发人员以外,您还需要一个管理员,该管理员也熟悉语音通信安全性(因为他们经常被黑客入侵)。
因此,我们将讨论解决任务的最简单方法-使用webhooks。
方法清单您只需要两种新方法即可完成工作,但是每种方法都为您提供了很多可能性,最重要的是,您可以无限循环。 在这些周期的帮助下,您可以获取多级语音菜单和任何主题的线人。
主要方法:- NOTIFY_START-PBX中来电的开始
- NOTIFY_IVR-呼叫者对给定操作的响应
可以在
API描述中复制粘贴详细的方法
描述 。
对于NOTIFY_START和NOTIFY_IVR请求,您可以在呼叫期间通过使用以下选项之一进行响应来更改方案:






因此,客户打电话并听到问候,然后拨打一定的号码(例如,跟踪代码),我们发送输入数字的通知,脚本检查数据库并将响应发送给我们。 响应可以包含语音文件ID或标准语音回复。
我们有一个标准的号码播放系统,因此您不必预先记录回复。 意思是,从数据库中选择适当的通知,并由机器人将其作为数字播放。 或者,您最多可以创建一百个默认语音消息,然后使用它们来回复客户(例如“您的交货在仓库中”,“您每天早上9点至晚上10点之间可以收到包裹”)。
最低实施为了使响应者能够回答,您至少需要一个电话号码和一个PBX。 您还应该上传或输入可能的回复。
设置
- 只需单击三下即可设置此任务的免费PBX (选择员工人数,然后可以设置语音菜单)
- PBX的电话号码可以连接来自全球100个国家/地区。 ID验证完成后,该号码会自动连接(如果您选择的国家/地区需要此号码)。 您还可以免费连接自己的号码之一
- 要设置语音菜单,请转到“来电和IVR”页面,然后选择最适合您的选项。 或者,您可以上传文件,或输入文本,机器人将自动读取它。 共有16种语言,每种语言有几种声音(英语为14种声音)。 您最多可以在个人帐户中保存100个问候语。
PHP示例为了演示不同的选项,我们在PHP上创建了4个IVR性能示例。
- 系统会显示CallerID的最后3位数字(有关数字和发音数字的信息的工作示例)
- 用户在DTMF中输入他们的出生日期,系统会告诉您直到生日还有几天(使用DTMF和发音数字)
- 无休止的多级菜单:用户可以输入数字并进入下一个/上一个菜单(如何通过一个简单的周期创建任意数量的语音菜单的示例)
- 授权接收余额状态的示例(适用于许多生活状况)
前三个示例在
GitHub上
可用 。 在那里,您具有所有必需的元素,只需要插入带有填充的文件(这些文件必须事先上传到PBX或在PBX中读取)。
任务4 :呼叫者听到问候并要求输入识别码,进入系统后告诉天平,使用列表中的常用短语说再见并结束呼叫。
这是所描述任务的代码示例。
PHP代码$request = new Request(); $notify = self::getEvent([AbstractNotify::EVENT_START, AbstractNotify::EVENT_IVR]); if (!$notify) { return; } switch ($notify->event){ case AbstractNotify::EVENT_START: $request ->setIvrPlay(self::INFO_FILE_ID) ->setWaitDtmf(TIMEOUT , ATTEMPTS, MAXDIGITS, DTMF_NAME, DEFAULT_BEHAVIOUR); break; case AbstractNotify::EVENT_IVR: if (!empty($notify->wait_dtmf->digits)) { $balance = getBalance($notify->wait_dtmf->digits); $request->setIvrSayNumber($balance, 'en'); } elseif (!empty($notify->ivr_saynumber)) { $request->setIvrSayPopular(POPULAR_PHRASE_NUM, 'en'); } else { $request->setHangup(); } } $request->send();
我们希望进一步扩展我们的方法功能,并在下面的评论中收集反馈。 我们还提供了其他webhook方法和API,您可以
在网站上查看完整列表。