Event API

2026-10-16

基础说明

EventAPI 是司空Sync 向三方平台实时推送业务事件的主动通知服务。使用 EventAPI 时,需注意:

  • 用户需在接收服务的 Header 中校验字段 x-dji-signature。签名基于 组织 Token 进行 HMAC-SHA256 计算,用于验证请求来源的合法性。
  • 用户可配置 通知规则,自主选择订阅的事件类型,并可指定订阅 全部项目 或 特定项目 的数据。
  • 接收地址支持 HTTP 和 HTTPS 协议。
  • 司空2将通过固定IP对外推送上述事件通知,对于不同地区服务器使用不同IP地址,对于私有化版本司空,具体IP取决于您的服务器。
地区IP
中国(包括中国大陆、香港、澳门和台湾地区)118.31.54.3
116.62.175.3
121.196.209.148
116.62.156.70
116.62.232.220
116.62.156.166

通知规则配置

规则管理

规则列表包含以下信息:

  • 规则名称:用户自定义名称,限长 60 字符
  • 推送地址:Endpoint URL(支持 HTTP 和 HTTPS)
  • 数据范围:全部项目或指定项目
  • 订阅事件:已选的事件类型列表
  • 状态:开启/关闭
  • 操作:编辑、删除

数据范围配置

  • 全部项目:自动包含未来新建的所有项目
  • 指定项目:单个项目仅允许被一条自定义规则引用(全部项目规则除外),已被引用的项目将置灰

注意: 当组织内已存在"全部项目"范围的规则时,新建指定项目规则将会收到双重事件推送的提示。

投递日志审计

EventAPI 提供 7 天投递日志统计,包含:

  • 成功率:百分比显示,回调 200 认定为成功
  • 事件总数:7 天内产生的总 Event 数量
  • 失败次数:7 天投递失败总数

支持下载最近 7 天日志(CSV 格式),仅保留 7 天内的数据。

推送事件枚举

Sync 文件同步通知

{
  "id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // 事件消息的唯一标识 ID (UUID)
  "type": "file_sync_success", // 事件类型:文件同步成功通知
  "created_at": 1767875288, // 事件推送的时间戳 (秒)
  "data": {
    "task_id": "sync_task_10001", // 同步任务的唯一标识 ID
    "organization_id": "org_123456_xxxxxx", // 所属组织的 ID
    "project_id": "proj_789012_xxxxxx", // 文件所属的项目 ID
    "file_id": "file_345678_xxxxxx",  // 司空平台内的文件 ID
    "file_type": "application/pdf", // 文件类型 (wayline 航线;flight_record 飞行记录;model  模型;media 媒体文件)
    "file_external_key": "customer_storage/2026/01/report_09.pdf", // 文件在三方存储桶中的 Object Key (存储路径)
    "file_bytes_size": 1048576, // 文件大小 (字节 Byte)
    "fh2_file_path": "/project_docs/report/report_09.pdf", // 文件在司空 2 (FlightHub 2) 平台内的原始逻辑路径
  }
}

获取AI告警列表及快照内容

