伙伴云OpenAPI
  1. 订阅
伙伴云OpenAPI
  • 开发指南
    • 开发前必读
    • 申请 API Key
    • 基本概念介绍
    • 数据筛选器
    • 更新日志
  • 工作区
    • 获取工作区列表
      GET
    • 获取工作区成员列表
      POST
  • 表格数据
    • 获取表格列表
      POST
    • 获取表格配置
      POST
    • 查询数据列表
      POST
    • 获取数据详情
      POST
    • 创建数据
      POST
    • 更新数据
      PUT
    • 删除数据
      DELETE
    • 批量创建数据
      POST
    • 批量更新或创建数据
      PUT
    • 批量删除数据
      DELETE
  • 数据仓库数据
    • 获取数据仓库表格列表
      POST
    • 获取数据仓库表格配置
      POST
    • 查询数据列表
      POST
    • 获取数据详情
      POST
    • 批量创建数据
      POST
    • 批量更新数据
      PUT
    • 根据数据ID列表更新成相同数据
      PUT
    • 批量删除数据
      DELETE
  • 流程
    • 获取流程列表
    • 查询流程实例列表
    • 获取流程实例详情
    • 获取流程实例的执行记录
    • 查询流程任务列表
    • 获取流程任务详情
  • 文件
    • 批量获取文件详情
    • 上传文件
  • 订阅
    • 订阅事件概述
    • Encrypt Key 加解密
    • 订阅回调事件
    • 添加订阅
      POST
    • 取消订阅
      POST
    • 获取订阅列表
      POST
  • 服务商
    • 获取 access_token
    • 获取服务商的 api_key
    • 获取服务商信息
    • 设置订阅回调地址
    • 获取订阅回调地址
  1. 订阅

订阅回调事件

回调说明#

推送的事件
订阅事件后,会根据不同事件推送不同结构的数据,给指定的回调地址。
调用批量操作的接口,会自动将结果推送给指定的回调地址。
如不希望接收自动发送的批量结果回调事件,建议使用另一个未配置回调地址的 api_key 来调用批量操作的接口。
推送失败处理
给回调地址推送时,如果推送失败,会连续尝试 2 次,如果仍失败则本次事件不再推送。
如果 1 小时内,对于单个表格、流程的事件推送,接口返回错误超过 100 次,将会暂停推送 2 个小时,2 小时后会自动恢复推送。对于不同表格、流程的失败控制策略,不会互相影响。
因此建议在配置的回调地址中,固定返回 200,全量接收推送的事件,在后续逻辑中再针对不同的事件区分处理或不处理。

回调事件#

数据单条创建#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "item.create" // 事件类型
    },
    "data":{
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": false, // 是否为批量操作
       "item": { // 创建的数据对象
          // 同 获取数据详情接口返回的数据结构
       }
    }
}

数据单条修改#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "item.update" // 事件类型 
    },
    "data":{
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": false, // 是否为批量操作
       "item": { // 修改的数据对象
          // 同 获取数据详情接口返回的数据结构
       }
    }
}

数据单条删除#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "item.delete" // 事件类型 
    },
    "data":{
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": false, // 是否为批量操作
       "item_id": "2300000000000001" // 删除的数据ID
    }
}

数据批量创建#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "item.create" // 事件类型
    },
    "data":{
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": true, // 是否为批量操作,
       "item_ids": ["2300000000000001", "2300000000000002"...] // 批量创建的数据ID列表
    }
}

数据批量更新#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864",
        "event_type": "item.update" // 事件类型 
    },
    "data":{ 
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": true, // 是否为批量操作
       "item_ids": ["2300000000000001", "2300000000000002"...] // 批量修改的数据ID列表
    }
}

数据批量删除#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "item.delete" // 事件类型
    },
    "data":{ 
       "table_id": "2100000000000001", // 触发事件的表格ID
       "bulk": true, // 是否为批量操作
       "item_ids": ["2300000000000001", "2300000000000002"...] // 批量删除的数据ID列表
    }
}

批量接口结果通知#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": {
	"event_id": "1703499323870518", // 事件ID
	"event_type": "bulk_result" // 事件类型
    },
    "data": {
	"action": "dw_item.bulk_create", // 批量操作类型,item代表普通表数据、dw_item代表大数据表数据,bulk_create代表批量创建、bulk_update代表批量更新或创建、bulk_delete代表批量删除
	"result": { // 批量接口的标准返回结构
	    "code": 0, // 0代表全部成功,5040004代表有失败
            "message": "success",
	    "data": {
                "table_id": "2100000055209720", // 批量操作的表格ID
		"failed_item_ids": [ // 操作失败的数据ID列表,仅在批量更新或删除数据时返回,否则返回空
                    "2300012202565807",
                    "2300012202565808"
                ],
		"successful_item_ids": [ // 操作成功的数据ID列表,批量创建、更新或删除数据时返回
                    "2300012202565809",
                    "2300012202565810"
                ],
		"successful_items": { // 成功创建的数据列表,仅在批量创建且指定callback_field_ids时返回,否则返回空
	            "2300012202565809": {
                        "2200000454313147": "113" // 调用批量创建接口时callback_field_ids指定的字段
                    },
		    "2300012202565810": {
			"2200000454313147": "114"
                    }
                }
            },
            "meta": {
                "trace_id": "170350324213165670775932" // 与调用批量接口时返回的一致
            }
        }
    }
}

流程发起#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "process.create" // 事件类型
    },
    "data":{
       "procedure_id": "3000000000000001", // 触发事件的流程ID
       "bulk": false, // 是否为批量操作
       "process": { // 流程实例对象
          // 同 获取流程实例详情接口返回的数据结构
       }
    }
}

流程实例变更#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "process.update" // 事件类型
    },
    "data":{
       "procedure_id": "3000000000000001", // 触发事件的流程ID
       "bulk": false, // 是否为批量操作
       "process": { // 流程实例对象
          // 同 获取流程实例详情接口返回的数据结构
       }
    }
}

流程任务下发#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "task.create" // 事件类型
    },
    "data":{
       "procedure_id": "3000000000000001", // 触发事件的流程ID
       "bulk": false, // 是否为批量操作
       "task": { // 流程任务对象
          // 同 获取流程任务详情接口返回的数据结构
       }
    }
}

流程任务变更#

{
    "schema": "1.0", // 事件格式的版本:1.0
    "header": { 
        "event_id": "1541653708192010864", // 事件ID
        "event_type": "task.update" // 事件类型
    },
    "data":{
       "procedure_id": "3000000000000001", // 触发事件的流程ID
       "bulk": false, // 是否为批量操作
       "task": { // 流程任务对象
          // 同 获取流程任务详情接口返回的数据结构
       }
    }
}
上一页
Encrypt Key 加解密
下一页
添加订阅
Built with