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
SDK API(Electron)
SDK APIs (Unity)
SDK API(React Native)
C APIs
C++
サービス側 APIs
UserSigの生成
RESTful APIs
Webhooks
コンソールガイド
New Console Introduction
アプリケーションの作成とアップグレード
基本設定
機能設定
アカウント管理
グループ管理
Official Channel Management
コールバック設定
監視ダッシュボード
Viewing Guide for Resource Packages
Real-Time Monitor
補助ツールの開発
アクセス管理
Advanced Features
よくあるご質問
uni-app FAQs
 購入に関する質問
SDKに関する質問
アカウント認証に関する質問
ユーザープロファイルとリレーションシップチェーンに関する質問
メッセージに関する質問
グループに関する質問
ライブ配信グループに関する質問
ニックネームプロフィール画像に関連した問題
一般的なリファレンス
Service Level Agreement
セキュリティコンプライアンス認証
IM ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
エラーコード
お問い合わせ

Before Official Channel Message Is Sent

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-05-27 10:18:57

Feature Overview

This webhook allows the app backend to view the broadcast messages of a official channel in real time, including:
Records official channel messages in real time, for example, by recording a log or synchronizing the messages to other systems.
Blocks users' requests to send messages on a official channel.
Caution
The pre-message webhook defaults to a 2-second timeout and does not support adjustments. Using this for content review will add two instances of public network transmission, thereby at least doubling the overall latency compared to regular scenarios.

Notes

To enable the webhook, you must configure the Webhook URL and activate the switch corresponding to this webhook protocol. For detailed configuration instructions, please refer to the Webhook Configuration document.
During this webhook, the IM backend initiates an HTTP POST request to the app backend.
After receiving the webhook request, the app backend must check whether the SDKAppID contained in the request URL is consistent with its own SDKAppID.
For additional safety-related concerns, please refer to the Webhook Overview: Security Considerations document.

Webhook Triggering Scenarios

An app user sends a Official Account Message via the client.
The app administrator sends a Official Account Message via RESTful APIs.

Webhook Triggering Timing

The webhook is triggered before the Chat backend sends a Official Account Message to subscribers.

API Calling Description

Sample request URL

In the subsequent example, the webhook URL configured within the app is https://www.example.com. Example:
https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform

Request parameters

Parameter
Description
https
The request protocol is HTTPS, and the request method is POST.
www.example.com
Webhook URL.
SdkAppid
The SDKAppID assigned by the Chat console when an app is created.
CallbackCommand
Fixed as OfficialAccount.CallbackBeforeSendMsg.
contenttype
Fixed value: JSON.
ClientIP
Client IP, such as: 127.0.0.1.
OptPlatform
Client Platform, for values please refer to Webhook Overview: Webhook Protocol for the meaning of the OptPlatform parameter.

Sample request

{
"CallbackCommand": "OfficialAccount.CallbackBeforeSendMsg", // Webhook command
"Official_Account": "@TOA#_2J4SZEAEL", // Official Account User ID
"OnlineOnlyFlag": 1, // The value is `1` if it is an online message and `0` if it's not
"MsgBody": [ // Message body, refer to TIMMessage object
{
"MsgType": "TIMTextElem", // Text
"MsgContent": {
"Text": "red packet"
}
}
],
"CloudCustomData": "your cloud custom data",
"EventTime": 1670574414123 // Event trigger timestamp in milliseconds
}

Request fields

Field
Type
Description
CallbackCommand
String
Webhook command.
Official_Account
String
Official Account User ID.
OnlineOnlyFlag
Integer
Online message, `1` if true, otherwise `0`.
MsgBody
Array
Message body, please refer to Message Formats.
CloudCustomData
String
Custom message data (stored in the cloud, will be sent to the peer, and can be retrieved even after the app is uninstalled and reinstalled).
EventTime
Integer
Event trigger timestamp in milliseconds.

Sample response

Allow speaking

Allow users to speak, without modifying the content of the message to be sent.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0 // 0 means allowed to speak
}

Prohibit speaking

The user is not allowed to speak. Consequently, the message will not be sent, and the error code 10016 is returned to the requester.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 1 // 1 means speaking is not allowed
}

Silent discard

The user is not allowed to speak. In this case, the message will not be sent, but a success response will be returned to the caller, making them believe that the message has been dispatched.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 2 // 2 means Silent Discard
}

Change Message Content

In the following response example: The message sent to the official channel is modified (a custom Definition message was added). The Chat backend will send the modified message. Based on this feature, the app backend can add special content, such as user level and title, to the message sent by the user.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0, // Must be 0, only then can the modified message be properly dispatched
"MsgBody": [ // Message after App changes; if absent, the user's sent message is the default
{
"MsgType": "TIMTextElem", // Text
"MsgContent": {
"Text": "red packet"
}
},
{
"MsgType": "TIMCustomElem", // Custom message
"MsgContent": {
"Desc": "CustomElement.MemberLevel", // Description
"Data": "LV1" // Data
}
}
],
"CloudCustomData": "your cloud custom data"
}

Response fields

Field
Type
Attribute
Description
ActionStatus
String
Mandatory
Processed Request Result:
OK Signifies Successful Handling
FAILURE signifies unsuccessful execution
ErrorCode
Integer
Mandatory
Error Identifier:
0: Allow Speaking
1: Refuse to Speak
2: Silent discard
If the service wishes to reject a speech while conveying the error code ErrorCode and ErrorInfo to the client, please set the ErrorCode within the range [120001, 130000].
ErrorInfo
String
Mandatory
Error message.
MsgBody
Array
Optional
After modifications by the app, the modified message body will be sent to Official Account Messages by the cloud communication backend. For the specific format, refer to Message Format Description.
CloudCustomData
String
Optional
Custom message data (stored in the cloud, will be sent to the peer, and can be retrieved even after the app is uninstalled and reinstalled).

References




ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック