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

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

帮我吧文档:数据接口:工单:签名认证 [2020/02/03 15:57]
admin
帮我吧文档:数据接口:工单:签名认证 [2020/06/28 00:11]
行 1: 行 1:
-===== 帮我吧查看历史工单免登录动态签名规则说明 ===== 
- 
- 
->注: 此规则仅当后台在工单模板开启链接保护签名项才生效。 
- 
-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 :  
-<code php> 
- 
-sha1(private_key,timestamp,nonce,param1...) 
-</code> 
- 
-  *   private_key: 私钥(在后台设置中生成和重置) 
-  *   timestamp 时间戳1小时内有效 
- 
-  *   其余参数根据实际需要传递 
-  *   中文参数UTF-8编码,必须urlencode 
- 
-3. 签名代码示例(PHP版) 
-<code 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); 
- 
-</code> 
- 
-4. 最终生成的带签名的url链接示例:  
->注: 此链接打开一小时后失效。 
- 
-''http://www.bangwo8.com/historyTicketList.php?aId=200637&ticketTemplateId=3&checkTicketStatus=1&timestamp=1569220445&mobile=17133958825&nonce=123456&signature=848137a37ce82d128b58bb3ca4ff804629f1832f'' 
- 
  

页面工具