Send File Voice Message

POST

https://api.itniotech.com/voice/sendGroup

Launch a file voice message via uploaded audio file ID.
 
Request Parameters
callee
String
Required
Called number: up to 500 mobile phone numbers. Different mobile phone numbers should be separated by a comma. Each mobile phone number: 7-15 digits composed of national code + mobile phone number.
displayNum
String
Display number: 7-15 digits or null.
fileId
String
Required
Uploaded audio file ID
appId
String
Required
Audio application ID
maxDuration
Int
Maximum call duration: It will be forced to hang up N seconds after being put through. 1-120 digits or null.
maxRingingTime
Int
The maximum ringing duration is 60 by default and can be entered in the range of 20 to 120 seconds.
loopCount
Int
Time of loop count: 1-9, by default: 1. Null is allowed.
calledInfo
String
Called information, 0-1000 characters.
 
Request Sample
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,
    "loopCount":2,
    "calledInfo":"calledInfo"
}
 
Response Parameters
Parameters Description Type
status "0"means successful, others than 0 means failure, seeing Status Code description. String
reason Failure reason description String
data Submitting result set JSONArray
voiceId Exclusive recording ID String
callee Called number String
terminationCode Submission status: 0 for success, and all others for failure. String
terminationReason Status description String
 
Response Status Code
status Description
0 success
-1 Authentication error
-2 Restricted IP access
-10 The customer's balance is insufficient
-16 Timestamp expires
-18 Port program unusual
-22 Parameter exception
-26 Getting fee faily
 

language

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 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("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['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); 

$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"
        }
    ]
}