作者:张振琦
使用工单SDK首先要做客户身份认证,客户身份认证需要使用到App ID、App Key、客户类型、客户类型值。组合后使用SHA1算法加密即可。客户类型支持三种形式:token、email、weixin,详见下表。
名称 | 类型 | 值 | 说明 |
---|---|---|---|
appid | String | 系统生成 | 工单插件的唯一标示 |
appkey | String | 系统生成 | 工单插件的密钥 |
token(类型) | String | customer_token | 客户标识 |
email(类型) | String | 必须客户主邮箱 | |
weixin(类型) | String | contact_weixins.openid | 微信的appid + “#” +openid |
appid和appkey在工单SDK的基本信息中查看。
如果不使用邮箱作为客户的唯一标识,可以选用token类型。客户的联系方式会多一条customer_token记录作为客户的唯一标识。工单SDK在初始化时就会判断客户信息,如果在线客服系统中不存在该客户,即会新建客户。
【签名算法】
原始字符串:{appid}&{类型}&{内容}&{appkey}
签名(sign):SHA1(原始字符串)
举例:
appid:8e11a78455a26240
appkey:24afe5101a3052e3dd3300ceb821acf0
使用token作为类型,内容为test123456
原始字符串为:8e11a78455a26240&token&test123456&24afe5101a3052e3dd3300ceb821acf0
签名(sign),使用SHA1算法对原始字符串加密后结果为:86d8d97887ae101dc5362e756e08b1227b2f4d64
签名算法会使用到敏感信息,从安全上考虑,签名应该在服务端完成计算。下面提供Java实现过程代码。如果不使用Java作为服务端语言,可以参考上述描述自行实现。工单SDK在线帮助文档地址:https://www.udesk.cn/doc/thirdparty/ticket_sdk/
JavaEE实现代码如下:
- SHA1加密算法
package com.udesk.common;
import java.security.MessageDigest;
public class SHA1 {
public static String encode(String inStr) {
MessageDigest sha = null;
try {
sha = MessageDigest.getInstance("SHA");
byte[] byteArray = inStr.getBytes("UTF-8");
byte[] md5Bytes = sha.digest(byteArray);
StringBuffer hexValue =