Get SMS Report by Time Slot

GET

https://api.itniotech.com/sms/getSentRcd?appId={appId}&startTime={startTime}&endTime={endTime}&startIndex={startIndex}

The protocol is used to get SMS report by time slot(Support the query of SMS records in the last 90 days, with the maximum query time interval of 31 days).
 
Request Parameters
appId
String
Required
App ID (SMS-SMS APP)
startTime
String
Required
Beginning time of query, ISO8601 standard time format UrlEncode(2021-02-12T00:00:00+08:00)
endTime
String
Required
Ending time of query, ISO8601 standard time format UrlEncode(2021-02-12T23:59:59+08:00)
startIndex
Int
The starting subscript of the query ( Max 50,000 results can be returned by one query as default. This function and be used for multiple queries when results over 50,000)
 
Request Sample
Request URL:
    https://api.itniotech.com/sms/getSentRcd?appId=4luaKsL2&startTime=2021-02-12T00%3A00%3A00%2B08%3A00&endTime=2021-02-12T23%3A59%3A59%2B08%3A00&startIndex=0
Request Method:
    GET
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
 
Response Parameters
Parameters Description Type
status "0"means successful, others than 0 means failure, seeing Status Code description. String
reason Failure reason description String
success Number of successful submitted messages String
fail Number of failure submitted messages String
array Json array with submission results JSONArray
msgId Submitted numbers id corresponding to platform String
number Submitted numbers String
receiveTime Receive time ISO8601 standard tine format (2021-02-12T09:30:03+08:00) String
status Messages status: 0:sent successfully, 2:sent failed String
 
Response Status Code
status Description
0 success
-1 Authentication error
-2 Restricted IP access
-11 Incorrect time format
-16 Timestamp expires
-18 port program unusual
-19 Confirm SMS pricing with the business team
 

language

Java

PHP

REQUEST

package com.itniotech.api.demo.sms;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

private void getSentRcd() {
    final String baseUrl = "https://api.itniotech.com/sms";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";
    final String appId = "{{appId}}";
    final String startTime = URLEncoder.encode("{{startTime}}");
    final String endTime =  URLEncoder.encode("{{endTime}}");
    final String startIndex = "{{startIndex}}";
    final String url = baseUrl.concat("/getSentRcd");
    final CharSequence getSentRcdTemplate = "?appId={}&startTime={}&endTime={}&startIndex={}";
    HttpRequest request = HttpRequest.get(url.concat(StrUtil.format(getSentRcdTemplate, appId, startTime, endTime, startIndex)));

    // currentTime
    final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
    // generate md5 key
    final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime));
    request.header(Header.CONNECTION, "Keep-Alive")
            .header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
            .header("Sign", sign)
            .header("Timestamp", datetime)
            .header("Api-Key", apiKey);
    HttpResponse response = request.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}}";

$startTime = urlencode("{{startTime}}");
$endTime = urlencode("{{endTime}}");
$startIndex = "{{startIndex}}";

$url = "https://api.itniotech.com/sms/getSentRcd?appId=$appId&startTime=$startTime&endTime=$endTime&startIndex=$startIndex";
$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);
$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_CONNECTTIMEOUT, 600);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

$output = curl_exec($ch);
curl_close($ch);
var_dump($output);        
                
 

RESPONSEEXAMPLE

{
    "status":"0",
    "reason":"success",
    "success":"2",
    "fail":"0",
    "array":[
        {
            "msgId":"2108021054011000095",
            "number":"91856321412",
            "receiveTime":"2023-06-12T09:30:03+08:00",
            "status":"0"
        },
        {
            "msgId":"2108021059531000096",
            "number":"91856321413",
            "receiveTime":"2023-06-12T09:30:03+08:00",
            "status":"0"
        }
    ]
}