跳到主要内容

接收服务端回调

服务端回调概述

即时通讯业务提供以下服务端回调,支持将业务的数据、状态通知同步到您设置的回调地址。所有服务端回调均需要在控制台启用。

您可以访问以下文档,了解如何在控制台配置并启用回调,以及如何解析回调数据:

设置 IP 白名单

如果您的网络有 IP 访问限制,请务必将以下 IP 地址加入到白名单中,否则无法正常接收服务端回调。

  • 国内数据中心: 39.105.128.42(开发)、39.105.147.30(开发)、123.56.88.42(开发)、182.92.215.38(生产)、182.92.84.148(生产)、39.106.150.151(生产)、39.107.75.101(生产)、101.201.34.95(生产)、47.93.57.144(控制台)
  • 海外数据中心:52.221.93.74(新加坡)、8.219.168.45(新加坡)、8.219.93.148(新加坡)、8.219.215.35(新加坡)、8.219.43.97(新加坡)、47.245.124.194(新加坡)、52.41.206.152(北美)8.213.17.80(沙特)
提示

以下 IP 地址已不再使用。如果您的 IP 白名单中已添加以下地址,请移除。 120.92.12.217、120.92.12.60、120.92.12.253、120.92.12.113、120.92.12.29、120.92.12.214、120.92.12.164、120.92.12.153、120.92.12.204、120.92.12.138、120.92.13.82、120.92.13.83、120.92.13.84、120.92.13.85、120.131.13.147、117.50.18.131、106.75.117.2、47.94.106.191

验证回调签名

即时通讯服务向应用服务器推送数据时会添加 4 个 POST 请求参数。

参数名类型说明
appKeyString应用和环境的 App Key,可从控制台获取。 例外:消息回调服务 的 POST 请求路径中不含该参数,您可以使用回调请求正文中的 appKey 字段。
nonceString随机数,不超过 18 个字符。
timestampString时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数。
signature (数据签名)String数据签名。将系统分配的 App Secret、Nonce (随机数)、Timestamp (时间戳)三个字符串按顺序拼接成一个字符串,进行 SHA1 哈希计算。

计算 Signature 代码示例

PHP 语言的代码示例:

$appSecret = 'your-own-app-secret'; // 请替换为您从开发者平台获取的 App Secret。
$nonce = $_GET['nonce']; // 获取随机数。
$timestamp = $_GET['timestamp']; // 获取时间戳。
$signature = $_GET['signature']; // 获取数据签名。
$local_signature = sha1($appSecret.$nonce.$timestamp); // 生成本地签名。
if(strcmp($signature, $local_signature)===0){
// TODO: 此处添加业务逻辑。
echo 'OK';
} else {
echo 'Error';
}