TG-Staff 团队 avatar TG-Staff 团队

TG-Staff Webhook 事件集成指南:自动化会话、消息与运营流程

tg-staff webhook api 自动化

TG-Staff Webhook 事件集成指南:自动化会话、消息与运营流程

当你运营一个 Telegram Bot 客服团队时,最头疼的事情之一就是数据割裂:客服对话在 TG-Staff 里,客户信息在 CRM 里,工单在另一个系统里。每次都要人工复制粘贴,或者写脚本轮询 TG-Staff 的 API 去拉数据——既低效又容易出错。

TG-Staff 的 Webhook 事件 正是为了解决这个问题。它不是一个需要手动触发的「导出按钮」,而是一个实时的数据桥梁:当平台内发生关键事件(比如用户发来新消息、坐席分配了会话、会话关闭),TG-Staff 会主动把事件数据推送到你指定的 URL。你的服务器收到 POST 请求后,可以自动创建工单、更新用户标签、触发满意度调查……真正实现「事件驱动」的自动化运营。

本文详细讲解 TG-Staff Webhook 事件的配置方式、可订阅事件类型,以及 3 个可以直接落地的集成场景。如果你正在寻找将 Telegram 客服数据与自有系统打通的方法,这篇指南值得收藏。


什么是 TG-Staff Webhook 事件?——从被动接待到主动集成

简单说,Webhook 是「反向 API」:通常你需要主动调用 API 去查数据(比如每隔 5 秒查一次有没有新消息),而 Webhook 是 TG-Staff 在事件发生时,主动把数据推送到你的服务器。

它的核心价值在于 实时性与去轮询。想象一下:

  • 没有 Webhook:你需要写一个定时任务,每 10 秒调用 TG-Staff 的「获取未读会话」接口,处理大量重复数据,服务器压力大,还有延迟。
  • 有了 Webhook:当用户第一次给 Bot 发消息,TG-Staff 立即向你的 URL 发送一个 conversation.created 事件,你马上就知道「有新客户来了」,可以自动在 CRM 里创建线索。

对于 B2B SaaS 团队、跨境电商客服、Web3 项目方来说,这意味着可以将 Telegram 客服数据无缝接入现有的工单系统(如 Zendesk、Freshdesk)、数据分析平台(如 Mixpanel)、甚至内部 Slack 或钉钉通知。


可订阅的事件类型一览

TG-Staff 当前支持以下 Webhook 事件(以官方文档最新列表为准)。每个事件对应一个固定的 event_type 字符串,你可以在目标服务器上据此做逻辑分发。

事件名称event_type触发时机典型用途
新会话创建conversation.created用户首次联系 Bot,或重新开启已关闭的会话自动创建 CRM 线索、发送欢迎通知
新消息message.received用户或坐席发送消息(含文字、图片等文本内容)实时同步消息到质检系统或知识库
会话状态变更conversation.status_changed会话从「等待」→「已分配」→「处理中」→「已关闭」触发工单状态更新、关闭时发起满意度调查
坐席状态变更agent.status_changed坐席上线/离线/切换为忙碌更新团队排班看板、触发 Slack 通知

提示:事件推送范围

TG-Staff Webhook 事件仅推送平台内部产生的关键数据,不涉及用户 Telegram 端原始消息内容(如媒体文件)。确保集成时了解推送字段范围,避免依赖未提供的数据。例如,message.received 事件包含消息文本、发送者 ID、会话 ID,但不包含图片/视频的二进制文件。


如何配置 Webhook 事件?——三步完成集成

配置过程在 TG-Staff 控制台内完成,不需要写代码,只需要你的后端接收 POST 请求。

步骤 1:找到 Webhook 配置入口

登录 TG-Staff 控制台,进入项目设置页面。在侧边栏找到 「开发者」「集成」 菜单(具体名称以控制台实际显示为准)。你会看到一个「Webhook 配置」区块。

步骤 2:填写接收事件的目标 URL

  • URL 必须是 HTTPS 协议(TG-Staff 不会向 HTTP 端点推送数据)。
  • 如果你的服务器需要身份验证,可以在「请求头」区域添加自定义 Header(例如 Authorization: Bearer your-secret-token)。
  • 点击「保存」后,TG-Staff 会向该 URL 发送一次 ping 测试,验证连通性。如果返回 200,配置即生效。

步骤 3:选择需要订阅的事件类型

你不需要订阅所有事件。根据你的集成需求,勾选对应的事件即可。例如:

  • 只需要在用户首次联系时创建 CRM 记录 → 只勾选 conversation.created
  • 需要同步所有消息到内部系统 → 勾选 message.received
  • 需要完整的会话生命周期追踪 → 勾选 conversation.created + conversation.status_changed + message.received

验证 Webhook 是否生效

配置完成后,最直接的验证方式是:用另一个 Telegram 账号向你的 Bot 发送一条消息,然后检查目标服务器的日志。

常见问题排查:

  • URL 不可达:检查服务器防火墙是否放行了 TG-Staff 的出口 IP(可在控制台查询 IP 列表)。
  • 响应超时:TG-Staff 要求目标服务器在 5 秒内返回 200。如果处理逻辑复杂,建议先返回 200,再异步处理(如放入队列)。
  • 签名验证失败:如果 TG-Staff 支持签名密钥(以官方文档为准),请确保验证 X-TG-Staff-Signature 头部的 HMAC 签名。

安全建议:签名验证与重试机制

  • 签名验证:如果 TG-Staff 提供了签名密钥,务必在接收端验证请求的签名,防止伪造回调。验证方式通常是使用 HMAC-SHA256 对请求体计算签名,与请求头中的签名比对。
  • 重试策略:若目标服务器返回非 200 状态码,TG-Staff 默认重试最多 3 次,间隔分别为约 30 秒、2 分钟、5 分钟。若全部失败,事件会丢弃(原始数据仍保留在 TG-Staff 平台,不会丢失)。建议你的服务器始终返回 200 确认接收。

