`
schy_hqh
  • 浏览: 540285 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

短信验证码接口API介绍

 
阅读更多

天翼开放平台地址:http://open.189.cn/

需要注册,以开发者身份进行实名制注册,上传身份证电子照,等待审核。

 

该平台提供了一系列的功能对外开放,慢慢研究。

 

第一,授权接口

调用地址,GET/POST方式:

 https://oauth.api.189.cn/emp/oauth2/v2/authorize

作用:

获取天翼开放平台的授权码AC-Authorization Code

获取途径:

在天翼的开放平台注册账号,完成身份认证;

创建应用,将分配一个天翼开放平台平台上的唯一标识,即app_id

天翼开放平台颁发给应用的密钥信息,app_secret

 

第二,令牌接口

调用地址,POST方式:

 https://oauth.api.189.cn/emp/oauth2/v2/access_token

作用:

获得最终的AT访问令牌

获取途径:

凭借AC授权码来换取

平台将返回访问令牌access_token及其所对应的更新令牌refresh_token。

 

第三,获取信任码

请求地址,Get方式:

http://api.189.cn/v2/dm/randcode/token

作用:

获取一个临时的信任码Token(该信任码在调用"验证码下发"接口是使用)

该信任码在3分钟内或者被使用1次后失效

请求参数:

app_id             平台分配给应用的id

access_token  由令牌接口获取 

timestamp        当前时间戳

sign                 一个签名,由其它参数一起参与计算得出

 响应结果:

token              返回一个新的令牌,用来在下发短信是使用

 

 

第四,验证短信下发

请求地址,POST方式:

http://api.189.cn/v2/dm/randcode/send

功能说明:

1.向指定的手机号发送一条验证码短信

2.平台向“验证码通知地址”推送验证码内容

 

 

平台回调地址:

http://10.0.61.66:8080/sms/servlet/rcReceive

刚写的一个servlet,作为平台返回验证码时调用的接口

 

RandomCodeServlet.java

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gc.sms.util.JsonUtil;
import com.gc.sms.util.StringUtil;



public class RandomCodeServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		String identifier = req.getParameter("identifier");
		String rand_code = req.getParameter("rand_code");
		
		String res_code = "0";//0 获取成功
		if(StringUtil.hasNull(identifier, rand_code)) {
			res_code = "1";// 1 获取失败
		}
		resp.setContentType("application/json;charset=UTF-8");
		PrintWriter pw = new PrintWriter(resp.getOutputStream());
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("res_code", res_code);
		String jsonString = JsonUtil.toJson(map);
		pw.print(jsonString);
		pw.flush();
	}
	
}
 
 JsonUtil.java 
package com.gc.sms.util;

import java.util.Map;

import emp.tool.json.JSONException;
import emp.tool.json.JSONObject;

public class JsonUtil {
	public static String toJson(Map<String,Object> paramsMap) {
		JSONObject json = new JSONObject();
		try {
			for (String key : paramsMap.keySet()) {
				json.put(key, paramsMap.get(key));
			}
			return json.toString();
		}catch(JSONException e) {
			e.printStackTrace();
			throw new RuntimeException("转换json时出现错误", e.getCause());
		}
	}
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics