tencent cloud

Chat

제품 소개
제품 개요
Basic Concepts
응용 시나리오
기능 소개
계정 시스템
사용자 정보 및 관계망
메시지 관리
그룹 시스템
Official Account
Audio/Video Call
사용 제한
구매 가이드
과금 개요
요금 안내
Purchase Instructions
Renewal Guide
연체 안내
Refund Policy
다운로드 센터
SDK & Demo 소스 코드
업데이트 로그
시나리오 솔루션
Live Streaming Setup Guide
AI Chatbot
대규모 엔터테인먼트 협업 커뮤니티
Discord 구현 가이드
IM을 게임에 통합하는 방법
WhatsApp Channel-style Official Account Integration Solution
Send Red Packet
Firewall Restrictions
클라이언트 APIs
SDK API(Web)
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C APIs
C++
서버 APIs
Secure authentication with UserSig
RESTful APIs
Webhooks
콘솔 가이드
New Console Introduction
애플리케이션 생성 및 업그레이드
기본 설정
기능 설정
계정 관리
그룹 관리
Official Channel Management
콜백 설정
모니터링 대시보드
Viewing Guide for Resource Packages
Real-Time Monitor
개발 보조 툴
액세스 관리
Advanced Features
FAQ
uni-app FAQs
구매
SDK 관련 질문
계정 인증
사용자 정보 및 관계망
메시지
그룹
라이브 방송 그룹
닉네임 및 프로필 사진
협약 및 인증
Service Level Agreement
컴플라이언스 인증
IM 정책
개인 정보 보호 정책
데이터 개인 정보 보호 및 보안 계약
에러 코드
문의하기
문서Chat서버 APIsRESTful APIsMessage RelatedHistorical MessagePulling Historical Official Account Messages

Pulling Historical Official Account Messages

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-10-23 10:35:08

Background

Chat's Official Account messages are sorted by Seq, which is assigned according to the order in which the server receives the Official Account messages. Earlier messages have a smaller Seq, and later ones have a larger Seq.
Chat generates a MsgKey for each Official Account message, in the format of "Seq_1_ServerTime".
If users want to pull all messages from a Official Account, they need to provide the LastMsgKey of the message. There is no need to fill in the LastMsgKey for the first pull, as the Server will automatically return the latest messages. For subsequent pulls, fill in the LastMsgKey with the LastMsgKey returned from the last request.
If the returned message's IsPlaceMsg is 1, it means that the message of this Seq has either expired, failed to store, or has been deleted.

Feature Overview

App administrators can use this interface to pull historical messages from the official account.

API Calling Description

Sample request URL

https://xxxxxx/v4/official_account_open_http_svc/official_account_msg_get_simple?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

Request parameters

The table below only lists the parameters modified when calling this API and their descriptions. For more details on the parameters, please refer to RESTful API Overview.
Parameter
Description
xxxxxx
The dedicated domain for the country/region where your SDKAppID is located:
China: console.tim.qq.com
Singapore :adminapisgp.im.qcloud.com
Seoul : adminapikr.im.qcloud.com
Tokyo:adminapijpn.im.qcloud.com
Frankfurt :adminapiger.im.qcloud.com
Silicon Valley :adminapiusa.im.qcloud.com
Jakarta :adminapiidn.im.qcloud.com
v4/official_account_open_http_svc/official_account_msg_get_simple
Request API
sdkappid
SDKAppID assigned by the Chat console when an app is created
identifier
You must be an App admin account. For more details, see App Admins
usersig
The Signature generated by the App admin account. For details, see Generating UserSig
random
A random 32-bit unsigned integer ranging from 0 to 4294967295
contenttype
Request format fixed value: json

Maximum calling frequency

200 queries/sec.

Sample request packets

Basic form Pulling the official account's historical messages returns the latest ReqMsgNumber messages from the official account.
{
"Official_Account": "@TOA#_15ERQPAER", //Pull messages from the official account user
"ReqMsgNumber": 2 //Number of messages to pull
}
Continue pulling by LastMsgKey Returns messages earlier than the specified LastMsgKey.
{
"Official_Account": "@TOA#_15ERQPAER",
"LastMsgKey": "71_1_1698741698", // Continuation MsgKey
"ReqMsgNumber": 2
}

