用途
本技能面向使用 Python 调用 Telnyx WhatsApp Business API 的开发场景,帮助开发者通过 telnyx SDK 发送 WhatsApp 消息,并管理模板、WABA(WhatsApp Business Account)与电话号码等资源。
主要能力
消息发送:通过 client.messages.send_whatsapp()(POST /messages/whatsapp)发送模板消息或自由文本消息。模板消息使用预先审核通过的模板,可随时发送,不受 24 小时窗口限制;自由文本(session)消息只能在客户最后发消息后的 24 小时窗口内发送。
模板管理:可列举模板(client.whatsapp.templates.list(),支持按 waba_id、category、status 过滤)、创建模板(client.whatsapp.templates.create())。模板名称必须为小写加下划线(如 order_confirmation),类别分为 AUTHENTICATION(仅 OTP/验证码,特殊定价)、UTILITY(交易类消息)、MARKETING(推广内容)。模板需处于 APPROVED 状态才能用于发送。
账号与号码:可列举、获取 WABA(client.whatsapp.business_accounts.list() / retrieve()),列举电话号码(client.whatsapp.phone_numbers.list()),查看业务资料,以及读取和更新 WABA 设置(含 webhook URL 与事件配置)。
Webhook:Telnyx 使用 Ed25519 签名,示例展示了通过 telnyx.webhooks.Webhook.construct_event() 校验签名,并给出了消息投递更新与模板状态变更两类 webhook 的主要字段。
使用方式
安装:pip install telnyx。
初始化:
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"),
)
发送模板消息可使用模板名称加语言,或直接使用 Telnyx 的 template_id(提供 template_id 时会自动解析 name 与 language)。电话号码必须为 E.164 格式(含 + 与国家代码)。列举接口返回分页结果,可使用 response.auto_paging_iter() 迭代。
适用场景
订单确认与发货通知、验证码/OTP 发送、账户提醒等交易类消息,以及推广内容发送等 WhatsApp 业务消息场景。
限制与注意事项
发送号码必须注册到 WABA 并关联消息配置文件(messaging profile)。需要处理网络错误、限流(429)、验证错误(422)和认证错误(401);WhatsApp 特定错误如 40008、131047、131026、132000、132015 各有对应原因。创建模板时应提供贴近真实的示例值,Meta 可能重新分类模板类别(如 UTILITY 转为 MARKETING)从而影响计费。注意不要臆造 Telnyx 参数、枚举、响应字段或 webhook 字段;如果所需字段未在技能内联展示,应先阅读其 API 详情参考文档再编写代码。