1. 接口描述
接口请求域名: iss.tencentcloudapi.com 。
用于新增单个设备。添加设备之后,可根据返回结果到设备上进行配置,配置后等待设备注册/推流。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:AddUserDevice。 |
Version | 是 | String | 公共参数,本接口取值:2023-05-17。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
Name | 是 | String | 设备名称,仅支持中文、英文、数字、空格、中英文括号、_、-, 长度不超过128位;(设备名称无需全局唯一,可以重复) 示例值:设备1 |
AccessProtocol | 是 | Integer | 设备接入协议(1:RTMP,2:GB,3:GW,6:ISUP) 示例值:2 |
Type | 是 | Integer | 设备类型,1:IPC,2:NVR;(若设备接入协议选择RTMP,IVCP,则设备类型只能选择IPC) 示例值:1 |
OrganizationId | 是 | String | 设备所属组织ID,从查询组织接口DescribeOrganization中获取 示例值:237 |
ClusterId | 是 | String | 设备接入服务节点ID(从查询设备可用服务节点接口DescribeDeviceRegion中获取的Value字段) 示例值:b2181417-03ce-4ea3-ae39-**** |
TransportProtocol | 否 | Integer | 设备流传输协议,1:UDP,2:TCP;(国标设备有效,不填写则默认UDP协议) 示例值:1 |
Password | 否 | String | 设备密码(国标,网关设备必填,长度为1-64个字符) 示例值:37****10 |
Description | 否 | String | 设备描述,长度不超过128个字符 示例值:这是设备1 |
GatewayId | 否 | String | 设备接入网关ID,从查询网关列表接口中ListGateways获取(仅网关接入需要) 示例值:f6d2540d-1d13-4873-b10e-**** |
ProtocolType | 否 | Integer | 网关接入协议类型(从查询网关接入协议接口DescribeGatewayProtocol中获取)1.海康SDK,2.大华SDK,3.宇视SDK,4.Onvif(仅网关接入需要) 示例值:1 |
Ip | 否 | String | 设备接入IP(仅网关接入需要) 示例值:192.168.*.1 |
Port | 否 | Integer | 设备端口(仅网关接入需要) 示例值:9000 |
Username | 否 | String | 设备用户名(仅网关接入需要) 示例值:admin |
SNCode | 否 | String | 设备 SN,仅IVCP 协议设备需要 示例值:110123111600**** |
AppName | 否 | String | RTMP推流地址自定义AppName(仅RTMP需要,支持英文、数字、_、-、.、长度不超过64位) 示例值:live |
StreamName | 否 | String | RTMP推流地址自定义StreamName(仅RTMP需要,支持英文、数字、_、-、.、长度不超过64位) 示例值:00cuDZBadN |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Data | AddDeviceData | 增加设备返回数据 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 rtmp成功
输入示例
POST / HTTP/1.1
Host: iss.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddUserDevice
<公共请求参数>
{
"Name": "rtmp10087",
"AccessProtocol": 1,
"Type": 1,
"OrganizationId": "192",
"ClusterId": "4169d92e-****-****-****-************"
}
输出示例
{
"Response": {
"Data": {
"AccessProtocol": 1,
"AppId": 1300000000,
"ClusterId": "4169d92e-****-4c16-****-d313****0790",
"ClusterName": "上海一区",
"Code": "0******Ofl",
"Description": "",
"GatewayId": "",
"DeviceId": "********-53e4-****-a16e-*************",
"Ip": "",
"Name": "rtmp10087",
"OrganizationId": 1000192,
"Password": "",
"Port": 0,
"TransportProtocol": 0,
"Type": 1,
"Username": "",
"ProtocolType": 1,
"Status": 1
},
"RequestId": "6836e76d-8e7d-48d3-98c2-bc0df3bf23c2"
}
}
示例2 设备类型错误
输入示例
POST / HTTP/1.1
Host: iss.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddUserDevice
<公共请求参数>
{
"Name": "rtmp10086",
"AccessProtocol": 1,
"Type": 2,
"OrganizationId": "10092",
"ClusterId": "12345678-****-****-****-************"
}
输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "无效的参数"
},
"RequestId": "1647459e-2715-4adb-a074-0c3d4df7d6a4"
}
}
示例3 无效的设备类型
输入示例
POST / HTTP/1.1
Host: iss.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddUserDevice
<公共请求参数>
{
"Name": "rtmp10086",
"AccessProtocol": 1,
"Type": 2,
"OrganizationId": "10092",
"ClusterId": "********-60ad-*****-ac7e-d******dd0790"
}
输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.InvalidDeviceType",
"Message": "无效的设备类型"
},
"RequestId": "d4a82b07-08a2-47ba-8f22-04ce429a0dcd"
}
}
示例4 success
成功
输入示例
POST / HTTP/1.1
Host: iss.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddUserDevice
<公共请求参数>
{
"Name": "testrtmp",
"AccessProtocol": 1,
"Type": 1,
"OrganizationId": "189",
"ClusterId": "4169d92e-****-****-****-************",
"TransportProtocol": 0,
"Password": "37********10",
"ProtocolType": 0,
"AppName": "testapp",
"StreamName": "teststream"
}
输出示例
{
"Response": {
"Data": {
"AccessProtocol": 1,
"AppId": 1300056079,
"ClusterId": "4169d92e-****-****-****-************",
"ClusterName": "上海一区",
"Code": "0HQq******",
"Description": "",
"DeviceId": "f1f9baae-****-****-****-************",
"GatewayId": "",
"Ip": "",
"Name": "testrtmp",
"OrganizationId": 189,
"Password": "37********10",
"Port": 0,
"ProtocolType": 0,
"Status": 0,
"TransportProtocol": 0,
"Type": 1,
"Username": ""
},
"RequestId": "56d8591d-85cb-498d-a5b6-52133305e69c"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InvalidParameter | 无效的输入参数 |
InvalidParameterValue.InvalidClusterId | 无效的集群ID,长度或内容不符合规则 |
InvalidParameterValue.InvalidDescription | 描述填写有误 |
InvalidParameterValue.InvalidDevicePasswordLength | 设备密码长度应当大于1位并且小于64位 |
InvalidParameterValue.InvalidGatewayProtocolType | 无效的网关接入协议 |
InvalidParameterValue.InvalidIpv4 | 无效的Ipv4地址 |
InvalidParameterValue.InvalidName | 名称为空或填写有误 |
InvalidParameterValue.InvalidRTMPAppName | 无效的RTMP推流AppName |
InvalidParameterValue.InvalidRTMPStreamName | 无效的RTMP推流StreamName |
InvalidParameterValue.InvalidUsername | 无效的用户名,长度或内容不符合规则 |
InvalidParameterValue.RTMPPushStreamParamRepeat | RTMP推流自定义AppName及StreamName不能重复配置 |
InvalidParameterValue.UnSupportedAccessType | 不支持的接入类型 |
RegionError.ResourceUnreachable | 资源不可达,该资源不属于该地域 |
ResourceNotFound | 资源不存在 |
ResourceNotFound.NotFoundCluster | 没有找到可用的服务节点 |
UnsupportedOperation.PushDomainNotExist | RTMP推流域名不存在 |