二次放号是指运营商会将用户主动销户、欠费回收的手机号,经过冷冻期后重新投放市场售卖。在APP注册、账号登录、金融风控、用户运营场景中,手机号二次放号也存在安全隐患。
一、应用场景
1. 互联网平台(最主流)
App、小程序、网站:手机号注册 / 登录体系
- 场景:旧号主曾用该号码注册APP、支付、社交账号,号码回收换新后,新号主可直接通过验证码登录、接管旧账号,造成用户隐私泄露、资产被盗、数据错乱等问题。
2. 金融类(风控刚需,合规要求高):
网贷、保险、支付、证券、银行相关业务
- 场景:识别号码是否为新过户 / 二次放号,防止冒用身份开户、欺诈。
二、接口说明
请求参数

返回参数

返回示例
{
"code": 1,
"msg": "操作成功",
"data": {
"phone": "", //手机号
"status": "2", //1:二次放号,2:非二次放号
"isp": "2", //1:移动;2:联通;3:电信
"is_xhzw": "0", //是否携号转网,1:是,0:否
"isp_real": "2" //号码原所属运营商,1:移动;2:联通;3:电信
}
}
调用逻辑
用户注册 / 绑定时,传入手机号 + 业务注册日期
API 返回入网时间,对比:入网时间晚于你业务历史绑定时间 → 判定为二次放号,号码换人
- 更新说明
移动:数据同步延迟约 7 天 → T+7
联通、电信:数据同步延迟约 5 天 → T+5
如何用Java调用接口
public static void main(String[] args) {
String host = "https://market.aliyun.com/detail/cmapi00068857";//接口地址
String path = "/phone_second";
String method = "GET";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE
headers.put("Authorization", "APPCODE " + appcode);
Map<String, String> querys = new HashMap<String, String>();
querys.put("phone", "18566666611");
querys.put("date", "20260910");
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
System.out.println(response.toString());
//获取response的body
//System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
}
}