Send TTS Voice Message

POST

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

Send a TTS voice message in the specified language and specified language text. When the number of recalls is set to be greater than 0, the call failure recall function will be enabled. At this time, only the last call result will be pushed when the report is pushed.
 
Request Parameters
callee
String
Required
Called number: 7-15 digits composed of national code + mobile phone number.
displayNum
String
Display number: 7-15 digits or null.
language
String
Required
Language code [ Vietnamese: VN, English: EN, Japanese: JP, Arabic: ARB German: DE, Hindi: IN, Italian: IT, Korean: KR, Russian: RU, Spanish: ES, Portuguese: PT, Indonesian: IDN, Bangladesh: BD, Thai:TH ]
text
String
Required
Text content, needs to correspond to the language code. Language code: IDN, VN, TH. Text length 299, other language codes Length 800.
appId
String
Required
Audio application ID
loopCount
Int
Time of loop count: 1-9, by default: 1. Null is allowed.
calledInfo
String
Called information, 0-1000 characters.
recallCount
Int
Recall times, 0-9 numbers, the field can be left blank. if not filled in, the default value is 0, and the recall function is not enabled when it is equal to 0.
recallInterval
Int
Recall interval, 1-999 numbers, in minutes. This field is only valid when the number of recalls is greater than 0. The field can be empty. When the field is empty, the default value is 5.
maxDuration
Int
Maximum call duration, forced hang up after N seconds after the call is connected, 1-120 numbers, can be empty.
maxRingingTime
Int
The maximum ringing duration is 60 by default and can be entered in the range of 20 to 120 seconds.
 
Request Sample
Request URL:
    https://api.itniotech.com/voice/sendCode
Request Method:
    POST
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "callee":"932111111111",
    "displayNum":"1008122211",
    "language":"EN",
    "text":"hello world",
    "appId":"4luaKsL2",
    "loopCount":2,
    "calledInfo":"calledInfo",
    "recallCount":0,
    "recallInterval":0,
    "maxDuration":120,
    "maxRingingTime":60
}
 
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 Exclusive recording ID 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 sendCode() {
    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 language = "{{language}}";
    final String text = "{{text}}";
    final Integer loopCount = "{{loopCount}}";
    final String calledInfo = "{{calledInfo}}";
    final Integer recallCount = "{{recallCount}}";
    final Integer recallInterval = "{{recallInterval}}";
    final Integer maxDuration = "{{maxDuration}}";
    final Integer maxRingingTime = "{{maxRingingTime}}";

    final String url = baseUrl.concat("/sendCode");
    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("language", language)
            .set("text", text)
            .set("appId", appId)
            .set("loopCount", loopCount)
            .set("calledInfo", calledInfo)
            .set("recallCount", recallCount)
            .set("recallInterval", recallInterval)
            .set("maxDuration", maxDuration)
            .set("maxRingingTime", maxRingingTime)
            .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/sendCode";
$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);

$dataArr['callee'] = "{{callee}}";
$dataArr['displayNum'] = "{{displayNum}}";
$dataArr['language'] = "{{language}}";
$dataArr['appId'] = $appId;
$dataArr['text'] = "{{text}}";
$dataArr['loopCount'] = "{{loopCount}}";
$dataArr['calledInfo'] = "{{calledInfo}}";
$dataArr['recallCount'] = "{{recallCount}}";
$dataArr['recallInterval'] = "{{recallInterval}}";
$dataArr['maxDuration'] = "{{maxDuration}}";
$dataArr['maxRingingTime'] = "{{maxRingingTime}}";

$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": "2203031113381000002"
}