帮我吧文档:数据接口:工单:签名认证

帮我吧查看历史工单免登录动态签名规则说明

注: 此规则仅当后台在工单模板开启链接保护签名项才生效。

1. URL需传参数:

  • signature 签名token
  • timestamp 时间戳
  • nonce 随机数
  • authaccount 第三方系统与帮我吧对应客户的唯一标识(要求小写)
  • mobile 联系人手机号码(要对应帮我吧联系人手机号码)

参数说明:

(1).authaccount和mobile传其中一个参数即可,按authaccount查询的优先级高于mobile,即如果两个参数都传,会按authaccount来查历史工单
(2).查找的是工单模板发布且绑定该手机号码所有的工单,如手机号码传值为空,提示验证失败
(3).查找的是工单模板发布的所有工单,但已绑定authaccount,且绑定的authaccount有值,如果authaccount参数没传值,手机号码参数也传值,提示验证失败
(4).authaccount 和手机号码字段都已绑定,且都有值,查询的时候查到的是authaccount有值的工单;authaccount和手机号码字段都存在,但是authaccount传值为 
    空,查到的是对应的手机号码的;authaccount和手机号码字段都存在,值都为空,提示验证失败

2. 签名规则说明: - 对除signature外的全部参数签名,先字典升序后hash :

sha1(private_key,timestamp,nonce,param1...)
  • private_key: 私钥(在后台设置中生成和重置)
  • timestamp 时间戳1小时内有效
  • 其余参数根据实际需要传递
  • 中文参数UTF-8编码,必须urlencode

3. 签名代码示例(PHP版)

<?php
 
/**
 * 签名类
 * Class Signature
 */
 
class Signature{
    private $nonce;
    private $timestamp;
    private $private_key = 'aef2l3gze982ew';
 
    public function __construct()
    {
        $this->nonce = time();
        $this->timestamp = $this->getUnixMicroTime();
    }
 
    //获取13位时间戳
    protected function getUnixMicroTime() {
        $time = microtime(1);
        return floor($time * 1000);
    }
 
    //生成签名
    public function makeSignature(array $params){
        $params['private_key'] = $this->private_key;
        $params['timestamp'] = $this->timestamp;
        $params['nonce'] = $this->nonce =123456;
        $tmpArr = array_values($params);
        sort($tmpArr, SORT_STRING);
        return $tmpStr = sha1(implode($tmpArr));
    }
}
 
//参数需要根据实际情况传递 
$params = [
    'mobile'=>'15564532345'
    'authaccount'=>'dhif948'
];
$signObj = new Signature();
$signature =  $signObj->makeSignature($params);

4. 最终生成的带签名的url链接示例:

注: 此链接打开一小时后失效。

http://www.bangwo8.com/historyTicketList.php?aId=200637&ticketTemplateId=3&checkTicketStatus=1&timestamp=1569220445&mobile=17133958825&nonce=123456&signature=848137a37ce82d128b58bb3ca4ff804629f1832f


页面工具