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

如何在Twilio中获取接收到的WhatsApp消息

实现接收WhatsApp消息的两种常用方案

方案1:实时接收消息(Webhook回调方式,最常用)

Twilio收到发给你绑定号码的WhatsApp消息时,会自动将消息内容以POST请求的形式推送到你提前配置的公网可访问回调地址,你只需要在自己的服务中解析请求参数即可拿到消息内容,具体实现步骤如下:

  • 编写服务端接口接收Twilio的回调请求,以下是Flask框架的示例代码:
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse

app = Flask(__name__)

@app.route("/whatsapp/receive", methods=['POST'])
def receive_whatsapp():
    # 解析Twilio推送的消息参数
    sender_number = request.values.get('From', '')  # 发送方号码,格式为whatsapp:+实际号码
    received_text = request.values.get('Body', '')  # 收到的文本内容
    media_url = request.values.get('MediaUrl0', '') # 若消息带附件,可通过该参数获取资源地址

    # 此处可添加自定义业务逻辑处理收到的消息
    print(f"收到来自 {sender_number} 的消息:{received_text}")

    # 可选:自动回复消息给发送方
    resp = MessagingResponse()
    resp.message("消息已收到")
    return str(resp)

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)
  • 将上述接口部署到公网可访问的服务器,本地调试阶段可以用ngrok做内网穿透获取临时公网地址
  • 打开Twilio控制台的WhatsApp号码配置页面,将Webhook URL填写为你的接口地址,请求方式选择POST,保存配置后即可实时接收消息

方案2:主动拉取历史接收消息

如果不需要实时获取,只想主动查询一段时间内的接收记录,可以直接调用Twilio的Messages API拉取,示例代码如下:

from twilio.rest import Client

# 替换为你自己的Twilio账户凭证
account_sid = '你的ACCOUNT_SID'
auth_token = '你的AUTH_TOKEN'
client = Client(account_sid, auth_token)

# 拉取所有发给你的Twilio WhatsApp号码的消息记录
messages = client.messages.list(
    to='whatsapp:+你的Twilio绑定的WhatsApp号码'
)

for msg in messages:
    print(f"发送方:{msg.from_},内容:{msg.body},接收时间:{msg.date_sent}")

注意:查询时可添加date_sent_before、date_sent_after参数过滤时间范围,单次查询最多返回1000条记录


内容的提问来源于stack exchange,提问作者user13808691

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:39:03