本文档是轻服务出口网关文档,详细描述了YunOS如何将数据传输到开发者的服务器上。
Yunos调用开发者服务器,主要有2种业务场景:
1,YunOS将用户菜单操作消息转发给开发者服务器。
2,YunOS根据用户行为或场景引擎调用开发者服务器获取轻服务数据。
SDK下载地址:http://yunpan.taobao.com/s/71sepP5fL7 提取码:HjGW3M
具体SDK是:请使用最新版本。
步骤二,构造卡片需要的业务数据JSON
直接返回业务数据明文。构造业务数据,可以直接使用SDK中的数据模型定义。
详细业务数据结果说明,请参考轻服务模板参考。
SDK中的范例代码可以参考:轻服务SDK签名范例。
为了安全,推荐使用这个方式。YUNOS传递的入参只有2个,分别是k和data。
k是随机秘钥的密文,data是加密的入参数据。
步骤一,解密YUNOS传送过来的入参
1,用标准MD5算法对AES加密秘钥进行HASH,然后取前16位,得到新秘钥newAesKey。
String newAesKey = MD5Util.MD5(aesKey).substring(0, 16);// 对原始秘钥MD5,然后取前16位 |
2,用新秘钥newAesKey对入参中的k进行解密操作。算法是标准的AES算法。
String rKey1 = AESUtil.decodeClientTextWithSeed(newAesKey, k); |
3,用解密后的秘钥rKey1,对入参中的data进行解密操作,得到入参明文。
String mingwen = AESUtil.decodeClientTextWithSeed(rKey1, data); |
4,将入参明文json,转换为Map对象。
Map<String, String> bizMap = JacksonUtil.fromJsonStrToMap(mingwen); |
目前入参data主要由下面这些key的数据组成 :详细见API接口说明。
public static final String pageNo="pageNo";//当前页
public static final String pageSize="pageSize";//每页数量
public static final String geo ="geo";//经纬度海拔中间用*隔开
public static final String openId="openId";//YUNOS用户对应的OpenId
public static final String traceId="traceId";//跟踪流水号,对账用
public static final String sysTime="sysTime";//系统时间
|