Skip to content

字段级 API 参考 ​

本文从当前 DTO 和路由实现中提炼字段级说明,重点覆盖公开集成最容易用到的通用响应、事件查询、事件记录、HTTP 推送参数和 MQTT 参数。完整 OpenAPI schema 后续可以基于这些 DTO 自动生成。

通用响应 ​

字段类型说明
resCodenumberCWAI 响应码,1 成功,0 失败
resMsgobject[]错误或提示信息列表
resMsg[].msgCodestring消息码
resMsg[].msgTextstring消息文本
resMsg[].messageKeystring稳定的本地化键;前端应优先用于翻译
resMsg[].detailsobject实际值、限制值、所需资源和当前可用资源等机器可读上下文
resMsg[].retryableboolean外部条件变化后原操作是否值得重试
resMsg[].retryAfterSecondsnumber建议等待秒数;仅在适用时返回
resMsg[].recommendedActionstring建议下一步,例如释放空间、改用分片或缩放图片
resultCodestringChinaMobile 兼容响应码
resultMsgstringChinaMobile 兼容响应文本
resDataobject业务响应数据

messageKey、details、recommendedAction 和 retryAfterSeconds 仅在适用时返回;retryable 为 false 时也可能省略。客户端必须把缺失字段按“未提供额外提示”处理,不能把它解释成新的失败。

分片上传字段 ​

上传能力、分片和取消接口见 API 概览:资源感知传输。uploadTemp 使用 multipart/form-data:

字段类型首片后续分片说明
fileblob必填必填当前分片;文件名必须保持一致
purposestring必填必填model-component、model-archive、video、face-import、audio、algorithm、upgrade 或 image
chunkIndexdecimal string0必填从 0 开始的分片序号
totalChunksdecimal string必填必填完整文件的分片数
totalSizedecimal string必填必填完整文件字节数
chunkSizedecimal string必填必填当前分片字节数,必须与 multipart 文件实际大小一致
clientRequestIdstring建议必填保持不变当前用户范围内稳定的恢复标识,最长 128 字符
uploadIdstring不填必填服务端签发的不透明会话标识
sha256string可选保持不变完整文件的 64 位小写或大写十六进制 SHA-256

contentLength、fileName 和 filePath 由服务端 multipart 解析器根据当前请求生成,客户端提交同名字段不会成为可信来源。

uploadTemp 的 resData:

字段类型说明
uploadIdstring后续分片和业务消费必须使用的服务端会话标识
nextChunkIndexdecimal string服务端下一块所需序号;可能因幂等重放或重启恢复而跳过已确认分片
completeboolean完整文件是否已接收并校验
filePathstringR1 兼容的 upload:// 不透明别名;不是服务器文件路径,新客户端不要使用

完成上传后,业务接口只引用会话标识:

业务接口字段
/gtw/cwai/Camera/AddVideouploadId
/gtw/cwai/aihost/PTaskDetectPicuploadId,与 imageBase64/imageUrl 互斥
/gtw/cwai/Library/ModifyFacePicLibpictureUploadIds[]
/gtw/cwai/BodyLibrary/DetectPersonuploadId
/gtw/cwai/ThingsLibrary/AddLibThingsthingsList[].pictureUploadId

模型组件、模型归档、算法包、升级包、音频和人脸导入包也使用各自 DTO 中的 uploadId 字段。旧版 Base64 和兼容字段仍可读取,但大文件和高清图片客户端应使用分片会话,不能依赖服务器路径。

分页和时间范围 ​

事件查询等接口复用分页和时间字段:

字段类型默认值说明
pageNumnumber1页码
pageSizenumber10每页数量
timeBeginnumber0开始时间,毫秒时间戳
timeEndnumber0结束时间,毫秒时间戳

事件查询条件 ​

来源:MsgConditionEvent。

字段类型说明
algorithmCodesstring[]算法编码列表
categorysstring[]事件类别列表,字段名沿用当前实现
videoChannelNamestring通道名称
personNamestring人员名称
personCodestring人员编号
matchLibNamestring匹配底库名称
propColorstring目标颜色,常用于车身颜色
propRelatedColorstring关联目标颜色,常用于车牌颜色
propTypestring目标类型,常用于车辆类型
propDirectionstring目标方向,常用于车辆方向
reportStatusnumber上报状态,默认 -1

事件记录 ​

来源:MsgEventUnit。

字段类型说明
idstring事件记录 ID
videoChannelIdstring视频通道 ID
channelCodestring通道编码
channelNamestring通道名称
timestampnumber事件时间,毫秒时间戳
categorystring事件类别
algorithmCodestring算法编码
algorithmNamestring算法名称
areaIdstring区域 ID
areaNamestring区域名称
fullPicturestring全景图 URL
detectedPicturestring检测目标图 URL
videostring告警视频 URL
videostructuredstring结构化视频文件 URL
reportStatusnumber上报状态
propertystring属性 JSON 字符串,按算法类型变化

事件上报负载 ​

HTTP webhook 和部分内部事件消息使用 CMsgOnEventsReq 语义:

