1.5.1. 规范说明

请求说明:

  • DBS 服务请求第三方数据接收地址

  • Method:POST

  • Url:${3rdCallBackUrl}?timestamp=xxxxx&nonce=xxxxx&sign=xxxxx

参数名 类型 描述
3rdCallBackUrl String 第三方接收数据的地址,详见数据推送配置
timestamp String unix时间戳,与nonce一起,防止重放攻击
nonce String 随机数,与timestamp一起,防止重放攻击
sign String 数字签名,md5-32位-小写(timestamp+nonce+token),其中token详见数据推送配置
  • Head
参数名 类型 描述
companyId String dbs平台内部公司唯一标识
companyCode String 与创建公司时传入的一致,一般表示第三方系统内部公司唯一标识
sid String 服务id,代表消息事件类型
  • Body
// 此处数据表示请求的body内容,若第三方配置需要加密,则body会是标准入参消息体加密后的密文
{
    "sid": "服务id,不同业务sid不一样,如dse.push.punchRecord表示打卡记录推送",
    "mid": "消息id",
    "payload": {
        "params": {
            // 具体参数信息, 详细看具体业务推送
        }
    }
}

回复说明:

注:回复一律使用明文,不需要加密

{
    "code": "00000000",
    "message": "success"
}
参数名 必填 描述
code Y 返回编码,00000000表示成功, 其他表示失败
message N 编码描述

1.5.2. 推送流程

如下图所示:

  1. 设置数据推送配置,平台会发送测试请求验证URL地址是否符合约定,若不符合,则会设置失败;
  2. 平台接收到设备上传的数据,立即出发数据推送引擎,发起实时推送;
  3. 第三方在接收到平台推送的信息后,3秒内必须回复成功编码,否则当作推送失败处理;
  4. 第一次实时推送失败后,会再继续尝试第二次实时推送,失败后进入数据中转站;
  5. 中转站的数据默认存活期为72小时,72小时之内会不定时不定点尝试继续推送;
  6. 中转站数据存活期仍未推送成功的就会被归档,这些数据不再纳入推送范畴;

avatar

1.5.3. 数据推送配置

开发者账号登录,在应用可视化界面配置,如下图所示。

avatar

  • 推送开发

默认为关,即不接受任何消息推送。

  • URL

接收推送消息的url地址,http或者https,配置时会对此URL地址进行验证。url验证规则查看测试推送地址

  • token

用于数据推送时的签名认证,详情查看规范说明

  • 是否加密、加密密钥

若选择不加密,则推送都是明文传输,若选择加密,则会body内容会使用AES128(AES/ECB/PKCS5Padding)进行加密,密钥为此处设置的密钥,详情查看规范说明

  • 消息事件类型

选择需要推送的事件,如打卡记录

1.5.4. 测试推送地址

  • 此接口是用于测试设置的推送地址是否正常

  • 收到sid=dse.push.test的数据,直接回复code=00000000的消息即可

Request:

// 此接口不管设置加密与否,body内容都采用明文传输
// 若推送采用加密,有必要对事件进行区分,可获取http请求head中的sid字段进行区分

{
    "sid": "dse.push.test",
    "mid": "xxxxxxxx"
}

Response:

{
    "code": "00000000",
    "message": "success"
}

results matching ""

    No results matching ""