Skip to main content

数据服务号码状态API

提示:#

  • 因为运营商政策,请先在后台完成企业认证再开发 API。

HTTP 头信息(具体参考调用说明):#

    Accept:application/json;charset=utf-8;    Content-Type:application/json;charset=utf-8;    X-SIGNATURE: $signature;    X-APIKEY: $APIKEY;    X-TIMESTAMP: $timestamp;    X-NONCE: $nonce;

请求#

    URL:`https://gateway.yihuitong.top/openapi/juhedata/mobileStatus/query`    访问方式:GET

请求参数#

参数名类型是否必传是否默认开放描述示例
phonestring查询的手机号,不需要带+86 前缀18011111111

代码示例(头信息加密验签参考)#


/** * 数据验核查询 * * @return json格式字符串 */public static String query() throws NoSuchAlgorithmException ,  InvalidKeyException  {        String url = "https://gateway.yihuitong.top/openapi/juhedata/mobileStatus/query?phone=12345678910";        String nonce = "bc9efee185e64ab9bc0b07a2785c4660";        Integer timestamp = 1626856279;        String apikey = "123456789";        String secretKey = "1234567890";        String method = "GET";        String path = "openapi/juhedata/mobileStatus/query";        String contentType = "";                                Map<String, Object> parameters = new HashMap<>();        parameters.put("phone", "12345678910");                        StringBuilder sb = new StringBuilder();        sb.append(method).append("\n")        .append(path).append("\n")        .append(apikey).append("\n")        .append(timestamp).append("\n")        .append(nonce).append("\n");                        if(parameters!=null && !parameters.isEmpty()) {                        if("json".equals(contentType) ) {                sb.append(JSON.toJSONString(parameters)).append("\n");            }else {                String canonical_query_string = formatUrlMap(parameters, true, false);                sb.append(canonical_query_string).append("\n");            }                    }        
        Mac hasher = Mac.getInstance("HmacSHA256");        hasher.init(new SecretKeySpec(secretKey.getBytes(), "HmacSHA256"));        byte[] hash = hasher.doFinal(sb.toString().getBytes());                                Map<String,String> headers = new HashMap<String, String>();        headers.put("X-SIGNATURE", DatatypeConverter.printBase64Binary(hash));        headers.put("X-APIKEY", apikey);        headers.put("X-TIMESTAMP", timestamp.toString());        headers.put("X-NONCE", nonce);                return HttpUtil.get(url, headers);//请自行使用get方式请求,可使用Apache HttpClient}

public static String formatUrlMap(Map<String, Object> paraMap,boolean urlEncode,boolean keyToLower) {        if(CollUtil.isEmpty(paraMap)) {            return null;        }               if(!(paraMap instanceof TreeMap)) {           paraMap = new TreeMap<String, Object>(paraMap);       }                return paraMap.entrySet().stream().map(entry -> {            String key = entry.getKey();            Object value = entry.getValue();            if(urlEncode) {                try {                    key = URLEncoder.encode(key, "utf-8");                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                }                if(value!=null && StringUtils.isNotBlank(value.toString())) {                    try {                        value = URLEncoder.encode(value.toString(), "utf-8");                    } catch (UnsupportedEncodingException e) {                        e.printStackTrace();                    }                }                if (keyToLower) {                    key = key.toLowerCase();                }            }            return key + "=" + value;        }).collect(Collectors.joining("&"));            }

响应参数#

名称类型描述
successboolean是否请求成功 false 为接口请求失败,请求失败 data 中无数据
errorCodestring错误码 200 代表成功
errorMessagestring错误提示
dataobject[]报告数据,是一个数组;格式参考下面

data 响应参数#

名称类型描述
statusstring号码状态 0:正常使用,1:停机,2:在网但不可用,3:不在网/销号/未启用/异常,4:预销户 -1: 查询失败
remarksstring状态描述
provincestring归属地省
citystring归属地城市
ispstring运营商

JSON 响应示例#

{     "success": true,    "errorCode": "200",    "errorMessage": "成功",    "data": {      "status": "0",      "remarks": "正常使用",      "province": "上海市",      "city": "上海市",      "isp": "联通"    }}

errorCode 状态码列表#

errorCode描述
200成功(收费)
4412查无记录(不收费)
4001用户信息不正确
4100参数错误
4300金额不足
4301账号未认证,请先认证通过后访问
4402提交失败
4404扣费失败
5000内部错误