语音菜单接口
<h4>接口说明:</h4>
<h5>实行对某目标号码的呼叫发起,通话被接通后,自动播放语音内容,播放完之后会根据用户的按键或不按键,可将通话转入到分机组中,系统会根据分机状态,及后台配置的分机状态回调地址发送对应的回调数据。</h5>
<h4>请求方式:POST,form-data格式</h4>
<h4>请求参数</h4>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>是否必须</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>service</td>
<td>string</td>
<td>是</td>
<td>App.Sip_Call.PlayVoice</td>
</tr>
<tr>
<td>token</td>
<td>string</td>
<td>是</td>
<td>通过授权接口获取的token</td>
</tr>
<tr>
<td>destnumber</td>
<td>string</td>
<td>是</td>
<td>目标号码</td>
</tr>
<tr>
<td>voicetype</td>
<td>int</td>
<td>是</td>
<td>播放的语音文件类型。1:离线语音文件、2:在线语音(url)</td>
</tr>
<tr>
<td>voicefile</td>
<td>string</td>
<td>是</td>
<td>离线音频文件名或在线语音url地址</td>
</tr>
<tr>
<td>chengshudu</td>
<td>string</td>
<td>是</td>
<td>1</td>
</tr>
<tr>
<td>userid</td>
<td>string</td>
<td>是</td>
<td>用户转入坐席的按键和转入坐席的分机组名示例:”1@extGroup-1”</td>
</tr>
<tr>
<td>disnumber</td>
<td>string</td>
<td>否</td>
<td>主叫号码,留空则随机取一个主叫号码</td>
</tr>
<tr>
<td>customuuid</td>
<td>string</td>
<td>否</td>
<td>客户自定义数据,在通话结束之后的回调数据中原样返回</td>
</tr>
</tbody>
</table>
<h4>接口请求示例(PHP)</h4>
<pre><code>&lt;?php
$apiUrl = 'http://127.0.0.1:8080';
$postFields = [
'service' =&gt; 'App.Sip_Call.PlayVoice',
'token' =&gt; 'ABCDEFG',
'voicetype' =&gt; 2,
'destnumber' =&gt; '13333333333',
'voicefile' =&gt; 'wwww.baidu.com/test.mp3',
'chengshudu' =&gt; 1,
'userid' =&gt; '1@extGroup-1',
'disnumber' =&gt; '13333333333',
'customuuid' =&gt; '13333333333'
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $apiUrl);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$curlError = curl_error($curl);
curl_close($curl);
var_dump($response);
?&gt;</code></pre>
<h4>返回数据结构示例</h4>
<pre><code>{
&quot;ret&quot;: 200,
&quot;data&quot;: {
&quot;status&quot;: 0,
&quot;desc&quot;: &quot;播放命令发送成功&quot;,
&quot;reqtime&quot;: 1581307099,
&quot;rsptime&quot;: 1581307099
},
&quot;msg&quot;: &quot;&quot;
}</code></pre>
<h4>分机状态回调数据示例</h4>
<pre><code>{
&quot;buuid&quot;:&quot;f4ffad68-4a0f-11ea-812d-fbc8753285b6&quot;,
&quot;callee&quot;:&quot;85322888486&quot;,
&quot;caller&quot;:&quot;20280003&quot;,
&quot;companycode&quot;:&quot;2028&quot;,
&quot;direction&quot;:&quot;callout&quot;,
&quot;disnumber&quot;:&quot;2120280001&quot;,
&quot;extnumber&quot;:&quot;20280003&quot;,
&quot;isbleg&quot;:&quot;true&quot;,
&quot;method&quot;:&quot;2&quot;,
&quot;starttime&quot;:&quot;1581124302&quot;,
&quot;status&quot;:&quot;ring&quot;,
&quot;uuid&quot;:&quot;f4ee8e7a-4a0f-11ea-8126-fbc8753285b6&quot;,
&quot;ip&quot;:&quot;149.129.249.47&quot;
}</code></pre>
<h4>回调字段说明</h4>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>buuid</td>
<td>string</td>
<td>B侧唯一id</td>
</tr>
<tr>
<td>callee</td>
<td>string</td>
<td>被叫号码(用户号码)</td>
</tr>
<tr>
<td>caller</td>
<td>string</td>
<td>呼叫号码(分机号)</td>
</tr>
<tr>
<td>companycode</td>
<td>string</td>
<td>公司码</td>
</tr>
<tr>
<td>direction</td>
<td>string</td>
<td>呼叫方向 callin 呼入、callout 呼出</td>
</tr>
<tr>
<td>disnumber</td>
<td>string</td>
<td>显示号码</td>
</tr>
<tr>
<td>extnumber</td>
<td>string</td>
<td>分机号</td>
</tr>
<tr>
<td>isbleg</td>
<td>string</td>
<td>是否B侧</td>
</tr>
<tr>
<td>method</td>
<td>string</td>
<td>呼叫方式、1分机、2手动、3接口、4双呼、5预测</td>
</tr>
<tr>
<td>starttime</td>
<td>string</td>
<td>呼叫开始时间</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>分机状态 ring 响铃 answer 接听 hangup 挂断</td>
</tr>
<tr>
<td>uuid</td>
<td>string</td>
<td>通话唯一id</td>
</tr>
<tr>
<td>ip</td>
<td>string</td>
<td>ip</td>
</tr>
</tbody>
</table>
<h4>接口返回说明</h4>
<h5>该接口请求之后会向目标号码呼叫,目标号码接通之后会直接播放语音文件中的内容。呼叫结果会在通话结束之后,以回调方式通知到后台配置的通话详单回调地址。</h5>
<h4>回调数据结构示例</h4>
<pre><code>{
&quot;answertime&quot;:&quot;2020-02-09 12:32:51&quot;,
&quot;hangupcause&quot;:10001,
&quot;duration&quot;:13,
&quot;id&quot;:220739,
&quot;extnumber&quot;:&quot;&quot;,
&quot;uuid&quot;:&quot;3418035c-4af5-11ea-afb2-fbc8753285b6&quot;,
&quot;downloadip&quot;:&quot;149.129.249.47&quot;,
&quot;customuuid&quot;:&quot;110001168&quot;,
&quot;chengshudu&quot;:&quot;0&quot;,
&quot;callmethod&quot;:6,
&quot;recordfilename&quot;:&quot;1111.mp3&quot;,
&quot;companycode&quot;:9017,
&quot;memberid&quot;:&quot;0&quot;,
&quot;hangupdirection&quot;:10040,
&quot;billsec&quot;:10,
&quot;endtime&quot;:&quot;2020-02-09 12:33:01&quot;,
&quot;starttime&quot;:&quot;2020-02-09 12:32:38&quot;,
&quot;type&quot;:&quot;callout&quot;,
&quot;disnumber&quot;:&quot;2190170001&quot;,
&quot;crmid&quot;:&quot;0&quot;,
&quot;userkey&quot;:&quot;&quot;,
&quot;destnumber&quot;:&quot;85781218893&quot;
}</code></pre>
<h4>回调数据字段说明</h4>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>answertime</td>
<td>string</td>
<td>接听时间</td>
</tr>
<tr>
<td>hangupcause</td>
<td>string</td>
<td>挂断原因</td>
</tr>
<tr>
<td>duration</td>
<td>string</td>
<td>等待接听时长</td>
</tr>
<tr>
<td>id</td>
<td>string</td>
<td>话单id</td>
</tr>
<tr>
<td>extnumber</td>
<td>string</td>
<td>分机号</td>
</tr>
<tr>
<td>uuid</td>
<td>string</td>
<td>通话唯一id</td>
</tr>
<tr>
<td>downloadip</td>
<td>string</td>
<td>下载ip</td>
</tr>
<tr>
<td>customuuid</td>
<td>string</td>
<td>自定义参数</td>
</tr>
<tr>
<td>chengshudu</td>
<td>string</td>
<td>自定义参数</td>
</tr>
<tr>
<td>callmethod</td>
<td>string</td>
<td>呼叫方式</td>
</tr>
<tr>
<td>recordfilename</td>
<td>string</td>
<td>通话文件名</td>
</tr>
<tr>
<td>companycode</td>
<td>string</td>
<td>公司码</td>
</tr>
<tr>
<td>memberid</td>
<td>string</td>
<td>自定义参数</td>
</tr>
<tr>
<td>hangupdirection</td>
<td>string</td>
<td>挂断方向</td>
</tr>
<tr>
<td>billsec</td>
<td>string</td>
<td>通话时长</td>
</tr>
<tr>
<td>endtime</td>
<td>string</td>
<td>挂机时间</td>
</tr>
<tr>
<td>starttime</td>
<td>string</td>
<td>呼叫时间</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>呼叫方式</td>
</tr>
<tr>
<td>disnumber</td>
<td>string</td>
<td>主叫号码</td>
</tr>
<tr>
<td>crmid</td>
<td>string</td>
<td>坐席id</td>
</tr>
<tr>
<td>userkey</td>
<td>string</td>
<td>用户按键</td>
</tr>
<tr>
<td>destnumber</td>
<td>string</td>
<td>目标号码</td>
</tr>
</tbody>
</table>