{
  "id": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a", // 事件消息的唯一标识 ID (UUID)
  "type": "ai_alert_record", // 事件类型:AI 检测告警记录
  "created_at": 1767875288, // 事件推送的时间戳 (秒)
  "data": {
    "alert_uuid": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a",// 告警记录的唯一标识 ID
    "algorithm_source": 100002, // // 算法来源 ID。枚举值如下:
                                    // 0: DJI 官方智能算法
                                    // 1: DJI 官方可见光人车船 AI
                                    // 2: DJI 官方红外人车船 AI
                                    // 3: DJI 官方红外温度检测 AI
                                    // 255: AI-inside 三方机载算法
                                    // 100001: AI-LINK 三方云端算法
                                    // 100002: DJI多模态目标检测      
    "drone_sn": "1581F6XXXXXX00A6XXXX", // 执行任务的飞行器序列号 
    "file_id": 123456, // 关联的原始媒体文件 ID
    "file_url": "https://file-storage.djicdn.com/example/path/image.jpg?auth_key=xxxx", // 原始图片下载链接 (包含鉴权参数)
    "flight_id": "f17e2fa6-826a-48c5-a89a-fffe4093xxxx", // 关联的飞行架次 ID
    "gateway_sn": "6QCDL8XXXXXX02XXXX", // 关联的机场/网关设备序列号 
    "interval_seconds": 0, // 告警间隔时间或持续时间 (秒),非云端类算法默认为0
    "labels": [
      "灯光"// 检测到的目标标签/类型
    ],
    "location": {
      "altitude": 80.5, // 告警发生时的高度 (米)
      "latitude": 22.123456, // 告警发生时的纬度 ,对于机载算法,该位置为发生告警时的画面中央位置GPS坐标,对于云端类算法,该位置为飞行器位置
      "longitude": 113.123456, // 告警发生时的经度  ,对于机载算法,该位置为发生告警时的画面中央位置GPS坐标,对于云端类算法,该位置为飞行器位置
    },
    "project_id": "fe2400a5-5a74-4cb5-8374-548b7eaxxxxx", // 所属的项目UUID
    "task_name": "FlyToTask_Inspect_ZoneA", // 关联的飞行任务名称
    "thumbnail_url": "https://oss-cn-hangzhou.aliyuncs.com/example/thumbnail.jpeg?Expires=1767961676&Signature=xxxx", // 缩略图下载链接 (包含签名及过期时间)
    "timestamp": 1767875275677, // AI 检测发生时的精确时间戳 (毫秒)
  }
}

触发式工作流执行进度通知

用于推送自动派遣工作流(接处警工作流)的节点执行进度,支持三方系统实时同步任务状态、识别终态及误报标记。

{
  "event_type": "alert_workflow_progress",         // 事件类型:触发式工作流执行进度
  "event_id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // 事件消息的唯一标识 ID (UUID)
  "org_id": "org_123456_xxxxxx",                   // 所属组织 ID
  "project_id": "proj_789012_xxxxxx",              // 所属项目 ID (可选)
  "created_at": 1767875288,                        // 事件推送的时间戳 (秒)
  "data": {
    "incident_id": "incident_2026062900001",       // 告警事件 ID
    "workflow_uuid": "wf_uuid_xxxxxxxxxxxx",       // 工作流 UUID
    "drone_sn": "1581F5BKD2380030XXXXX",           // 执飞飞行器序列号
    "node_type": "command_task",                   // 节点类型:command_task(指点飞行任务) / device_actions(设备动作)
    "status": 1,                                   // 当前节点状态码,按 node_type 区分,枚举如下:
                                                   // node_type = "command_task"(指点飞行任务节点):
                                                   //   0: 待执行   (非终态)
                                                   //   1: 执行中   (非终态)
                                                   //   2: 成功     (终态)
                                                   //   3: 人工干预 (终态)
                                                   //   4: 执行失败 (终态)
                                                   // node_type = "device_actions"(设备动作节点):
                                                   //   0: 成功     (终态)
                                                   //   1: 部分成功 (终态)
                                                   //   2: 失败     (终态)
                                                   //   3: 进行中   (非终态)
                                                   //   4: 人工干预 (终态)
    "is_false_alarm": false,                       // 是否误报 (仅终态返回真实值,非终态固定为 false)
    "flight_id": "task_uuid_xxxxxxxxxxxx"          // 当前 execution_task 的 UUID
  }
}

媒体文件上传完成通知

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "media_file_uploaded",
  "created_at": 1767875288,
  "data": {
    "organization_id": "org_123456_xxxxxx",
    "project_id": "proj_789012_xxxxxx",
    "file_id": "file_345678_xxxxxx",
    "file_name": "DJI_20260108_120000_0001.JPG",
    "file_type": "image/jpeg",
    "file_size": 10485760,
    "device_sn": "1581F6XXXXXX00A6XXXX",
    "flight_id": "f17e2fa6-826a-48c5-a89a-fffe4093xxxx"
  }
}

航线文件上传及更新通知

{
  "type": "wayline_file_uploaded",
  "org_id": "1024dd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "38535b47-b972-4663-b1ce-5bd5a29224a4",
  "created_at": 1769414678,
  "data": {
    "id": "testcda7-c97d-4bf6-8f8f-b490b9b18401", // 航线ID
    "name": "新建航点航线(2)",           // 航线名称
    "object_key": "1testd05-34ce-46b6-a872-cb32b8c98f64/test9b47-b972-4663-b1ce-5bd5test24a4/e5testb3-2cf8-49af-b49b-64test0032c7/新建航点航线(2).kmz", // 航线对象存储key
    "type": 5 // 文件类型,5即为航线
  }
}

