Update the Verification Code Application

PUT

https://api.itniotech.com/otp/app/update/{appId}

Update the verification code application information through the API.
 
Url-Request Parameters
Parameters Description Required Type
appId Application id, return when adding Yes String
 
Body-Request Parameters
Parameters Description Required Type
name Application name, 4-32 characters, not allow to duplicate Yes String
codeExpiry The validity period of the sent verification code is 1-60 minutes, the integer value can be selected, and it is 5 minutes by default. No Int
appId Application id, return when adding Yes String
periodTotalSendLimit The limit on the number sent in a period No JSONObject
enabled Enable switch, and off by default No Boolean
unit Period unit: 1-day, 2-hour, 3-minute, 4-second, when enabled is on, this parameter becomes required No Int
period The period is 1-90, when enabled is on, this parameter becomes required No Int
limit The limit is 1-10 billion. When enabled is on, this parameter becomes required No Int
periodPhoneSendLimit Frequent limit sent to the same number in the period No JSONObject
enabled Enable switch, and off by default No Boolean
unit Period unit: 1-day, 2-hour, 3-minute, 4-second, when enabled is on, this parameter becomes required No Int
period The period is 1-90, when enabled is on, this parameter becomes required No Int
limit The limit is 1-10 billion. When enabled is on, this parameter becomes required No Int
 
Request Sample
Request URL:
    https://api.itniotech.com/otp/app/update/mRELxtHc
Request Method:
    PUT
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "name":"test_app",
    "codeExpiry":5,
    "periodTotalSendLimit":{
        "enabled":true,
        "unit":1,
        "period":1,
        "limit":1
    },
    "periodPhoneSendLimit":{
        "enabled":false,
        "unit":null,
        "period":null,
        "limit":null
    }
}
 
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
data Details of response parameters JSONObject
name Application name String
codeExpiry The validity period of the sent verification code Int
appId Application id String
createTime Create time String
periodTotalSendLimit Details of the number limit sent in the period JSONObject
unit Period unit Int
period Period Int
limit Limit Int
enabled Enable switch Boolean
periodPhoneSendLimit Details of frequent limit sent to the same number in the period JSONObject
unit Period unit Int
period Period Int
limit Limit Int
enabled Enable switch Boolean
 
Response Status Code
status Description
0 success
-1 Authentication error
-2 Restricted IP access
-16 Timestamp expires
-18 Port program unusual
-20 Data existing
-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 updateOtpApp() {
    final String baseUrl = "https://api.itniotech.com/otp";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";
    final String appId = "your appid"; //Application ID

    final String url = baseUrl.concat("/app/update/").concat(appId);
    final String name = "name";
    final Map periodTotalSendLimit = new HashMap<>();
    periodTotalSendLimit.put("enabled", true);
    periodTotalSendLimit.put("unit", 1);
    periodTotalSendLimit.put("period", 1);
    periodTotalSendLimit.put("limit", 1);
    final Map periodPhoneSendLimit = new HashMap<>();
    periodTotalSendLimit.put("enabled", true);
    periodTotalSendLimit.put("unit", 1);
    periodTotalSendLimit.put("period", 1);
    periodTotalSendLimit.put("limit", 1);
    final Integer codeExpiry = 5;

    HttpRequest request = HttpRequest.put(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("name", name)
            .set("appId", appId)
            .set("periodTotalSendLimit", periodTotalSendLimit)
            .set("periodPhoneSendLimit", periodPhoneSendLimit)
            .set("codeExpiry", codeExpiry)
            .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 = "your appid";

$url = "https://api.itniotech.com/otp/app/update/".$appId;

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

$dataArr['name'] = 'name';
$dataArr['codeExpiry'] = '5';
$dataArr['appId'] = $appId;
$dataArr['periodTotalSendLimit'] = array(
    "enabled"=>true,
    "unit"=>1,
    "period"=>1,
    "limit"=>1
);
$dataArr['periodPhoneSendLimit'] = array(
    "enabled"=>true,
    "unit"=>1,
    "period"=>1,
    "limit"=>1
);


$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_CUSTOMREQUEST, 'PUT');
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",
    "data": {
    "name": "test_app",
        "appId": "mRELxtHc",
        "periodTotalSendLimit": {
            "unit": 1,
            "period": 1,
            "limit": 1,
            "enabled": true
        },
        "periodPhoneSendLimit": {
            "unit": 1,
            "period": 1,
            "limit": 1,
            "enabled": true
        },
        "codeExpiry": 5,
        "createTime": "2022-01-01T00:00:00+08:00"
    }
}