典型集成场景:从客服到自动化

以下 3 个场景展示了 Webhook 事件如何将 TG-Staff 与你的业务系统打通。

场景 1:新会话 → 自动创建 CRM 工单

事件conversation.created

流程:当用户首次给 Bot 发消息,TG-Staff 推送事件到你的服务器 → 服务器解析事件中的用户 ID、会话 ID、首次消息文本 → 自动在 CRM(如 HubSpot、Salesforce)中创建一条线索或工单,标题为「Telegram 用户 [用户名] 新咨询」,并附上会话链接。

收益:客服无需手动录入客户信息,销售团队可以第一时间看到线索来源。

场景 2:坐席回复后 → 同步消息到质检系统

事件message.received

流程:每次坐席发送消息,事件推送到质检系统(如内部合规平台)→ 质检系统根据风险词规则(可与 TG-Staff 专业版的内容风控联动)进行实时检测 → 如果命中敏感词,自动标记该条消息并通知质检员。

收益:实现客服对话的实时质检,尤其适合 Web3、金融等对合规要求高的行业。

场景 3:会话关闭 → 触发满意度调查

事件conversation.status_changed(状态变为 closed

流程:当坐席关闭会话,TG-Staff 推送事件 → 服务器判断状态为 closed → 自动向用户发送一条满意度调查链接(可通过 TG-Staff 的消息群发功能或独立 Bot 发送)→ 调查结果回传至数据分析平台。

收益:无需人工触发,自动收集用户反馈,持续优化客服质量。


与 TG-Staff 其他功能的联动

Webhook 事件不是孤立的,它可以与 TG-Staff 已有的能力协同工作,产生更大的集成价值。

  • 分流链接 + 新会话事件:当用户通过广告分流链接(Diversion Link)进入 Bot,conversation.created 事件中会携带 referrer 字段(如广告来源、URL 参数)。你可以据此分析不同渠道的转化效果。
  • 坐席状态变更 + 内部通知:当坐席离线超过 30 分钟,agent.status_changed 事件可触发 Slack 或钉钉机器人通知,提醒管理者调整排班。
  • 用户画像数据丰富:在事件回调中,TG-Staff 会附带用户 ID。你可以调用用户画像 API(需专业版)获取用户的标签、历史对话摘要,与事件数据合并后写入外部数据库。

注意事项:避免数据冗余与循环

这是一个容易被忽略的坑。如果你的 Webhook 目标服务器也向 TG-Staff 发送请求(例如,通过 TG-Staff 的 API 发送消息),而该消息又触发了 message.received 事件,就会形成 A → B → A 的无限循环。

解决方案:在事件处理逻辑中,检查消息来源。例如,在事件负载中判断 sender_type 是否为 agentsystem,如果是坐席发送的消息,跳过写入操作,避免重复。

注意:事件推送频率限制

TG-Staff 对 Webhook 事件推送可能有速率限制(如每秒最多 10 次)。若业务高峰时段产生大量事件(比如多个用户同时咨询),建议目标服务器做好队列缓冲处理,避免因并发过高导致请求丢失。


常见问题

问:TG-Staff Webhook 事件是否支持自定义字段或过滤条件?
答:目前 TG-Staff 的事件推送基于固定事件类型,不支持自定义字段。但你可以通过事件中的会话 ID 或用户 ID,在接收后调用其他 API(如用户画像接口)补充数据。过滤条件建议在目标服务器端实现。

问:Webhook 事件推送失败会怎么样?有重试机制吗?
答:是的,TG-Staff 默认会重试最多 3 次(每次间隔约 30 秒、2 分钟、5 分钟)。若全部失败,事件将丢弃,不会导致数据丢失(因为原始数据仍存于 TG-Staff 平台)。建议目标服务器确保 200 响应。

问:我能否同时配置多个 Webhook URL 接收同一事件?
答:目前 TG-Staff 每个项目仅支持配置一个 Webhook URL。如需分发到多个系统,建议在目标服务器内部转发(如使用消息队列或中间件)。

问:Webhook 事件中是否包含用户隐私数据(如手机号、邮箱)?
答:Webhook 事件主要推送会话状态、消息 ID、用户 ID 等元数据,不包含用户 Telegram 端的敏感信息(如手机号)。用户画像中的自定义数据(如标签)可能包含业务数据,请根据你的隐私政策处理。

问:如何测试 Webhook 配置是否生效?
答:在控制台 Webhook 配置页,通常有「发送测试事件」按钮。如果没有,你可以手动创建一个新会话(如用测试 Bot 发送一条消息),然后检查目标服务器日志是否收到对应的 POST 请求。


开始集成你的 Telegram 客服数据

TG-Staff Webhook 事件是连接客服数据与业务系统的「高速公路」。无论你是想自动创建 CRM 工单、实时质检消息内容,还是构建全链路用户行为分析,它都能帮你省去轮询的麻烦,让数据真正流动起来。

  • 免费试用:注册即享 3 天试用,标准版及以上套餐支持 Webhook 功能(具体套餐以官网为准)。
  • 查阅文档:获取最新事件列表、字段说明与签名验证示例 → TG-Staff 官方文档
  • 咨询客服:对集成有疑问?直接联系 @tgstaff_robot,技术团队会协助你完成配置。

立刻体验 Webhook 事件集成,让你的 Telegram 客服运营从「手动搬运」升级为「事件驱动」的自动化工作流。