查询话机

POST
https://api.itniotech.com/voice/sipQuery
查询指定语音应用下已创建的话机。
 
请求参数
参数 说明 是否必填 类型
current 当前页码,1-N,默认1,不可传空 Int
size 每页显示数,1-100,默认25,不可传空 Int
params 分页参数 JSONObject
appId 语音应用id String
 
请求示例
Request URL:
    https://api.itniotech.com/voice/sipQuery
Request Method:
    POST
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "current":1,
    "size":20,
    "params":{
        "appId":"4luaKsL2"
    }
}
 
响应参数
参数 说明 类型
status 状态码,0成功,其他失败参见响应状态码说明 String
reason 失败原因说明 String
data 分页数据 JSONObject
total 总记录条数 Int
size 每页显示数 Int
current 当前页码 Int
pages 总页码 Int
records 数据集合 JSONArray
groupName 话机组名称 String
phoneName 话机名称 String
account 话机账号 String
password 话机密码 String
displayNum 话机显示号码 String
 
响应状态码
status 状态说明
0 成功
-1 账号认证异常
-2 ip限制
-16 时间戳过期
-18 系统异常
-22 参数异常
 

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 sipQuery() {
    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 Integer current = "{{current}}";
    final Integer size = "{{size}}";
    final JSONObject params = JSONUtil.createObj()
            .set("appId", appId);

    final String url = baseUrl.concat("/sipQuery");
    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("current", current)
            .set("size", size)
            .set("params", params)
            .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/sipQuery";
$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);

$dataArr['current'] = "{{current}}";
$dataArr['size'] = "{{size}}";
$dataArr['params'] = array("appId"=>"$appId");

$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); // 从证书中检查SSL加密算法是否存在

$output = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);

var_dump($output);
 

RESPONSEEXAMPLE

{
    "status": "0",
    "reason":" success",
    "data": {
        "total": 5,
        "size": 20,
        "current": 1,
        "pages": 1,
        "records":[
            {
                "groupName":"sipGroup",
                "phoneName":"sip-1",
                "account":"test_001",
                "password":"LX9FZdF2",
                "displayNum":"861000000"
            }
        ]
    }
}