調用該介面向指定裝置發送訊息。
使用說明
對於MQTT協議(包括雲網關和非雲網關)和雲網關GB/T 32960協議的裝置,可調用本介面從服務端下發訊息給對應裝置。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為1,000。
單個阿里雲帳號下的所有RAM使用者共用該阿里雲帳號的配額。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | AsyncRRpc | 系統規定參數。取值:AsyncRRpc。 |
| DeviceName | String | 是 | device1 | 要接收訊息的裝置名稱。 |
| ProductKey | String | 是 | aldfeSe**** | 要接收訊息的裝置所屬產品的ProductKey。 |
| MessageContent | String | 是 | eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0= | 要發送的訊息內容。 您需要將訊息原文轉換成位元據,並進行Base64編碼,從而產生訊息內容。 說明
物聯網平台會先對訊息內容進行Base64解碼,再將解碼後的對應訊息發送給裝置。裝置端無需進行Base64解碼。 |
| TopicFullName | String | 否 | /a1uZfYb****/A_Vol****/user/update | 發送訊息給MQTT協議裝置時,需要傳入對應裝置的自訂Topic。Topic的操作許可權必須為訂閱或發布和訂閱。 發送訊息給雲網關GB/T 32960協議的裝置時,無需傳入此參數。 |
| ExtInfo | String | 否 | {"commandType": 128} | 發送訊息給雲網關GB/T 32960協議的裝置時,需要傳入此參數,標識訊息的命令類型,可取值:
雲網關GB/T 32960協議的裝置接入詳情,請參見雲網關GB/T 32960協議概述。 |
| IotInstanceId | String | 否 | iot-v64******** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| Code | String | iot.device.InvalidFormattedDeviceName | 調用失敗時,返回錯誤碼。詳細資料,請參見下文錯誤碼。 |
| ErrorMessage | String | 裝置名稱格式錯誤。 | 調用失敗時,返回的出錯資訊。 |
| MessageId | Long | 889455942124347392 | 成功發送請求訊息後,雲端產生的訊息ID,用於標識該訊息。 |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | 阿里雲為該請求產生的唯一識別碼。 |
| Success | Boolean | true | 是否調用成功。
|
樣本
請求樣本
https://iot.cn-shanghai.aliyuncs.com/?Action=AsyncRRpc
&DeviceName=device1
&MessageContent=dGhpcyBpcyBhbiBleGFtcGxl
&ProductKey=aldfeSe****
&IotInstanceId=iot-v64********
&<公用請求參數>
正常返回樣本
XML格式
<AsyncRRpcResponse>
<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Success>true</Success>
<MessageId>889455942124347400</MessageId>
</AsyncRRpcResponse>
JSON格式
{
"RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
"Success": true,
"MessageId": 889455942124347400
}
錯誤碼
|
HttpCode |
錯誤碼 |
錯誤資訊 |
描述 |
| 400 | iot.prod.NullProductKey | The ProductKey is empty. | 入參產品ID沒有賦值。 |
| 400 | iot.prod.InvalidFormattedProductkey | The ProductKey format is incorrect. | 請求參數ProductKey錯誤,請修改後重試。 |
| 400 | iot.device.NullDeviceName | The deviceName is empty. | 空的裝置名稱。 |
| 400 | iot.device.InvalidFormattedDeviceName | The deviceName format is incorrect. | 裝置名稱格式錯誤。 |
| 400 | iot.device.InactiveDevice | The device is inactive. | 裝置未啟用,即物理裝置從未串連物聯網平台。 |
| 400 | iot.device.OfflineDevice | The device is offline. | 裝置離線。 |
| 400 | iot.Device.NotExistedDevice | This device does not exist. | 裝置不存在或未啟用。 |
訪問錯誤中心查看更多錯誤碼。