一洽Echat业务自定义信息接入

一洽|Echat业务自定义信息接入

1.消息加解密说明

什么是EncodingAESKey? 一洽采用AES对称加密算法对消息体对行加密,EncodingAESKey则是加密所用的秘钥。消息接收方用此秘钥对收到的密文消息体进行解密。

消息加解密过程和微信公众平台的消息加解密方式一致。 示例代码(包括C++、php、Java、Python和C#版本)示例代码 注:一洽的签名信息在GET请求中,微信的示例代码签名在XML结构中,Encrypt节点的加解密方式是一样的。

Java要求jdk 1.6及1.6以上 异常java.security.InvalidKeyException:illegal Key Size的解决方案:在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt,如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件;如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

 

2.消息加解密说明

网页代码中集成已有和对话相关业务数据时,可设置formData参数将业务自定义信息通过加密的方式通知到本地对话。 示例:

比如有formData的加密文本为:

     

示例:

     

示例:

     

示例:

     

业务自定义信息接入时可携带的参数列表如下:

属性 类型 必填 描述
chatSubject int 业务主题的id,该id是公司已存在的主题id;id>10
chatSubjectMemo string 业务主题评估的备注信息;最长不超过50
m1 - m10 string 业务自定义字段的value值;最长不超过50

密文业务自定义字段信息生成过程: 1.将需要传递给一洽的用户信息组装成xml格式

     

2.通过AES将明文内容进行加密 下面所有的加密示例所使用的的appid和encodingAesKey如下:

     

加密后得到的密文如下:

     

注:通过对话地址方式传递给一洽的formData要进行urlEncode进行utf8编码后传参,避免特殊字符导致截断解密失败。