客服WEB对接文档

文档修订记录

版本 更新日期 更新内容
1.1.0 2024.03.21 去除可选参数,增加对游力主体公众号快捷接入链接的说明
1.0.1 2022.08.04 增加可选参数
1.0.0 2021.01.11 初始化

简介

若需在WEB页面使用客服功能(如微信公众号内嵌客服),请依照下文完成接入链接的生成,而后从所需应用的程序(如微信公众号)中跳转至此链接即可。

1. 获取接入链接和签名密钥

  • 在 “客服工单系统-基础管理-接入指南” 中获取接入链接和签名密钥。接入链接的格式是“https://xxx”+“参数”+“__OPENID__”和“__SIGN__”组成。“__OPENID__”和“__SIGN__”是特定的格式需要替代,我们以下简称为“宏”。
  • 如果有显示“游力主体公众号快捷接入链接”,只需要把“游力主体公众号快捷接入链接”配置到微信公众号的菜单中,即可使用微信公众号客服功能,不需要后续操作

示例:
https://xxx?company_id=75&app_id=0&source=7&language=1&link_id=4564&sign_check=087bc0302926732c62a603881ba88e2d&openid=__OPENID__&sign=__SIGN__

2. 替代链接中的宏

  • 替换链接中的“__OPENID__”:替换为实际用户的账号标识,如微信用户的unionid,openid,steam用户的openid等等。
  • 替换链接中的“__SIGN__”:替换为计算出的签名。

签名规则

MD5步骤说明

1 待签名参数 :除去 sign ,其他参数(包含空值的参数)都要参加验签。
2 对所有待签名参数按照字段名的ASCII码从小到大排序。
3 使用键值对的格式(key1=value1&key2=value2)拼接成字符串;进行urlencode编码(PHP使用rawurlencode),获得$source字符串。
4 将步骤3的$source字符与秘钥通过&符号进行拼接:$source&$key。
5 将步骤4的字符串进行md5哈希签名得到最终sign值。

签名样例(PHP版本):

ksort($data);//1 按照健值从小到大排序
$query_string = array();//2 键值对按照'='拼接,排除sign参数
foreach ($data as $key => $val) {
    if ($key == 'sign') continue;
    array_push($query_string, $key . '=' . $val);
}
$query_string = join('&', $query_string);//3 将上述数组按照&拼接
$source = rawurlencode($query_string);//4 将拼接结果用rawurlencode编码
$sign= md5($source.'&'. $app_secret);//md5 hash计算签名