1. 第三方组织为移动报表的提供的接口

API接口地址均采用统一的签名算法进行鉴权,具体的签名过程如下

/*PHP代码示例*/

 $timestamp  = time();
 $api_token  = 'mykey';
 $salt  = 'report';
 $channel_id = 3;

 $signature= sha1($timestamp . $api_token .$salt . $channel_id);

api_token 注册服务商时生成,由第三方提供,参考 服务商注册

timestamp 单位为秒,从1970年1月1日至今的秒数

salt = report 固定值为report

channel_id 渠道编号,参考 预分配信息表

接口需要自行根据此算法进行接口的鉴权。

1.1. 全量获取公司数据

接口参数

    {
        "signature": "",//签名信息
        "timestamp": "",//时间戳
        "channel_id": "",//渠道编号
        "channel_code": ""//第三方组织的租户编码
     }

接口返回值

{
    "success": 0,//0=>失败,1=>成功
    "message": "",//正常情况为空,否则显示错误原因
    "data":[
            {
                "id": "11b11db4-e907-4f1f-8835-b9daab6e1f23",
                "name": "总部",
                "parent_id": "",
                "sort": "01",
                "is_end_company": "0"
            },
            {
                "id": "6ecee86a-87cc-4890-ac64-20fb314c78f0",
                "name": "华南区域",
                "parent_id": "11b11db4-e907-4f1f-8835-b9daab6e1f23",
                "sort": "02",
                "is_end_company": "0"
            },  
            {
                "id": "499e3c90-df39-47ca-b2f8-df37badc34e1",
                "name": "武汉公司",
                "parent_id": "6ecee86a-87cc-4890-ac64-20fb314c78f0",
                "sort": "03",
                "is_end_company": "1"
            }
    ]
}

注:为了区分总部与区域,总部的sort应该最小。

1.2. 全量获取项目数据

接口参数

    {
        "signature": "",//签名信息
        "timestamp": "",//时间戳
        "channel_id": "",//渠道编号
        "channel_code": ""//第三方组织的租户编码
     }

接口返回值

{
    "success": 0,//0=>失败,1=>成功
    "message": "",//正常情况为空,否则显示错误原因
    "data":[
             {
                "id": "12829ad4-6a63-e511-80c1-00155d0a6f23",
                "name": "四季花园",
                "parent_id": "e966f47e-e64a-47e2-a537-8dcba02087fa",//如果是一级项目,parent_id为末级公司的id
                "sort": "01",
                "is_end_proj": "0"
            },
            {
                "id": "4753da30-6b63-e511-80c1-00155d0a6f23",
                "name": "四季花园-一期",
                "parent_id": "12829ad4-6a63-e511-80c1-00155d0a6f23",//如果是末级项目,parent_id为父级项目的id
                "sort": "02",
                "is_end_proj": "1"
            },
            {
                "id": "a4714b07-d127-e611-80c5-00155d0a6f23",
                "name": "四季花园-二期",
                "parent_id": "12829ad4-6a63-e511-80c1-00155d0a6f23",
                "sort": "03",
                "is_end_proj": "1"
            }
    ]
}

1.3. 获取指定用户的数据权限

接口参数

    {
        "signature": "",//签名信息
        "timestamp": "",//时间戳
        "channel_id": "",//渠道编号
        "channel_code": "",//第三方组织的租户编码
        "user_guid":""//用户guid
    }

接口返回值

{
    "success": 0,//0=>失败,1=>成功
    "message": "",//正常情况为空,否则显示错误原因
    "data":{
                "company_list": [
                    "12829ad4-6a63-e511-80c1-00155d0a6f23",
                    "39dde7f4-d7b2-25f6-0345-66a27cacb772",
                    "39dad300-e5e5-e85f-fd71-5e1f287e8f8b"
                ],
                "project_list": [
                    "12829ad4-6a63-e511-80c1-00155d0a6f23",
                    "39dde7f4-d7b2-25f6-0345-66a27cacb772",
                    "39dad300-e5e5-e85f-fd71-5e1f287e8f8b"
                ]
           }
}

1.4. 获取指定用户有权限的报表

接口参数

    {
        "signature": "",//签名信息
        "timestamp": "",//时间戳
        "channel_id": "",//渠道编号
        "channel_code": "",//第三方组织的租户编码
        "user_guid":""//第三方用户guid
    }

接口返回值

{
    "success": 0,//0=>失败,1=>成功
    "message": "",//正常情况为空,否则显示错误原因
    "data":[10000,1223,55621]//有权限的报表编号
}

2. 移动报表为第三方组织提供的接口

域名说明

测试环境域名: https://qy-ci.fdccloud.com

预发布环境域名: https://qy-qa.fdccloud.com

正式环境域名: https://www.fdccloud.com

2.1. 返回第三方组织的报表ID和名称,用于报表授权

请求地址

{域名}/report/api/third/get-third-report

接口参数

    "channel_id":"", //渠道编号

    "channel_code":"" //第三方组织的租户编码

    "app_code":"" //第三方应用code

第三方应用code举例

"MobileCheckRoom"=>获取验房报表,"PropertyBase"=>获取云物业报表,如果为空则不分应用返回该渠道下所有的报表

调用示例

https://qy-ci.fdccloud.com/report/api/third/get-third-report?channel_id=2&channel_code=retesting&app_code=MobileCheckRoom

接口返回值

{
    "success": 0,//0=>失败,1=>成功
    "message": "",//正常情况为空,否则显示错误原因
    "data":[
        {
            "report_id":1,
            "report_name":"首页",
            "view_url":"/report-micro/home/release/index?reportId=XXXX",
            "is_system":1, //是否系统级
            "create_time":"2017-01-01" //创建时间
        },
        {
            "report_id":1,
            "report_name":"房间统计",
            "view_url":"/report-micro/home/release/index?reportId=XXXX",
            "is_system":1, //是否系统级
            "create_time":"2017-01-01" //创建时间
        }
    ]
}

2.2. 第三方打开移动报表单点登录

请求地址

{报表地址}?__from=third_party_sso&_authcode=xxx&_channel_id=xxx

参数说明

参数 描述
__from 参数值固定为 third_party_sso,注意__from前面是两个下划线
_channel_id 为注册时返回的渠道ID
_authcode 用于识别当前第三方组织用户身份

_authcode = urlencode(base64_encode(AES({channel_id:xxx, channel_code:xxx, user_guid:xxx, timestamp:xxx}, aes_token))) 我方会话的默认过期时间为30分钟,建议每次跳转都传递 _authcode 参数

_authcode 参数说明

参数 描述
channel_id 渠道编号
channel_code 第三方组织的租户编码
user_guid 第三方用户guid
timestamp 时间戳
aes_token 注册套件时生成,详见服务商注册

results matching ""

    No results matching ""