管理員發送聊天訊息
更新時間:2023-12-21 14:35:02
介面描述
1、通过HTTP接口发送聊天文本内容,可指定发言者的头像、头衔、昵称,无需连接聊天室
2、接口支持https协议
3、文本消息和图片消息必传一个
介面URL
http://api.polyv.net/live/v3/channel/chat/send-admin-msg
請求方式
POST
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,生成簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁保存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名生成規則】 |
| channelId | true | String | 頻道號 |
| msg | false | String | 發送的文字訊息,文字訊息和圖片訊息必傳一個,最長為2000字元 |
| imgUrl | false | String | 發送的圖片訊息地址,url不支援帶參數。文字訊息和圖片訊息必傳一個 發送圖片訊息時,設定的暱稱、頭銜和頭像暫不生效 |
| pic | true | String | 管理員頭像,url不支援帶參數。 |
| nickName | true | String | 暱稱,最大為8個長度,超出會被截斷 |
| adminIndex | false | Integer | 管理員索引,可以指定多個管理員發送訊息,預設只有一個管理員 |
| actor | false | String | 頭銜,最大為4個長度,超出會被截斷,不傳參數則表示無頭銜 |
| freeReview | false | String | 當頻道開啟審核後訊息是否需要經過審核,預設為N Y:不需要 N:需要 |
| apiVersion | true | String | 介面版本,目前可選版本(3.2),不同的版本返回資料會有細微差異,詳情查看回應範例 |
範例
http://api.polyv.net/live/v3/channel/chat/send-admin-msg
表單參數:
msg=测试发送图文信息&actor=大管理员&apiVersion=3.2&nickName=西瓜籽&appId=frlr1zazn3&freeReview=&sign=03430C8D280F64B4FCF9848D6E3E3993&adminIndex=1&pic=https://thirdwx.qlogo.cn/mmopen/vi_32/3lMXVJoLMLJibnkFuA23lyqj5MOQufhW5ATvHuB8byssutficHKU0u7OMx5OQgg9WNVuHf44AXfbAMMAZejuYFTg/132&channelId=2191569×tamp=1616641479456
回應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| message | String | 回應描述資訊,當code為400或500時,輔助描述錯誤原因 |
| data | String | 成功返回「發送成功」或訊息id,取決於請求參數apiVersion,具體見返回範例;錯誤返回空字串 |
Java請求範例
快速接入基礎代碼請下載相關依賴原始碼, 點擊下載原始碼,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。
private static final Logger log = LoggerFactory.getLogger(ChatMessageTest.class);
/**
* 发送图文信息
* @throws IOException
*/
@Test
public void testSendMessage() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/live/v3/channel/chat/send-admin-msg";
String channelId = "2191569";
Integer adminIndex = 1;
String msg = "测试发送图文信息";
String pic = "https://thirdwx.qlogo.cn/mmopen/vi_32/3lMXVJoLMLJibnkFuA23lyqj5MOQufhW5ATvHuB8byssutficHKU0u7OMx5OQgg9WNVuHf44AXfbAMMAZejuYFTg/132";
String nickName = "西瓜籽";
String actor = "大管理员";
String freeReview = "";
String apiVersion = "3.2";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("adminIndex",adminIndex.toString());
requestMap.put("msg",msg);
requestMap.put("pic",pic);
requestMap.put("nickName",nickName);
requestMap.put("actor",actor);
requestMap.put("freeReview",freeReview);
requestMap.put("apiVersion",apiVersion);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.postFormBody(url, requestMap);
log.info("测试发送聊天室消息接口返回值:{}",response);
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例-當apiVersion沒有設定時
{
"code": 200,
"status": "success",
"message": "",
"data": "发送成功"
}
成功範例-當apiVersion設定為3.1時
{
"code": 200,
"status": "success",
"message": "",
"data": {
"msgId":"a16610f0-852f-11eb-b491-81c8f28f8d72"
}
}
異常範例
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
