用途:通过 Telnyx Messaging API 的 curl 方式发送和接收 SMS/MMS,处理退订与投递 Webhook,可用于通知、2FA 或消息类应用。
安装与环境:curl 在 macOS、Linux、Windows 10+ 上已预装。设置环境变量:export TELNYX_API_KEY="YOUR_API_KEY_HERE",所有示例均以 $TELNYX_API_KEY 认证。
主要能力:发送短信(POST /messages),支持 to、from、text 等必填字段及 messaging_profile_id、media_urls、webhook_url 等可选参数;使用字母数字发送方 ID(POST /messages/alphanumeric_sender_id);群发 MMS(POST /messages/group_mms);长号(POST /messages/long_code)、短号(POST /messages/short_code)、号码池(POST /messages/number_pool)发送;定时发送(POST /messages/schedule);WhatsApp 消息(POST /messages/whatsapp)。还支持检索/取消消息、字母数字发送方 ID 管理、消息托管号码、退订列表、消息配置指标与自动回复设置等操作。
Webhook:Telnyx 使用 Ed25519 签名,每个请求包含 telnyx-signature-ed25519 和 telnyx-timestamp 头,生产环境须校验签名,建议使用 Telnyx SDK 的 client.webhooks.unwrap,时间戳超过 5 分钟应拒绝以防重放。端点在 2 秒内返回 2xx,否则 Telnyx 最多重试 3 次,可配置故障转移 URL。投递更新事件为 message.sent、message.finalized;入站消息事件为 message.received。
错误处理:可能遇到网络错误、限流(429)、校验错误(422)、认证错误(401)。常见错误码包括 401 无效 API 密钥、403 权限不足、404 资源不存在、422 校验错误、429 限流(建议指数退避重试)。
使用限制:电话号码须为 E.164 格式(如 +13125550001),包含 + 和国家代码,无空格、破折号或括号。列表端点分页,使用 page[number] 和 page[size],检查 meta.total_pages。发送号码须已分配到正确的消息配置;美国 A2P 长号流量须完成 10DLC 注册后才能生产发送,否则运营商会拦截或过滤。投递 Webhook 为异步,发送响应仅表示请求被接受,非最终运营商投递。不要自行编造 Telnyx 参数、枚举、响应字段或 Webhook 字段;未展示的字段需先阅读 references/api-details.md 或 Webhook 负载参考。