全部 Skill/Twilio 云通信平台

Twilio 云通信平台 Skill

Twilio 的每个 REST 端点都用 HTTP Basic Auth(Account SID + Auth Token 或 API Key)鉴权,如果按接完其他 REST API 的默认手感发 Authorization: Bearer,每个请求都会失败并报错误码 20003,看起来像凭证错了,实际是鉴权方式错了。更容易搞反的是方向:调用 Twilio 拿到的永远是 JSON,但 Twilio 反过来调用你的服务器(入站短信/来电 webhook)时,你必须用 TwiML(XML)作答,返回 JSON 不会优雅降级,只会直接出错或被挂断。

文档版 · 未实测twilioapi.twilio.comHTTP Basic Auth(Account SID + Auth Token,或 API Key SID + Secret),不是 Bearer tokenAgent 工具更新 2026-09-21
6份 reference
6个易错点
0条无凭证探测
2026-09-21文档抓取
INSTALL · 安装

安装

选你用的 Agent,复制命令。

npx -y skills add fxp/skillify --skill twilio --agent claude-code --yes

装到项目的 .claude/skills/;加 -g 装到全局。装完需要你手动执行 /reload-plugins,这一步 Agent 代劳不了。

或者让 Agent 自己装

读 https://github.com/fxp/skillify/blob/main/skills/twilio/prompt.md 并照它执行

装对了的标志:references/ 下有 6 份文档。

TRY ASKING · 装好后可以这样问

装好后,可以这样问你的 Agent

这份 Skill 覆盖的典型任务。点一下复制。

CAPABILITIES · 能力清单

6 类能力

每类能力对应一份 reference,Agent 按任务只打开需要的那份。

鉴权

HTTP Basic Auth、Account SID+Token 与 API Key 怎么选、Main/Standard/Restricted 权限范围、OAuth apps 的适用边界

references/auth.mdPOST /v1/Keys

短信 / MMS 发送

Messages 资源的发送与查询、E.164 校验、From/MessagingServiceSid 二选一、分段计费与消息状态生命周期

references/send-sms.mdPOST /2010-04-01/Accounts/{Sid}/Messages.json · GET /2010-04-01/Accounts/{Sid}/Messages.json

手机验证 / OTP

Verify Service、启动验证与核对验证码的两步流程、渠道选择、验证码有效期与频率限制

references/verify-otp.mdPOST /v2/Services · POST /v2/Services/{Sid}/Verifications · POST /v2/Services/{Sid}/VerificationCheck

语音通话与 TwiML

发起外呼的 Calls 资源、入站来电必须用 TwiML 应答、Gather/Dial/Record 等动词与应答机检测

references/voice-calls-and-twiml.mdPOST /2010-04-01/Accounts/{Sid}/Calls.json

Webhook 与签名校验

入站短信/来电 webhook 必须回 TwiML、X-Twilio-Signature 的算法与校验方式、状态回调和录音回调

references/webhooks-and-signatures.mdX-Twilio-Signature header · IncomingPhoneNumber VoiceUrl / SmsUrl

定价与错误码

用 Pricing API 查真实分国家价格、trial 账号限制、通用错误信封与错误码区间

references/pricing-and-errors.mdGET /v1/Messaging/Countries/{IsoCountry} · GET /v1/Voice/Countries/{IsoCountry}
FACTS · 当前事实

当前事实

整理自官方文档(抓取于 2026-09-21),还没有用真实凭证验证。

项值
鉴权方式HTTP Basic:-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN(或 API Key SID+Secret),不是 Authorization: Bearer;用错会拿到 401 / 错误码 20003
手机号格式To/From 一律 E.164(如 +14155552671),格式错按文档同步报 400:Messages/Calls 是错误码 21211,Verify 是 60200
Verify 流程POST /v2/Services/{Sid}/Verifications 发码(不返回验证码本身),再 POST /v2/Services/{Sid}/VerificationCheck 核对,判 status == "approved",不要看遗留字段 valid
TwiML 方向你调用 Twilio 拿到 JSON;Twilio 调你的 webhook 时,响应体必须是 TwiML(XML),Content-Type: text/xml,返回 JSON 不会优雅降级
计价没有统一单价,按国家/运营商/号码类型浮动;查 GET /v1/Messaging/Countries/{IsoCountry}(pricing.twilio.com),别硬编码美国价格
GOTCHAS · 易错点

照通用经验写容易错的 6 件事

来自官方文档,还没有用真实凭证验证。

  1. Standard API Key 不能调账号级端点。用 Standard key 请求 /Accounts 或 /v1/Keys 会拿到和凭证错误一样的 401 / 错误码 20003,这类场景要用 Account SID + Auth Token 或 Main key。
  2. 请求体是表单编码,不是 JSON。Messages、Calls、Verify 的创建/更新请求都要 application/x-www-form-urlencoded;手写请求时发 Content-Type: application/json 只会拿到一个含糊的 400,不会提示 content type 错了。
  3. OpenAPI 的 required 字段没写全。创建 Message 的规范里顶层 required 只列了 To,From 和 MessagingServiceSid 二选一的约束只存在于文字说明里;照 JSON Schema 生成客户端代码会漏掉这条校验,两个都不传要等服务端才报错。
  4. 校验 webhook 签名必须用 Auth Token,不能用 API Key Secret。即使出站调用全走 API Key 鉴权,X-Twilio-Signature 依然是用账号 Auth Token 算出来的 HMAC-SHA1,两者不能互相替代。
  5. <Gather> 省略 action 会形成死循环。不写 action,Twilio 会把按键/语音结果 POST 回同一份 TwiML 文档;如果这段逻辑不判断 Digits/SpeechResult 是否存在,来电者会卡在反复播放同一句提示里。
  6. 新账号是 trial,未验证号码报的是账号级错误,不是格式错误。trial 账号只能给最多 5 个已验证号码收发消息/通话,格式完全正确的 E.164 号码发给未验证号码会报错误码 14111,排查前先确认账号状态再查格式。
STATUS · 验证状态

验证状态

文档版:整理自官方文档(抓取于 2026-09-21),还没有用真实凭证调用验证。页面和 Skill 里标「文档原文,未实测」的报错与行为都来自文档本身。

有这个平台的沙箱或 API Key?联系我们——补测并做完装与不装的对照测试后,它会升级为「已实测」。