字段类型说明
messageIdstring消息 ID
devIdstring设备 ID
taskIdstring任务 ID
videoChannelIdstring通道 ID
channelNamestring通道名称
timestampstringUTC 毫秒时间戳字符串
itimestampnumberUTC 毫秒时间戳(DTO 中定义;当前出站 to_json 不输出此字段,仅入站反序列化时读取)
algorithmIdstring算法 ID
algorithmCodestring算法编码
algorithmNamestring算法名称
areaIdstring区域 ID
areaNamestring区域名称
orignalPicturestring原始图片;HTTP webhook 中为 Base64,内部消息中为 URL。字段名沿用当前实现
fullPicturestring全景图;HTTP webhook 中为 Base64,内部消息中为 URL
detectedPicturestring检测目标图;HTTP webhook 中为 Base64,内部消息中为 URL
videostring告警视频;独立运行模式的 HTTP webhook 中为设备本地绝对路径,浏览器/查询接口中为 Web URL。文件可能在事件推送后数秒内才完成
videostructuredstring视频结构化文件路径或 URL,可为空
overviewFilestring结构化概览文件路径或 URL,可为空
recordIdstring告警记录 ID
filesstring[]关联文件列表(DTO 中定义;当前出站 to_json 不输出此字段,仅入站反序列化时读取)
isRetryMessageboolean是否为重试消息
targetsobject[]触发事件的检测目标;包含 label、confidence、可选 trackId 和像素坐标 box
propertyobject属性对象,按算法类型变化
categorystring事件类别

属性字段类型 ​

事件属性通过 OnEventsPropertyType 区分(枚举见 src/util/MsgBaseTypes.h,出站序列化见 src/util/dto/ClientMsgEvent.cc)。每种类型输出对应的 JSON 键:

类型 (OnEventsPropertyType)输出键主要字段
facefacequality、age、gender、wearMask、wearGlasses、featureUrl、image
body (Body / BodyFeature)bodytopLength、topColor、bottomLength、bottomColor、featureUrl、image
vehiclevehicleplateColor、vehicleColor、vehicleClass、orientation、plate、plateSrc、attrs
behaviorbehaviorcount、duration、targetId
machineMaterialmachineMaterialmatchId、matchDegree、groupId、groupName、baseImageUrl、runningStatus
peoplepeopleenterNumber、leaveNumber、enterOrgNum、leaveOrgNum、time
carcarenterNumber、leaveNumber、enterOrgNum、leaveOrgNum、time
workClothesRecognitionworkClothesRecognitionmatchId、matchDegree、groupId、groupName、baseImageUrl
personCount (PersonCount)personCount + persons区域人数统计;同时输出 persons 人员列表(字段见下)
countNumber (CountNumber)countNumber计数类事件

以下为附加子对象(不是独立的 OnEventsPropertyType 枚举值,而是随主类型一起输出):

子对象出现条件主要字段
recognitionface 类型同时输出matchDegree、matchLibName、matchId、LibImage、matchName、personCode、personId
personspersonCount 类型同时输出orignalPicture、fullPicture、targetPicture、box
target任意类型,当 bHaveTarget 为真时附加inAreaTime、inAreaFullImageUrl、outAreaTime、outAreaFullImageUrl

HTTP 推送参数 ​

路由:

text
/gtw/cwai/System/QueryHttpInterfaceParam
/gtw/cwai/System/SetHttpInterfaceParam
字段类型说明
switchboolean是否启用 HTTP 推送;设置接口只识别此字段
enableboolean仅查询响应输出(与 switch 同值);设置接口不读取此字段
urlstring接收事件的 HTTP URL

MQTT 参数 ​

路由:

text
/gtw/cwai/System/QueryMqttAdapterParam
/gtw/cwai/System/SetMqttAdapterParam
字段类型默认值说明
switchbooleantrue是否启用 MQTT;设置接口只识别此字段
enablebooleantrue仅查询响应输出(与 switch 同值);设置接口不读取此字段
urlstring空MQTT Broker 地址
portnumber1883MQTT Broker 端口
statusbooleantrue当前 MQTT 注册/连接状态,查询结果字段
authModenumber00 使用内置 IoT 认证,非 0 使用普通用户名密码
clientIdstring空普通认证模式下的 client id
userNamestring空普通认证模式下的用户名
passwdstring空普通认证模式下的密码

IoT 网络模式参数 ​

路由:

text
/gtw/cwai/System/QueryIotNetworkParam
/gtw/cwai/System/ModifyIotNetworkParam
字段类型默认值说明
mqttIpstring空IoT 网络模式下 MQTT 地址
mqttPortnumber1883IoT 网络模式下 MQTT 端口
httpUrlstring空IoT 网络模式下 HTTP 地址
statusbooleantrue当前 MQTT 是否启用,查询结果字段

引擎代码采用 Apache-2.0 许可证。模型与依赖遵循各自许可。

CosmoEdge / 项目咨询

聊聊你的边缘 AI 项目。

模型部署、设备选型或系统对接,都可以从你眼前的问题开始。

商务与项目咨询

hello@cosmowander.ai

安装使用与开源问题前往社区讨论
邮件中可以介绍哪些信息?

先介绍已掌握的部分,其余信息可以在沟通中补充。

  • 应用场景

    想识别什么,事件如何使用

  • 已有条件

    已有的模型、设备或系统

  • 处理需求

    视频路数、频率与时延要求

  • 项目进展

    项目阶段,以及眼前的问题