滴滴API请求SDK
为保障请求参数的安全性,滴滴对请求参数进行签名验证处理。该签名值在调用滴滴接口时,作为请求参数传入,滴滴后台会校验签名的正确性。
为简化请求调用,滴滴提供API请求SDK。利用SDK发起对滴滴API的请求,将自动完成参数签名过程。接入的开发者,只需要关注请求参数即可,无须关注签名过程。
SDK获取
开发语言
资源下载
环境要求
Java版SDK说明
SDK包内容
open-sdk-xxxx.jar---------滴滴SDK编译文件jar
fastjson-xxxx.jar---------SDK依赖的json工具jar
log4j-xxxx.jar---------SDK依赖的日志jar
httpclient-xxxx.jar---------SDK依赖的http工具jar
httpcore-xxxx.jar---------SDK依赖的http工具jar
commons-logging-xxxx.jar---------http工具依赖的日志jar
README.md---------SDK说明文件
SDK使用说明
下载SDK,解压后将SDK中的jar包集成到开发项目中。依赖的jar也可以用maven方式引入,pom内容请参考SDK中的README.md。
获取系统参数:利用SDK中的工具类:DidiBizUtil获取(方法名为getSysParams)。
根据具体请求接口,组装请求参数,并调用SDK中的工具HttpUtil.post发送请求即可。
注意
使用sdk时注意根据接入环境修改接入信息(请求url、appKey、appSecret等)。
sdk中使用fastjson解析返回的json信息,实际使用中开放人员可以自行决定json处理工具。
API请求调用示例
//测试环境URL
String url = "https://pinzhi.didichuxing.com/kop_stable/gateway";
//接入应用KEY
String appKey = "1234ff1234AA12345b24dbc71026daaa";
//接入应用证书
String appSecret = "abcdff1234AA12345b24dbc71026d123";
private void post(String appkey, String appSecret) {
/*设置请求参数*/
Map< String, Object> bizParams = new HashMap< String, Object>();
bizParams.put("phone", "12345678901");
bizParams.put("source", "12");
bizParams.put("customerKey", "test==");
bizParams.put("privilegeId", "122345");
bizParams.put("outerOrderId", "121");
/*设置系统参数,此处测试免登接口*/
Map< String, Object> sysParams = DidiBizUtil.getSysParams("test", appkey,"lj.u.p.loginByTp", "1.0.0");
/*发送post请求*/
String resp = HttpUtil.post(url, bizParams, sysParams, appSecret);
System.out.println(resp);
/*获取请求返回json*/
DidiResult result = JSON.parseObject(resp, DidiResult.class);
LoginResultBean loginResult = JSON.parseObject(result.getData().toString(), LoginResultBean.class);
}
public void sdkTest() {
/*测试免登接口*/
post(appKey, appSecret);
}
PHP版SDK说明
SDK包内容
KopUtil.php---------滴滴接入请求相关工具,包括签名和post请求
DidiBizUtil.php---------滴滴接入获取系统参数相关工具
version.txt---------版本信息说明文件
SDK使用说明
下载SDK,解压后将SDK中的php文件集成到开发项目中。
获取系统参数:利用SDK中的工具类:DidiBizUtil获取(方法名为_genPlatParams)。
根据具体请求接口,组装请求参数,并利用KopUtil的_request方法发送请求即可。
API请求调用示例
private $appkey;
private $appSecret;
//初始化配置数据
public function _init() {
$this->appkey = '53439451a6ad4a0dae1e6c55959777d5';
$this->appSecret = 'cd32050edcec4158a87ee5c04ca6ed0f';
}
//免登接口测试
public function _login() {
$aBizParams['phone'] = '12345678901';
$aBizParams['source'] = '12';
$aBizParams['customerKey'] = '1234==';
$aBizParams['privilegeId'] = '12234';
$aBizParams['outerOrderId'] = '121';
$didiBizUtil = new DidiBizUtil();
$aPlatParams = $didiBizUtil->_genPlatParams('test', $this->appkey, 'lj.u.p.loginByTp', '1.0.0');
$kopUtil = new KopUtil();
$result = $kopUtil->_request($aPlatParams, $aBizParams, $this->appSecret);echo $result;
}
//测试登录接口
$kopUtilTest = new KopUtilTest();
$kopUtilTest->_login();
node版SDK说明
SDK包内容
demo.js---------SDK入口,测试demo
index.js---------SDK工具集入口
config.json---------系统参数配置json
lib/kop.js---------接口请求工具(包含接口调用和算签工具)
lib/util.js---------工具集
lib/env.js---------环境控制工具
README.md---------SDK说明文件
SDK使用说明
下载SDK,解压后将SDK中的js库和json文件集成到开发项目中。
系统参数配置:修改config.json文件,根据当前使用环境(线上或测试环境)配置appKey、appSec及kopHost。
开放接口调用程序:参照demo.js或下方"请求调用示例",配置接口调用系统参数和请求参数,然后调用kop.js的send接口发送请求即可。
API请求调用示例
var kopTools = require('./lib/kop'),
KOP = new kopTools();
//登录参数信息
var params = {
did: 123,
token: "test"
}
//免登接口调用示例
var loginbyTpConfig = {
api:"lj.nbs.u.loginbyTp", // 接口名
apiVersion:"1.0.0",
param:{
phone:123,
source:12,
customerKey:"test",
privilegeId:123
}, // 接口传参
/*login: { // 用户登录信息,需要登录的接口必须传的参数
userRole: 1, // 根据具体的userRole来
userId: params.did, // 用户userid
token: params.token // 用户token
}, */
callback: function(data){ // 成功回调
console.log('getinfo::data=====', data);
params.did = data.pid;
params.token = data.token;
},
errback: function(err, msg){ // 失败回调
console.log('getinfo::data=====', err, msg);
}
}
KOP.send(loginbyTpConfig); // 调用kop