Send multiple messages
Update time: 2023/10/23 08:43:07
Send multiple messages at once in a chat room. Message types include text, image, audio, video, location, files, alert, and custom messages.
For the flow control in chat rooms, see Flow control in chat rooms.
Overview
Users can send messages in chat rooms, such as text messages, picture messages, voice messages, and location messages.
This API can send or resend multiple messages at once by setting resendFlag
. For details, see the description of this parameter in Request Parameters below.
Request URI
httpPOST https://api.netease.im/nimserver/chatroom/batchSendMsg.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Request parameters
-
For information about how to set the header in a POST request, see API Call methods.
-
The settings of the body in a POST request:
Parameter | Type | Required | Description |
---|---|---|---|
roomid | Long | Yes | Chat room ID |
msgList | String | Yes | The list of messages to be sent, JSONArray, up to 10 messages can be sent at once. The fields of each message:
[{"attach":"oadsjfadhsfis89d","ext":"fidsuf9a8dhsigsfdj","msgId":"adfdas8fua8d9g","msgType":0,"subType": 1,"resendFlag" :0}] |
fromAccid | String | Yes | user account sending the message, accid |
ignoreMute | Boolean | No | Whether to ignore the temporary mute of members, true: ignore; false: do not ignore, the default is false.< /td> |
skipHistory | Integer | No | Whether to store message history in the cloud 0: Yes (default); 1: No |
route | Integer | No | Whether the message is synced using webhooks 0: No; 1: Yes (default)< /td> |
abandonRatio | Integer | No | The probability for dropping a message, value range [0-9999]; 0: does not drop the message (default), 9999: 99.99% probability of dropping the message This parameter can be used to flow control messages for specific business /note> |
highPriority | Boolean | No | true: high-priority message. High-priority messages are delivered first; false: low-priority message (default) High-priority messages can be set to be resent. For details, see the `needHighPriorityMsgResend` parameter |
needHighPriorityMsgResend | Boolean | No | true: the message will be resent (default), false: the message will not be resent. |
useYidun | Integer | No | Whether a message (including custom messages) uses GuardEase moderation service. Set the value to 0. Any other values indicate that the value is unspecified. 0: indicates that the message is not audited by the GuardEase moderation service when the moderation service is activated. If you do not specify this field, the message will be forwarded to GuardEase moderation service for review by default when the service is activated. |
yidunAntiCheating | String | No | The parameter for anti-cheating detection transferred in pass-through mode to GuardEase, JSON, with a maximum length of 1024 characters, (For details, please see GuardEase anti-spam exclusive field) |
yidunAntiSpamExt | String | No | The parameter for anti-spam enhanced transferred in pass-through mode to GuardEase, JSON, with a maximum length of 1024 characters, (for details, see GuardEase moderation service custom extension field) |
bid | String | No | Custom business ID of GuardEase moderation service. Custom moderation allows you to review the content of a single message in addition to the default moderation service. To configure custom moderation rules, contact our technical support using WhatsApp or online support for help. |
antispam | Boolean | No | For applications that have activated GuardEase moderation service, whether the message are reviewed by GuardEase (antispamCustom), default value:false Only valid for custom messages (message type: 100) |
notifyTargetTags | String | No | Target tag expression, used to set the delivery targets in the chat room messages, the maximum length is 128 characters. For more information about how to use tags and examples, see Tag expression |
antispamCustom | String | No | Custom moderation rules. Valid when the `antispam` parameter is set to `true`, JSON, length limit is the same as the body field. The maximum length is 5000 characters, the required antispamCustom format is as follows: {"type":1,"data":"custom content"} Field description: 1. type: 1: text; 2: image; 3: video 2. data: Text or image URL |
env | String | No | The environment name specified in the CommsEase console sync webhooks as shown in the figure below. A maximum of 32 characters are allowed. |
chatMsgPriority | Integer | No | The priority of messages sent through the CDN channel, optional values: 0 (default), 1, 2, 3 |
forbiddenIfHighPriorityMsgFreq | Integer | No | If high-priority messages are degraded as normal messages, return 403 error code 0: downgrade to normal message (default), 1: return 403 error code |
Response fields
Parameter | Type | Description |
---|---|---|
fail | String | Message delivery failure description, JSONArray, returned in the format of "Client message ID: reason for failure" |
code | Integer | Response status code |
success | String | Details of the successful delivery description, JSONArray, returned in the format of "Client Message ID: Successful delivery details", For details of each successfully sent message, please refer to the above Response fields |
Example
Example request (cURL)
curlcurl -X POST -H "CheckSum: 51eb13ea5ee3***65c7866c366" -H "AppKey: fe416640c8e***847ad2547" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=765788&msgList=[{"attach":"oadsjfadhsfis89d","ext":"fidsuf9a8dhsigsfdj","msgId":"adfdas8fua8d9g","msgType":0,"resendFlag":0}]&fromAccid=fromAccid' 'https://api.netease.im/nimserver/chatroom/batchSendMsg.action'
Example success response
json"Content-Type": "application/json; charset=utf-8"
{
"fail": [
{
"57gadfgsdhlaisfjlaskdmfa": "parameter resendFlag should be used for RESEND!"
}
],
"code": 200,
"success": [
{
"gsfdgs45hd15h1s56safda": {
"ext": "fadsfag80ad7fg98s9giapo[ga",
"fromNick": "yx2",
"msgid_client": "gsfdgs45hd15h1s56safda",
"fromAccount": "yx2",
"fromClientType": "REST",
"attach": "afsdfaf807sadf98asdfl;ajskdflasd",
"time": "1668566975724",
"type": "2",
"highPriorityFlag": "1",
"roomId": "72"
}
},
{
"akdsuhfaiuofyai7syfhakjds": {
"ext": "fadsfag80ad7fg98s9giapo[ga",
"fromNick": "yx2",
"msgid_client": "akdsuhfaiuofyai7syfhakjds",
"fromAccount": "yx2",
"fromClientType": "REST",
"attach": "",
"time": "1668566975825",
"type": "1",
"highPriorityFlag": "1",
"roomId": "72"
}
}
]
}
Example error response
json"Content-Type": "application/json; charset=utf-8"
{
"code":414
"desc":"msgContents size exceeded" //Message body exceeded the size limit.
}
Status codes
The following status codes are related to responses of this API. For the complete error codes, see Status codes.
Code | Description | Recommendation |
---|---|---|
200 | Success | - |
414 | Parameter error | Check the format and restrictions of arguments based on the error message |
403 | Illegal operation | Exceptions, such as invalid chat room name, hit moderation rules or without the chat room permission. |
416 | API call rate limit. Too many requests within a short period of time | Lower the number of requests |
419 | Limit of chat rooms exceeded. | - |
500 | Internal Server Error | - |
13009 | The scheduled closing of chat rooms is disabled | Enable the scheduled closing function in the CommsEase console. |