Sending Read Receipts for One-to-One Messages
API Usage Instructions
App administrators can use this API to send message read receipts for C2C messages.
When User A sends a C2C message to User B, User B (the recipient) sends a message read receipt. In the request, set the
Operator_Account field to User B's UserID, the Peer_Account field to User A's UserID, and in the C2CMsgInfo array, set From_Account to User A's UserID and To_Account to User B's UserID.Request URL Example
https://xxxxxx/v4/openim/c2c_msg_read_receipt?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
Query Parameters
The table below lists only the parameters relevant to this API call and their descriptions. For more details on other parameters, see the REST API Overview.
Parameter | Description |
xxxxxx | Region-specific domain for the SDKAppID: China: console.tim.qq.comSingapore: adminapisgp.im.qcloud.comSeoul: adminapikr.im.qcloud.comTokyo: adminapijpn.im.qcloud.comFrankfurt: adminapiger.im.qcloud.comSilicon Valley: adminapiusa.im.qcloud.comJakarta: adminapiidn.im.qcloud.com |
v4/openim/c2c_msg_read_receipt | API endpoint |
sdkappid | SDKAppID assigned by the Chat console when creating the application |
identifier | |
usersig | |
random | Enter a random 32-bit unsigned integer, range: 0 - 4294967295 |
contenttype | Request format; fixed value: json |
Request Example
{"Operator_Account": "user1","Peer_Account": "user2","C2CMsgInfo": [{"From_Account": "user2","To_Account": "user1","MsgKey": "1467329515_5675354_1708676941"}]}
Request Fields
Field | Type | Required | Description |
Operator_Account | String | Required | UserID of the user sending the message read receipt. |
Peer_Account | String | Required | UserID of the other participant in the conversation. |
C2CMsgInfo | Array | Required | List of messages for which the message read receipt is being sent. |
From_Account | String | Required | UserID of the message sender. Must match Peer_Account. |
To_Account | String | Required | UserID of the message recipient. Must match Operator_Account. |
MsgKey | String | Required | Unique identifier for the message. |
Response Example
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0}
Response Fields
Field | Type | Description |
ErrorCode | Integer | Error code: 0 indicates success. Non-zero indicates failure. |
ErrorInfo | String | Error message. |
ActionStatus | String | Status of the request processing. |
Error Codes
Unless a network error occurs (such as a 502 error), the HTTP response code for this API is always 200. Actual error codes and messages are provided in the response body via
ErrorCode and ErrorInfo.The following table lists private error codes specific to this API:
Error Code | Description |
20001 | Invalid request packet. |
20002 | UserSig or A2 is invalid. |
20003 | Sender or recipient UserID is invalid or does not exist. Please check if the UserID has been imported into Chat. |
20004 | Network exception, please retry. |
20005 | Internal server error, please retry. |
20006 | Triggered before sending C2C messages. The App backend returned a prohibition to deliver the message. |
90001 | JSON parsing failed. Please check if the request packet conforms to JSON specifications. |
90002 | MsgBody in the JSON request does not conform to the message format description, or MsgBody is not of Array type. Please refer to the definition of TIMMsgElement Object. |
90003 | To_Account field is missing or not of String type in the JSON request body. |
90005 | MsgRandom field is missing or not of Integer type in the JSON request body. |
90007 | MsgBody type in the JSON request body is not Array. Please change it to Array type. |
90009 | Request requires App administrator privileges. |
90010 | JSON request does not conform to the message format description. Please refer to the definition of TIMMsgElement Object. |
90012 | To_Account is not registered or does not exist. Please confirm whether To_Account has been imported into Chat or if there is a spelling error. |
90026 | Offline message storage time error (maximum is 7 days). |
90031 | SyncOtherMachine field in the JSON request body is not of Integer type. |
90044 | MsgLifeTime field in the JSON request body is not of Integer type. |
91000 | Internal service error, please retry. |
90992 | Internal service error, please retry. If all requests return this error code and your App is configured with a third-party webhook, please check whether your App server is correctly returning the webhook result to the Chat backend server. |
93000 | JSON data packet is too long. The message body should not exceed 12k. |
90048 | The requested user account does not exist. |