# BatchPub
调用接口BatchPub通过自定义Topic,向指定产品下的多个设备,批量发送消息。
# 使用说明
- 单批次最多向同一产品下的100个设备发送消息。
# 请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | BatchPub | 系统规定参数。取值:BatchPub。 |
| DeviceName.N | RepeatList | 是 | newdevice1 | 要接收消息的设备名称。说明与ProductKey结合使用,传入设备必须属于同一产品。单次调用,最多传入100个设备名称,且设备名称不可重复。 |
| MessageContent | String | 是 | eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ== | 要发送的消息内容。最大报文256 KB。您需要将消息原文转换成二进制数据,并进行Base64编码,从而生成消息内容。说明物联网平台会先对消息内容进行Base64解码,再将解码后的对应消息发送给设备。设备端无需进行Base64解码。 |
| ProductKey | String | 是 | a1BwAGV**** | 要发送消息的产品ProductKey。 |
| IotInstanceId | String | 是 | 6931**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
| Qos | Integer | 否 | 0 | 指定消息的发送方式。取值:0(默认):最多发送一次。1:最少发送一次。 |
| TopicShortName | String | 是 | get | 要发送消息的自定义Topic的后缀。自定义Topic的格式为/${productKey}/${deviceName}/user/${TopicShortName},该参数传入后缀${TopicShortName}。说明指定Topic的操作权限须为订阅或发布和订阅,且所有设备已订阅该Topic。您可通过以下途径查看自定义Topic:在产品详情页的Topic类列表页签下,查看产品下的自定义Topic。在设备详情页的Topic列表页签下,查看设备已订阅的自定义Topic。 |
# 返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
| RequestId | String | 6mjACwMaqYfDSwpmnlijivteINMk4EOZ | 平台为该请求生成的唯一标识符。 |
| Success | Boolean | true | 表示是否调用成功。true:调用成功。false:调用失败。 |
| Code | String | iot.system.SystemException | 调用失败时,返回的错误码。 |
# 示例
请求示例
http://open.${区域}.fenydata.com/fenydata-java-open/?Action=BatchPub
&DeviceName.1=newdevice1
&MessageContent=eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==
&ProductKey=a1BwAGV****
&IotInstanceId=70255861902711****
&TopicShortName=get
&<公共请求参数>
正常返回示例
XML格式
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
<RequestId>cAMeAT6qyGYTD76DkJZHWj8ba0pWZWam</RequestId>
<Success>true</Success>
</xml>
JSON格式
{
"RequestId": "6mjACwMaqYfDSwpmnlijivteINMk4EOZ",
"Success": true
}