### 用户发送商品或订单给客服(仅支持H5云客服) 通过该功能,可以实现,用户在H5聊天页面,自主选择商品或订单,发送给客服。效果如下: ![](https://img.kancloud.cn/08/61/0861906facf5a2e6807f363567f30124_375x811.png) #### 如何使用? 1、填写接口地址,设置签名秘钥 - 用户点击选择订单发送时,我们会向填写的接口地址请求用户的订单列表。请按照文档,返回对应参数。 - 签名秘钥用于对请求进行加密,我们会按照下述加密方式对请求加密生成签名,请开发者自行进行校验签名是否正确,以保证安全性。 ![](https://img.kancloud.cn/20/17/20178b9107da0cc426b2546af42d2356_1204x284.png) 2、签名生成方式 按照字段key值自然升序排序后,将请求参数(参数值需要urlencode)和签名秘钥(secret)拼接在一起后MD5加密,如果值等于接收到的signature,那么表示验证通过。 示例: ~~~ signature = md5(chanelid=urlencode(\*\*)&openid=urlencode(\*\*)&pagenum=urlencode(\*\*)pagesize=urlencode(\*\*)&&secret=urlencode(\*\*)&time=urlencode(\*\*)) ~~~ 3、获取商品接口 - 请求参数: | 参数名 | 描述 | 格式 | 备注 | | --- | --- | --- | --- | | chanelid | 渠道ID | int | 咨询的渠道ID | | pagesize | 每页展示数量 | int | 固定为10 | | pagenum | 页码 | int | - | | time | 请求时间 | 秒级时间戳 | 用于校验请求有效性 | | signature | 签名 | 字符串 | 用于校验请求有效性,祥见上问2、签名生成方式 | - 请求示例 ~~~ { "chanelid": 14126, "pagesize": 10, "pagenum": 1, "time": 1659335427, "signature": "01b73beab91625326df3efbfa98d7823" } ~~~ - 收到请求后,请按照如下格式返回结果。 | 参数名 | 描述 | 是否必填 | 格式 | 备注 | | --- | --- | --- | --- | --- | | total | 商品总数 | 是 | | 符合条件的商品总数 | | data | - | 是 | 对象数组 | | | data.tmptype | 模板类型 | 是 | 字符串 | 商品类型模板固定为goods,订单类型模板固定为order | |data.tmpTitle | 商品标题 | 是 | 字符串 | 最多20个字,需要urlencode | |data.tmpDescription | 商品描述 | 否 | 字符串 | 最多40个字,需要urlencode ,不传则不展示描述。该字段也可以用来展示商品规格。| |data.tmpThumb | 商品缩略图 | 是 | 字符串 | 请传递图片的链接,确保该链接可访问。需要urlencode | | data.tmpValue | 商品价格 | 是 | 浮点型数字 | 最多两位小数 | | data.tmpUrl | 商品链接 | 否 | 字符串 | 不传,则客户和客服无法在聊天界面打开商品链接 | - 返回示例 ~~~ { "res": 0, "msg": "", "total":100, "data": [ { "tmptype": "goods", "tmpTitle": "测试商品380082", "tmpDescription": "风切", "tmpThumb": "https://xiaokefu.com.cn/static/home/img/logo.png", "tmpValue": "777.77", "tmpUrl": "https://xiaokefu.com.cn?a=53456" }, ... ] } ~~~ 4、获取订单接口 - 请求参数: | 参数名 | 描述 | 格式 | 备注 | | --- | --- | --- | --- | | chanelid | 渠道ID | int | 咨询的渠道ID | | openid | 用户的openid | 字符串 | 咨询的用户id。请配合传入客户资料使用 | | pagesize | 每页展示数量 | int | 固定为10 | | pagenum | 页码 | int | - | | time | 请求时间 | 秒级时间戳 | 用于校验请求有效性 | | signature | 签名 | 字符串 | 用于校验请求有效性,祥见上问2、签名生成方式 | - 请求示例 ~~~ { "chanelid": 14126, "openid": "12342311qw" "pagesize": 10, "pagenum": 1, "time": 1659335427, "signature": "01b73beab91625326df3efbfa98d7823" } ~~~ - 收到请求后,请按照如下格式返回结果。 | 参数名 | 描述 | 是否必填 | 格式 | 备注 | | --- | --- | --- | --- | --- | | total | 订单总数 | 是 | | 符合条件的订单总数 | | data | - | 是 | 对象数组 | | | data.tmptype | 模板类型 | 是 | 字符串 | 商品类型模板固定为goods,订单类型模板固定为order | | data.tmpTitle | 商品标题 | 是 | 字符串 | 最多20个字,需要urlencode。多商品时,传递其中某一个的商品标题 | | data.tmporderThumb | 商品缩略图 | 是 | 字符串 | 订单商品的缩略图地址,多商品时传递其中一个即可。需要urlencode | | data.tmporderid | 订单号 | 是 | 字符串 | 最多128个字符,需要urlencode | |data.tmpordertime | 下单时间 | 是 | 时间戳 | 下单时间,取秒级时间戳。| | data.tmpordernum | 商品数 | 否 | int | 订单商品数,必须为整数。不填则不展示 | | data.tmporderprice | 订单金额 | 否 | float | 订单金额。不填则不展示 | | data.tmporderurl | C端点击跳转链接 | 否 | 字符串 | 客户在聊天界面点击查看详情的跳转链接。注意,请自行在链接对应的页面校验登录态。需要urlencode。不填则不能跳转到订单详情 | | data.tmporderstaffurl | 客服跳转链接 | 否 | 字符串 | 客服在聊天界面点击查看详情的跳转链接。不填则默认取C端跳转链接。如果C端跳转链接也未填,则不可跳转。注意,请自行校验登录态。| - 返回示例 ~~~ { "res": 0, "msg": "", "total":100, "data": [ { "tmptype": "order", "tmpTitle": "游山玩水", "tmporderThumb": "https://xiaokefu.com.cn/static/home/img/logo.png", "tmporderid": "60688", "tmpordertime": "2022-08-01 14:40:35", "tmpordernum": "67936", "tmporderprice": "7419.00", "tmporderurl": "https://xiaokefu.com.cn?a= 94057", "tmporderstaffurl": "https://xiaokefu.com.cn?a=33736" } ] } ~~~