获取用户列表 更新时间:{{v.created_a | filterstime}}

基本信息
  • 接口URL:
  • 请求方式:
  • Content-Type:
请求参数
参数及说明
响应示例
成功响应示例
                      
字段描述

全局参数 更新时间:2021-06-17 17:54:15

请求参数

所有接口都需要在header头添加“appid”、“timestamp”、“sign”三个参数

appid:系统分配的appid,如:20210306146970

timestamp:当前的时间,yyyyMMddHHmmss格式,如:20210619151206

sign:签名

签名说明
1.获取所有请求参数,不包含sign
示例:
    app_id=1001161***
    mobile=13388888***
    name=签名名称
    template_id=1***
    attr[]=1234
    timestamp=163392****

2.参数排序
将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
示例:
    app_id=1001161***
    attr[]=1234
    mobile=13388888***
    name=签名名称
    template_id=1***
    timestamp=163392****

3.拼接签名
将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。调用MD5算法生成sign。
拼接代签字符串 :
    app_id=1001161***&attr[0]=1234&mobile=13388888***&name=签名名称&template_id=1***&'timestamp=163392****

4.生成签名
    sign = MD5(代签字符串+Secret)
PHP示例
 /**
     * curl请求
     *
     * @param        $url
     * @param        $params
     * @param string $method
     * @param array  $header
     * @param bool   $multi
     * @return bool|string
     */
    private static function http($url, $params = [], $method = 'GET', $header = array(), $multi = false)
    {
        $opts = array(
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_HTTPHEADER     => $header
        );
        switch (strtoupper($method)) {
            case 'GET':
                $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
                break;
            case 'POST':
                $params = $multi ? $params : http_build_query($params);
                $opts[CURLOPT_URL] = $url;
                $opts[CURLOPT_POST] = 1;
                $opts[CURLOPT_POSTFIELDS] = $params;
                break;
            default:
                E('不支持的请求方式!');
        }

        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $data = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
        if ($error) exit('请求发生错误:' . $error);

        return $data;
    }

    /**
     * 生成签名
     *
     * @param $secret
     * @param $data
     * @return string
     */
    private function sign($secret, $data)
    {
        // 对数组的值按key排序
        ksort($data);
        // 生成url的形式
        $params = http_build_query($data);
        // 解决乱码
        $params = urldecode($params);
        // 生成sign
        return md5($params . $secret);
    }


    const APP_ID = '1111111111111';             // 分配的appid
    const SECRET = '111111111111111111111111';  // 分配的密钥,不当参数传过去

     $timestamp = date('YmdHis');
        //请求参数
        $param = [
            'domain' => 'damicloud.com',
        ];
        //签名
        $setSignParam = $param;
        $setSignParam['appid'] = APP_ID;
        $setSignParam['timestamp'] = $timestamp;
        //header头
        $header = [
            'appid:' . APP_ID,
            'timestamp:' . $timestamp,
            'sign:' . self::sign(SECRET, $setSignParam),
        ];
        //请求url
        $url = 'https://www.damicloud.com/openapi/product/domainOwner';//这里请替换成实际URL地址
        $res = self::http($url, $param, 'POST', $header);

        echo $res;