Package Data | |
---|---|
Maintainer Username: | iwanli |
Maintainer Contact: | 709344897@qq.com (wanli) |
Package Create Date: | 2016-04-07 |
Package Last Update: | 2016-05-13 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-19 03:08:41 |
Package Statistics | |
---|---|
Total Downloads: | 903 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 11 |
Total Watchers: | 3 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Packagist:https://packagist.org/packages/lancewan/laravel5-cloud
通过composer
来安装
composer require lancewan/laravel5-cloud
或者加入下面代码到 composer.json
文件,并执行composer install
Or composer update
:
"lancewan/laravel5-cloud": "^1.0"
扩展包加载完成后,在 config/app.php
的文件中加入以下代码:
Lance\Cloud\CloudServiceProvider::class,
'Cloud' => Lance\Cloud\Facades\Cloud::class,
最后执行 php artisan vendor:publish
,在config
文件夹下将会生成一个cloud.php
的配置文件.
And that's it!
cloud.php
是云通讯的配置文件,主要配置信息如下:
<?php
return [
// AccountSid 主帐号
'accountSid' => '',
// 主帐号Token
'accountToken' => '',
// AppId 应用ID
'appId' => '',
// SubAccountSid 子帐号
'subAccountSid' => '',
// SubAccountToken 子帐号Token(密码)
'subAccountToken' => '',
// VoIPAccount VoIP帐号
'voIPAccount' => '',
// VoIPPassword VoIP密码
'voIPPassword' => '',
//请求地址,格式如下,不需要写https://
'serverIP' => '',
//请求端口
'serverPort' => '',
//REST版本号 云通讯固定版本号,除非官方接口升级外,不要修改版本号
'softVersion' => '2013-12-26',
//包体格式,可填值:json 、xml
'bodyType' => 'json',
//日志开关。可填值:true、false
'enabeLog' => true,
......
];
方法名和云通讯的测试demo中的方法名一致,所以大家要调用什么功能,直接看官方api的方法名来使用本扩展. enjoy it!
双向回拨
$result = Cloud::callBack("呼叫号码","被叫号码");
双向回拨是先拨打呼叫号码,等呼叫号码接通后再拨打被叫号码
发送短信
/**
* 发送模板短信
* @author 晚黎
* @date 2016-04-08T15:11:13
* @param [string] $to [接收号码]
* @param [array] $datas [发送的验证码和时间['验证码','时间']]
* @param [int] $tempId [短信模板ID]
*/
$result = Cloud::sendTemplateSMS('187********',['5564','20'],1);
语音验证码
/**
* 语音验证码
* @author 晚黎
* @date 2016-04-08T15:25:04
* @param [String] $verifyCode [验证码内容,为数字和英文字母,不区分大小写,长度4-8位。当playVerifyCode为空时有效,该参数和playVerifyCode二者不能同时为空,当二者都不为空时优先使用playVerifyCode。]
* @param [String] $to [接收号码,被叫为座机时需要添加区号,如:01052823298;被叫为分机时分机号由‘-’隔开,如:01052823298-3627]
* @param [int] $playTimes [循环播放次数,1-3次,默认播放1次。]
* @param [String] $displayNum [来电显示的号码,根据平台侧显号规则控制(有显号需求请联系云通讯商务,并且说明显号的方式),不在平台规则内或空则显示云通讯平台默认号码。默认值空。注:来电显示的号码不能和接收验证码的号码相同,否则显示云通讯平台默认号码。]
* @param [String] $respUrl [语音验证码状态通知回调地址(必须符合URL规范),云通讯平台将向该Url地址发送呼叫结果通知。]
* @param [String] $lang [语言类型。取值en(英文)、zh(中文),默认值zh。]
* @param [String] $userData [第三方私有数据,可在语音验证码状态通知中获取此参数。]
*/
$result = Cloud::voiceVerify($verifyCode,$to,$playTimes = '',$displayNum = 1,$respUrl = '',$lang = 'zh',$userData = '');
...
除了上面主要方法,还有其他的一些方法就不描述了,下面是荣联云的接口所有方法:
<?php
namespace Lance\Cloud;
/**
* 云通讯接口
*/
interface CloudCommunicationContract{
/**
* 打印日志
* @author 晚黎
* @date 2016-04-06T15:45:01+0800
* @param [type] $log [日志内容]
* @return [type] [description]
*/
public function showlog($log);
/**
* 发起HTTPS请求
* @author 晚黎
* @date 2016-04-06T15:45:47+0800
* @param [type] $url [请求地址]
* @param [type] $data [请求包体]
* @param [type] $header [请求包头]
* @param integer $post [请求方式 默认为1 1:post,0:get]
* @return [type] [description]
*/
public function curl_post($url,$data,$header,$post=1);
/**
* 创建子帐号
* @author 晚黎
* @date 2016-04-06T15:47:12+0800
* @param [type] $friendlyName [子帐号名称]
* @return [type] [description]
*/
public function createSubAccount($friendlyName);
/**
* 获取子帐号
* @author 晚黎
* @date 2016-04-06T15:48:30+0800
* @param [type] $startNo [开始的序号,默认从0开始]
* @param [type] $offset [一次查询的最大条数,最小是1条,最大是100条]
* @return [type] [description]
*/
public function getSubAccounts($startNo,$offset);
/**
* 子帐号信息查询
* @author 晚黎
* @date 2016-04-06T15:50:11+0800
* @param [type] $friendlyName [子帐号名称]
* @return [type] [description]
*/
public function querySubAccount($friendlyName);
/**
* 发送模板短信
* @author 晚黎
* @date 2016-04-06T15:50:58+0800
* @param [type] $to [短信接收彿手机号码集合,用英文逗号分开]
* @param [type] $datas [内容数据]
* @param [type] $tempId [模板Id]
* @return [type] [description]
*/
public function sendTemplateSMS($to,$datas,$tempId);
/**
* 双向回呼
* @author 晚黎
* @date 2016-04-06T15:51:59+0800
* @param [type] $from [主叫电话号码]
* @param [type] $to [被叫电话号码]
* $options数组中的key:
* @param [type] customerSerNum [被叫侧显示的客服号码]
* @param [type] fromSerNum [主叫侧显示的号码]
* @param [type] promptTone [自定义回拨提示音]
* @param [type] alwaysPlay [第三方私有数据]
* @param [type] terminalDtmf [最大通话时长]
* @param [type] userData [实时话单通知地址]
* @param [type] maxCallTime [是否一直播放提示音]
* @param [type] hangupCdrUrl [用于终止播放promptTone参数定义的提示音]
* @param [type] needBothCdr [是否给主被叫发送话单]
* @param [type] needRecord [是否录音]
* @param [type] countDownTime [设置倒计时时间]
* @param [type] countDownPrompt [倒计时时间到后播放的提示音]
*/
public function callBack($from,$to,$options=[]);
/**
* 外呼通知
* @author 晚黎
* @date 2016-04-06T15:53:57+0800
* @param [type] $to [被叫号码]
* @param [type] $mediaName [语音文件名称,格式 wav。与mediaTxt不能同时为空。当不为空时mediaTxt属性失效。]
* @param [type] $mediaTxt [文本内容]
* @param [type] $displayNum [显示的主叫号码]
* @param [type] $playTimes [循环播放次数,1-3次,默认播放1次。]
* @param [type] $respUrl [外呼通知状态通知回调地址,云通讯平台将向该Url地址发送呼叫结果通知。]
* @param [type] $userData [用户私有数据]
* @param [type] $maxCallTime [最大通话时长]
* @param [type] $speed [发音速度]
* @param [type] $volume [音量]
* @param [type] $pitch [音调]
* @param [type] $bgsound [背景音编号]
* @return [type] [description]
*/
public function landingCall($to,$mediaName,$mediaTxt,$displayNum,$playTimes,$respUrl,$userData,$maxCallTime,$speed,$volume,$pitch,$bgsound);
/**
* 语音验证码
* @author 晚黎
* @date 2016-04-06T15:55:15+0800
* @param [type] $verifyCode [验证码内容,为数字和英文字母,不区分大小写,长度4-8位]
* @param [type] $playTimes [播放次数,1-3次]
* @param [type] $to [接收号码]
* @param [type] $displayNum [显示的主叫号码]
* @param [type] $respUrl [语音验证码状态通知回调地址,云通讯平台将向该Url地址发送呼叫结果通知]
* @param [type] $lang [语言类型]
* @param [type] $userData [第三方私有数据]
* @return [type] [description]
*/
public function voiceVerify($verifyCode,$playTimes,$to,$displayNum,$respUrl,$lang,$userData);
/**
* IVR外呼
* @author 晚黎
* @date 2016-04-06T15:56:20+0800
* @param [type] $number [待呼叫号码,为Dial节点的属性]
* @param [type] $userdata [用户数据,在<startservice>通知中返回,只允许填写数字字符,为Dial节点的属性]
* @param [type] $record [是否录音,可填项为true和false,默认值为false不录音,为Dial节点的属性]
* @return [type] [description]
*/
public function ivrDial($number,$userdata,$record);
/**
* 话单下载
* @author 晚黎
* @date 2016-04-06T15:57:34+0800
* @param [type] $date [day 代表前一天的数据(从00:00 – 23:59)]
* @param [type] $keywords [客户的查询条件,由客户自行定义并提供给云通讯平台。默认不填忽略此参数]
* @return [type] [description]
*/
public function billRecords($date,$keywords);
/**
* 主帐号信息查询
* @author 晚黎
* @date 2016-04-06T15:58:14+0800
* @return [type] [description]
*/
public function queryAccountInfo();
/**
* 短信模板查询
* @author 晚黎
* @date 2016-04-06T15:58:45+0800
* @param [type] $templateId [模板ID]
*/
public function querySMSTemplate($templateId);
/**
* 取消回拨
* @author 晚黎
* @date 2016-04-06T15:59:15+0800
* @param [type] $callSid [一个由32个字符组成的电话唯一标识符]
* @param [type] $type [0: 任意时间都可以挂断电话;1 :被叫应答前可以挂断电话,其他时段返回错误代码;2: 主叫应答前可以挂断电话,其他时段返回错误代码;默认值为0。]
*/
public function callCancel($callSid,$type);
/**
* 呼叫状态查询
* @author 晚黎
* @date 2016-04-06T16:00:13+0800
* @param [type] $callid [呼叫Id ]
* @param [type] $action [查询结果通知的回调url地址]
*/
public function queryCallState($callid,$action);
/**
* 呼叫结果查询
* @author 晚黎
* @date 2016-04-06T16:00:55+0800
* @param [type] $callSid [呼叫SId]
*/
public function callResult($callSid);
/**
* 语音文件上传
* @author 晚黎
* @date 2016-04-06T16:01:32+0800
* @param [type] $filename [文件名]
* @param [type] $body [二进制串]
*/
public function mediaFileUpload($filename,$body);
/**
* 子帐号鉴权
* @author 晚黎
* @date 2016-04-06T16:02:07+0800
*/
public function subAuth();
/**
* 主帐号鉴权
* @author 晚黎
* @date 2016-04-06T16:03:45+0800
*/
public function accAuth();
}
调用任何方法后都会返回一个数组,数组中结构如下:
请求失败
[
"resultStatus" => "0"
"errorMsg" => "result error!"
]
验证错误
[
'resultStatus' => '0' ,
'errorCode' => '错误码' ,
'errorMsg' => '错误信息'
]
成功
[
'resultStatus' => '1' ,
....
]
成功后的返回值都不同,返回的字段参考官方API文档
如果有什么Bug,反应反馈:709344897@qq.com