模型后重建完成通知

{
  "type": "model_post_reconstruction",
  "org_id": "105ddd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "38559b47-b972-4663-b1ce-5bd5a29224a4",
  "created_at": 1769414678,
  "data": {
    "id": "2e12cda7-c97d-4bf6-8f8f-btest9b18401", // 模型ID
    "name": "xx模型",                      // 模型名称
    "object_key": "105ddd05-34ce-46b6-a872-cb32b8c98f64/38559b47-b972-4663-b1ce-5bd5a29224a4/etestbb3-2cf8-49af-b49b-64b1610032c7/模型", // 模型对象存储key
    "type": 8//8:2D模型,9:3D模型
  }
}

异常退出返航通知

{
  "id": "9ab96be1-0231-4b2c-9892-2221188c323b",
  "type": "device_exit_return_home",
  "created_at": 1769400986,
  "data": {
    "action": 1,
    "event_type": "device_exit_return_home",
    "notify_type": "device_exit_return_home",
    "organization_uuid": "8test46f-2cd5-476b-9f33-415c98de11a5",
    "project_uuid": "8test9a5-d2ba-423d-a03e-e3b323c40810",
    "reason": null, // 返航退出原因: "2":"行为树初始化失败", "3":"被障碍物包围", "4":"触发限飞限制", "5":"障碍物距离太近", "6":"无 GPS 信号", "7":"GPS 和 VIO 位置输出标志为 false", "8":"GPS 和 VIO 融合位置误差太大"
    "sn": "158TESTGD24BK0010114" // 异常退出返航的飞行器SN
  }
}

组织标注新增/修改通知

{
  "created_at": 1772803375,
  "data": {
    "count": 1,
    "download_url": "/openapi/v0.1/map/data-sync/files/33711783-bf96-440d-baa2-0e71afa1d485/f7356cd3-53de-4318-955f-306cbcc60ca2/0",
    "format": "kml-gz",
    "geometry_types": [
      "polygon"
    ],
    "sync_id": "annotation-f7356cd3-53de-4318-955f-306cbcc60ca2",
    "sync_type": 0
  },
  "id": "5df19eca-65cf-4975-a942-09fdcfd7bdf9",
  "org_id": "105ddd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "33711783-bf96-440d-baa2-0e71afa1d485",
  "type": "map_geo_elements_update"
}

RTSP地址更新推送

{
  "converter_name": "示例转换器",
  "converter_id": "29f4f54b-93af-4fd3-aed6-bd3d768082e9",
  "sn": "SN1234567890",
  "camera_index": "89-0-0",
  "device_callsign": "DRONE-01",
  "url": "rtsp://192.168.1.10:554/live/stream",
  "username": "rtsp_user",
  "password": "rtsp_password"
}

司空建模 API - 模型重建进度

{
    "msg_type": "model_reconstruction_percent_change", // 信息类型,model_reconstruction_percent_change=模型重建,model_zip_change=模型压缩
    "resource_uuid": "7417bac3-00a4-4e07-b078-233c77e3fdf9",
    "model_uuid": "3d33643c-de0d-4070-b155-8cf791e662e2",
    "model_status": 14, // 重建状态,9=模型压缩,12=等待资源中, 13=等待资源失败, 14=重建中, 15=重建成功, 16=重建取消
    "model_size": 37353992,
    "reconstruction_progress": 100, // 重建进度, 0-100
    "error_code": 0, // 重建错误码
    "zip_status": 2, // 压缩状态 1=压缩中, 2=压缩完成, 3=压缩失败
    "zip_progress": 100, // 压缩进度 0-100
    "zip_file_key": "https://test-file-storage.djicdn.com/5a6f9d4b-2a38-4b4b-86f9-3a678da0bf4a/open_reconstruction/7417bac3-00a4-4e07-b078-233c77e3fdf9/3D/3d33643c-de0d-4070-b155-8cf791e662e2.zip?auth_key=1767942603-0-0-150d3c28868e91dd2446aef97c26de85", // 压缩结果文件下载地址
}
Last Updated: