You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Viber API发送欢迎消息?回调无接收方详情求助

问题分析与解决方案

核心问题定位

  1. 接口用途混淆:conversation_started是Viber向你的webhook推送的用户触发事件接口,用于通知Bot用户首次发起对话,不是主动给用户发送消息的接口。你调用这个接口的操作,本质是模拟Viber给你的Bot推送事件,而非发送消息。
  2. 请求地址错误:你的Postman返回的是Pipedream的响应,说明你实际请求的是自己的Pipedream webhook地址,而非Viber官方的API接口,根本没有调用到Viber的消息发送服务。

正确操作步骤

1. 使用官方消息发送接口

主动给特定联系人发消息,需调用Viber的send_message接口,地址为:https://chatapi.viber.com/pa/send_message

2. 构造合法请求参数

请求必须包含以下关键字段:

  • receiver:接收用户的Viber ID(需从用户触发的conversation_started事件中获取并存储)
  • X-Viber-Auth-Token:请求头中必须携带你的Bot认证令牌
    示例请求体:
{
  "receiver": "UieTlBq7hUsZKsSMW6QnxA==",
  "sender": {
    "name": "John McClane",
    "avatar": "http://avatar.example.com"
  },
  "tracking_data": "tracking data",
  "type": "text",
  "text": "Welcome to our bot!"
}

3. 获取接收方ID

当用户首次打开与Bot的对话时,Viber会自动推送conversation_started事件到你的Pipedream webhook,此时回调内容中的event.body.event.sender.id就是该用户的Viber ID,你需要将这个ID存储下来,作为后续主动发消息的receiver值。

对当前回调内容的说明

你在Pipedream中收到的回调,是你用Postman模拟请求自己webhook产生的测试数据,其中的sender字段是你模拟的用户信息,并非实际要发送消息的接收方,这是因为你错误地调用了事件通知接口而非消息发送接口。


内容的提问来源于stack exchange,提问作者Deshan-Charuka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:02:10