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

如何在Twilio中接收WhatsApp消息并在Python中打印?

解决WhatsApp消息接收后无法打印的问题

排查步骤与解决方案:

  1. 确认Webhook配置
    登录Twilio控制台,检查你的WhatsApp号码/沙箱的传入消息Webhook地址是否和SMS的一致,都指向你的/sms路由。如果WhatsApp的Webhook未设置或地址错误,请求根本不会发送到你的Python服务。

  2. 打印完整请求表单数据
    修改你的reply函数,先打印整个请求的表单数据,确认Twilio发送的WhatsApp消息包含哪些字段:

from flask import request
from twilio.twiml.messaging_response import MessagingResponse

@app.route("/sms", methods=['POST'])
def reply():
    # 打印所有请求表单字段,用于排查
    print("完整请求表单数据:", request.form.to_dict())
    
    # 获取消息内容,默认空字符串避免报错
    incoming_msg = request.form.get('Body', '').lower()
    print("接收到的消息内容:", incoming_msg)
    
    # 必须返回Twiml响应,否则Twilio可能认为请求失败
    response = MessagingResponse()
    response.message("已收到你的消息")
    return str(response)
  1. 区分SMS与WhatsApp消息(可选)
    可以通过From字段判断消息类型,方便后续处理:
sender = request.form.get('From', '')
if sender.startswith('whatsapp:'):
    print("【WhatsApp消息】发送方:", sender)
else:
    print("【SMS消息】发送方:", sender)

常见问题说明:

  • 如果修改后仍无打印,检查你的Python服务是否能被公网访问(Twilio需要能调用你的Webhook地址,本地开发可使用端口映射工具做内网穿透)。
  • 确保函数返回了str(response),Twilio要求Webhook必须返回Twiml响应,否则可能不会重复发送请求,也会导致你看不到后续的消息打印。

内容的提问来源于stack exchange,提问作者e.iluf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:05:24