Backfill Rate Callback

POST

https://api.itniotech.com/otp/backfillRate

Backfill Rate Callback.
Request Parameters
appId
String
Required
Application id, 4-32 characters
mcc
String
Required
Country code
backfillNumber
String
Backfill number
backfillCardinalNumber
String
Backfill cardinal number
backfillNow
String
Required
Backfill rate, between, at most two decimal places
callbackTime
String
Required
Update time, ISO8601 standard time format (2023-02-01T00:00:00+08:00)
Request Sample
Request URL:
    https://api.itniotech.com/otp/backfillRate
Request Method:
    POST
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "appId":"mRELxtHc",
    "mcc":460,
    "backfillNumber":"100",
    "backfillCardinalNumber":"1000",
    "backfillNow":"10",
    "callbackTime":"2023-01-29T09:59:58+08:00"
}
Response Parameters
Parameters Description Type
status Status code, 0 is successful, other failures refer to description of status code String
reason Description of failure reason String
Response Status Code
status Description
0 success
-1 Authentication error
-2 Restricted IP access
-16 Timestamp expires
-18 Port program unusual
-22 Parameter exception

language

Java

PHP

REQUEST

 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.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;

private void backfillRate() {
    final String baseUrl = "https://api.itniotech.com/otp";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";

    final String url = baseUrl.concat("/backfillRate");
    final String appId = "{{appId}}";
    final String mcc = "{{mcc}}";
    final String backfillNumber = "{{backfillNumber}}";
    final String backfillCardinalNumber = "{{backfillCardinalNumber}}";
    final String backfillNow = "{{backfillNow}}";
    final String callbackTime = "{{callbackTime}}";

    HttpRequest request = HttpRequest.post(url);

    // 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);

    final String params = JSONUtil.createObj()
            .set("appId", appId)
            .set("mcc", mcc)
            .set("backfillNumber", backfillNumber)
            .set("backfillCardinalNumber", backfillCardinalNumber)
            .set("backfillNow", backfillNow)
            .set("callbackTime", callbackTime)
            .toString();
    HttpResponse response = request.body(params).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/otp/backfillRate";

$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);

$dataArr['appId'] = $appId;
$dataArr['mcc'] = "{{mcc}}";
$dataArr['backfillNumber'] = "{{backfillNumber}}";
$dataArr['backfillCardinalNumber'] = "{{backfillCardinalNumber}}";
$dataArr['backfillNow'] = "{{backfillNow}}";
$dataArr['callbackTime'] = "{{callbackTime}}";

$data = json_encode($dataArr);
$headers[] = 'Content-Type: application/json;charset=UTF-8';
$headers[] = "Sign: $sign";
$headers[] = "Timestamp: $timeStamp";
$headers[] = "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);
curl_close($ch);

var_dump($output);        
                

RESPONSEEXAMPLE

{
    "status": "0",
    "reason": "success"
}