Request packet fields

Field
Type
Attribute
Description
Official_Account
String
Mandatory
Official account user whose historical messages are to be pulled
LastMsgKey
String
Optional
The MsgKey of the last message fetched last time. This field must be filled for continuation pulling. See the method of filling above in Sample
ReqMsgNumber
Integer
Optional
Number of requested messages
WithRecalledMsg
Integer
Optional
Whether to pull messages that have been revoked, filling in 1 indicates the need to pull messages after revocation; by default, messages after revocation are not pulled

Sample response packets

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"Official_Account": "@TOA#_15ERQPAER",
"IsFinished": 1,
"LastMsgKey": "71_1_1698741698"
"RspMsgList": [
{
"From_Account": "144115197276518801",
"IsPlaceMsg": 0,
"MsgBody": [
{
"MsgContent": {
"Data": "\\b\\u0001\\u0010\\u0006\\u001A\\u0006Cat's Eye",
"Desc": "MIF",
"Ext": ""
},
"MsgType": "TIMCustomElem"
},
{
"MsgContent": {
"Data": "",
"Index": 15
},
"MsgType": "TIMFaceElem"
}
],
"MsgSeq": 71,
"MsgKey" :"71_1_1698741698"
"MsgTimeStamp": 1698741698
},
{
"From_Account": "144115198339527735",
"IsPlaceMsg": 0,
"MsgBody": [
{
"MsgContent": {
"Data": "\\b\\u0001\\u0010\\u0006\\u001A\\u000FWatermelon Sister.",
"Desc": "MIF",
"Ext": ""
},
"MsgType": "TIMCustomElem"
},
{
"MsgContent": {
"Text": "Report"
},
"MsgType": "TIMTextElem"
}
],
"MsgSeq": 72,
"MsgKey" :"72_1_1698741700"
"MsgTimeStamp": 1698741700
}
]
}

Response packet field description

Field
Type
Description
ActionStatus
String
Processed Request Result:
OK: Indicates successful processing
FAIL: Indicates failure
ErrorInfo
String
Error message
ErrorCode
Integer
Error Identifier:
0: Indicates success
Non-zero: Indicates failure
Official_Account
String
Official Account Users in the Request
IsFinished
Integer
Whether all messages in the request range have been returned
When all messages in the request range are successfully returned, the value is 1
When the message length is too long or the range is too large (exceeding 20), resulting in the inability to return all messages, the value is 0
When all messages before the request range have expired, the value is 2
RspMsgList
Array
The returned message list
IsPlaceMsg
Integer
Whether it is a hollow message, when the message is deleted or expired:
If MsgBody is empty, this field is 1
For a recalled message, this field is 2
MsgKey
String
This tag identifies the message, which can be used for recalling Official Account Messages
MsgSeq
Integer
Message seq, used to identify unique messages, the smaller the value, the earlier it is sent
MsgTimeStamp
Integer
Timestamp when the message was sent (in seconds), server time
MsgBody
Object / Array
Message Content, for details please refer to the Message Content MsgBody

Error codes

Unless a network error occurs (such as a 502 error), the HTTP return code for this interface is always 200. The real error code and error message are indicated by ErrorCode, ErrorInfo in the response body. Common error codes (60000 to 79999) can be found in the Error Codes document. The private error codes for this API are as follows:
Error code
Description
10002
Internal server error, please try again
10003
Illegal Request Command Word
10004
Invalid parameter, please check if the request is correct based on the error description
10007
Insufficient Operational Permissions, the operator must be a role that is authorized to perform the corresponding operations in the Official Account
10010
Official Account User does not exist, or may have existed in the past, but is now dissolved
10015
Invalid Official Account User ID, please check if the Official Account User ID is correctly filled in

API Debugging Tool

Use the RESTful API Online Debugging Tool to debug this API.


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백