用途:本资料是 Twilio WhatsApp 消息发送的深度参考,用于指导开发者通过 Twilio Programmable Messaging API 向 WhatsApp 号码发送消息。WhatsApp 是 Twilio Messaging 平台的渠道之一,所有号码使用 whatsapp:+E.164 前缀。
主要能力与模式:发送分两种模式。自由格式(free-form)仅限用户最后一次入站消息后 24 小时内,参数为 body 及可选 mediaUrl;模板(template)可在任意时间发送,参数为 contentSid 与 contentVariables。在窗口外发送自由格式消息会静默失败,需确认应使用的模式。媒体消息仅支持自由格式,最大 16 MB。
前置条件:已启用 WhatsApp 的 Twilio 账户;环境变量 TWILIO_ACCOUNT_SID、TWILIO_AUTH_TOKEN;SDK 安装(pip install twilio / npm install twilio);接收方已选择接收你的 WhatsApp Business 账户消息。
使用方式:先安装 SDK 并配置凭证,然后调用 messages.create()。Python 示例中传入 from_、to、body;Node.js 示例传入 from、to、body。发送模板消息时使用 content_sid/contentSid 与 content_variables/contentVariables;发送媒体时传入 media_url/mediaUrl。返回字段包括 sid、status、error_code、error_message、date_sent。
测试与生产:沙箱通过向 +14155238886 发送 join <your-code> 加入,无需注册;沙箱参与者需每 3 天重新加入。生产环境需先注册 WhatsApp Business 发送方。模板在 Console 的 Content Template Builder 创建,并需经 Meta 审批。
限制:每个发送方默认 80 条/秒,纯文本可申请提至 400 MPS;消息排队超过 4 小时将失败;沙箱限 1 条/3 秒、试用期每天 50 条;未获用户选择接收而发送可能导致账户被暂停;WhatsApp Groups API 已于 2020 年 4 月弃用,应改用 Conversations API。常见错误包括 63003 无效目标号码、63018 触发发送方速率限制、63020 企业未接受 Twilio 的 Meta 邀请。