Request URL: https://api.itniotech.com/voice/sendGroup Request Method: POST Request Headers: Content-Type: application/json;charset=UTF-8 Sign: 05d7a50893e22a5c4bb3216ae3396c7c Timestamp: 1630468800 Api-Key: bDqJFiq9 Request Body: { "callee":"91856321412,91856321300", "displayNum":"1008122211", "fileId":"12022022570cc2484c59d4f8b9745d34226285b1e.mp3", "appId":"4luaKsL2", "maxDuration":50, "maxRingingTime":60, "delayPlay":0, "delayHangup":0, "loopCount":2, "calledInfo":"calledInfo" }
参数 | 说明 | 类型 |
---|---|---|
status | 状态码,0成功,其他失败参见响应状态码说明 | String |
reason | 失败原因说明 | String |
data | 提交结果集合 | JSONArray | -
voiceId | 记录唯一id | String |
callee | 被叫号码 | String |
terminationCode | 状态码0成功其他失败 | String |
terminationReason | 状态码描述 | String |
status | 状态说明 |
---|---|
0 | 成功 |
-1 | 账号认证异常 |
-2 | ip限制 |
-10 | 余额不足 |
-16 | 时间戳过期 |
-18 | 系统异常 |
-22 | 参数异常 |
-26 | 获取费率失败 |
Java
PHP
REQUEST
import cn.hutool.core.codec.Base64; import cn.hutool.crypto.SecureUtil; import cn.hutool.http.Header; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneId; public void sendGroup() { final String baseUrl = "https://api.itniotech.com/voice"; final String apiKey = "your api key"; final String apiPwd = "your api secret"; final String appId = "{{appId}}"; final String callee = "{{callee}}"; final String displayNum = "{{displayNum}}"; final String fileId = "{{fileId}}"; final Integer maxDuration = {{maxDuration}}; final Integer maxRingingTime = {{maxRingingTime}}; final Integer delayPlay = {{delayPlay}}; final Integer delayHangup = {{delayHangup}}; final Integer loopCount = {{loopCount}}; final String calledInfo = "{{calledInfo}}"; final String url = baseUrl.concat("/sendGroup"); HttpRequest request = HttpRequest.post(url); // generate md5 key final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond()); final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime)); request.header(Header.CONTENT_TYPE, "application/json;charset=UTF-8") .header("Sign", sign) .header("Timestamp", datetime) .header("Api-Key", apiKey); final String body = JSONUtil.createObj() .set("callee", callee) .set("displayNum", displayNum) .set("fileId", fileId) .set("appId", appId) .set("maxDuration", maxDuration) .set("maxRingingTime", maxRingingTime) .set("delayPlay", delayPlay) .set("delayHangup", delayHangup) .set("loopCount", loopCount) .set("calledInfo", calledInfo) .toString(); HttpResponse response = request.body(body).execute(); if (response.isOk()) { String result = response.body(); System.out.println(result); } }
REQUEST
header('content-type:text/html;charset=utf8'); $apiKey = "your api key"; $apiSecret = "your api secret"; $appId = "{{appId}}"; $url = "https://api.itniotech.com/voice/sendGroup"; $timeStamp = time(); $sign = md5($apiKey.$apiSecret.$timeStamp); $dataArr['callee'] = "{{callee}}"; $dataArr['displayNum'] = "{{displayNum}}"; $dataArr['fileId'] = "{{fileId}}"; $dataArr['appId'] = $appId; $dataArr['maxDuration'] = {{maxDuration}}; $dataArr['maxRingingTime'] = {{maxRingingTime}}; $dataArr['delayPlay'] = {{delayPlay}}; $dataArr['delayHangup'] = {{delayHangup}}; $dataArr['loopCount'] = {{loopCount}}; $dataArr['calledInfo'] = "{{calledInfo}}"; $data = json_encode($dataArr); $headers = array('Content-Type:application/json;charset=UTF-8',"Sign:$sign","Timestamp:$timeStamp","Api-Key:$apiKey"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600); curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); curl_setopt($ch, CURLOPT_POSTFIELDS , $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在 $output = curl_exec($ch); $error = curl_error($ch); curl_close($ch); var_dump($output);
RESPONSEEXAMPLE
{ "status": "0", "reason": "success", "data": [ { "voiceId": "2203031134011000001", "callee": "91856321412", "terminationCode": "0", "terminationReason": "success" } ] }