今天发现在一个开放开发平台,可以通过RestAPI 的方式开发自己语音机器人和呼叫中心系统。
这是不适用官方的AI引擎自己做简单测试,使用官方AI机器人引擎3.0下次有时间再上传步骤。
1、去http://open.astyun.com/user/reg.html 注册一个账号,实名通过后,建立以一个应用
2、看看他提供接口在http://api.astyun.com/index.php
include_once("../SDK/AstyunRestSDK.php"); // 调用官方群里的 sdk
//主帐号
$accountSid= 'abcdefghijklmnopqrstuvwxyz012345';
//主帐号Token
$accountToken= '';
//应用Id
$appId='';
//请求地址,格式如下,不需要写https://
$serverIP='app.astyun.com';
//请求端口
$serverPort='8433';
//REST版本号
$softVersion='2017-04-10';
/**
* IVR外呼
* @param number 待呼叫号码,为Dial节点的属性
* @param userdata 用户数据,在<startservice>通知中返回,只允许填写数字字符,为Dial节点的属性
* @param record 是否录音,可填项为true和false,默认值为false不录音,为Dial节点的属性
*/
function ivrDial($number,$userdata,$record)
{
// 初始化REST SDK
global $accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion;
$rest = new REST($serverIP,$serverPort,$softVersion);
$rest->setAccount($accountSid,$accountToken);
$rest->setAppId($appId);
// 调用IVR外呼接口
$result = $rest->ivrDial($number,$userdata,$record);
if($result == NULL ) {
echo "result error!";
return;
}
echo $result;
}
ivrDial("18173142287",$userdata,"false"); // 发起呼叫指令
发起呼叫有。还需要建立自己 接收开放平台推送的消息服务(这个地址在主账号里面可以自己设置) 进行 IVR 互动 直接上代码
<?php
error_reporting(2);
//url示例:http://localhost/?startservice&appid=qw
$ref=$_SERVER['REQUEST_URI'] ; //云通讯回调请求页面的URIif(strpos($ref,'startservice')){ //云通讯IVR启动业务的回调请求,请求的url中固定相对地址startservice
startservice();
}elseif(strpos($ref,'stopservice')){//云通讯IVR结束业务的回调请求,请求的url中固定相对地址stopservice
stopservice();
}
elseif(strpos($ref,'enterflow')){//云通讯坐席状态改变的回调请求,IVR 入口流程
enterflow();
}
elseif(strpos($ref,'fangchanwanliuflow')){
fangchanwanliuflow();
}
elseif(strpos($ref,'fangchanflow')){
fangchanflow();
}
elseif(strpos($ref,'yuyinshibie')){
yuyinshibie();
}
elseif(strpos($ref,'palyyuyinshibie')){
palyyuyinshibie();
}
//IVR启动业务,在IVR呼入或者IVR外呼后由云通讯平台发起的回调请求
function startservice()
{
//获取参数
$appid = $_REQUEST['appid']; //应用id
$callid = $_REQUEST['callid']; //通话id,由云通讯平台产生的一路通话的唯一标识
$from = $_REQUEST['from&