SuperAPI AI 工具集

twilio-account-setup

部署与运维

查看项目

更新于 10-22 02:05

技能介绍

用途

每个 Twilio 技能都需要一个有效的 Twilio 账户和凭据。本技能涵盖所有其他 Twilio 技能的前置一次性设置步骤。

快速开始

  1. 在 twilio.com/try-twilio 注册——输入姓名、邮箱、密码
  2. 验证邮箱和个人电话号码
  3. 从 Console > Account > API keys & tokens 获取凭据:

export TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx export TWILIO_AUTH_TOKEN=your_auth_token

  1. 在 Console > Phone Numbers > Buy a number 购买电话号码
  2. 安装 SDK 并发送第一条消息:

Python

pip install twilio

import os from twilio.rest import Client

client = Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"]) message = client.messages.create( to="+15558675310", # must be verified on trial accounts from_="+15017122661", # your Twilio number body="Hello from Twilio!" ) print(f"Sent: {message.sid}")

Node.js

npm install twilio

const twilio = require("twilio"); const client = twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);

const message = await client.messages.create({ to: "+15558675310", // must be verified on trial accounts from: "+15017122661", // your Twilio number body: "Hello from Twilio!", }); console.log(Sent: ${message.sid});

完成后即可使用任何 Twilio 技能。试用账户有限制——见下文“限制”。

主要模式

验证收件人号码(仅试用账户)

试用账户只能向已验证的电话号码发送消息(每个账户最多 5 个)。

  • 前往 Console > Phone Numbers > Verified Caller IDs
  • 点击 Add a new Caller ID 并通过短信验证码验证

已验证号码同时适用于消息和语音。升级账户即可移除此限制。

启用特定产品

部分产品需要显式激活:

产品 | 启用方式 AI Assistants | Console > Explore Products > AI Assistants > Get started Conversations | Console > Conversations > Manage > Overview > Enable Conversations Verify | Console > Verify > Services > Create new WhatsApp(沙箱) | Console > Messaging > Try it out > Send a WhatsApp message ConversationRelay | Console > Voice > ConversationRelay > 完成 onboarding 表单

SDK 安装

语言 | 安装 | SDK 包 Python | pip install twilio | twilio Node.js | npm install twilio | twilio Java | Maven/Gradle | com.twilio.sdk:twilio C# | dotnet add package Twilio | Twilio Ruby | gem install twilio-ruby | twilio-ruby PHP | composer require twilio/sdk | twilio/sdk Go | go get github.com/twilio/twilio-go | twilio-go

初始化客户端

始终从环境变量加载凭据——切勿硬编码。

Python

import os from twilio.rest import Client

client = Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"])

Node.js

const twilio = require("twilio"); const client = twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);

生产环境请使用 API Keys 而非 Auth Token。参见 twilio-iam-auth-setup。

Twilio CLI 设置

CLI 适用于快速操作和本地 webhook 测试。

Install (macOS)

brew tap twilio/brew && brew install twilio

Install (npm -- all platforms)

npm install -g twilio-cli

Login (creates an API key automatically)

twilio login

Verify setup

twilio phone-numbers:list

CLI 存储配置文件以便在账户间切换:

List profiles

twilio profiles:list

Switch active profile

twilio profiles:use my-project

Use environment variables instead of profiles

export TWILIO_ACCOUNT_SID=ACxxxxxxxx export TWILIO_AUTH_TOKEN=xxxxxxxx

优先级:--profile 标志 > 环境变量 > 活动配置文件。

账户与子账户

创建新 Twilio 账户:账户只能从 Console UI 创建——没有用于创建顶级账户的 API。用户注册时会自动创建新账户。可从 Console > My Accounts(或“View all accounts”)创建额外账户。

查看所有账户:Console > My Accounts 显示你有权访问的所有账户和子账户。组织范围可见性见 Console > Admin > Accounts(需要 Organization 管理员角色)。组织级治理参见 twilio-organizations-setup。

子账户

子账户是主(父)账户下的子账户。用于多租户应用、按客户隔离或团队分离。

与父账户的区别:

  • 资源(号码、通话、消息)相互隔离——子账户无法看到父账户或其他子账户的资源
  • 计费合并到父账户——所有子账户共用一个 Twilio 余额
  • 语音和短信权限继承自父账户
  • 电话号码可在父账户和子账户之间转移

通过 Console 创建:Console > My Accounts > Create Subaccount

通过 API 创建:

Python

subaccount = client.api.accounts.create(friendly_name="Customer A") print(f"Subaccount SID: {subaccount.sid}")

Store securely — auth_token is only shown at creation time

e.g., secrets_manager.store("subaccount_auth_token", subaccount.auth_token)

Node.js

const subaccount = await client.api.accounts.create({ friendlyName: "Customer A" }); console.log(Subaccount SID: ${subaccount.sid});

子账户凭据隔离

访问子账户资源时始终使用子账户自己的凭据(API Keys 或 Auth Token)——不要图省事使用父账户凭据。

Python——访问子账户资源

Correct: use subaccount credentials

sub_client = Client(subaccount.sid, subaccount.auth_token) call = sub_client.calls.create( to="+15558675310", from_="+15017122661", # number owned by this subaccount url="https://yourapp.com/voice" )

Also correct: parent credentials with subaccount SID (v2010 API only)

parent_client = Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"]) calls = parent_client.api.accounts(subaccount.sid).calls.list()

关键:位于独立子域(studio.twilio.com、taskrouter.twilio.com)的资源需要子账户专属凭据。父账户凭据在这些子域上无效。

子账户限制

  • 默认限制:每个父账户 1,000 个子账户
  • 试用账户:只能创建 1 个子账户——升级后可创建更多
  • 达到限制时:联系 Twilio 支持并提供用例以请求增加
  • 关闭:通过 API 或 Console 将状态设为 closed。已关闭的子账户将在 30 天后自动删除
  • 暂停级联:暂停父账户会自动暂停所有子账户

从试用升级

点击 Console 顶部的 Upgrade,或前往 Console > Admin > Account billing

  1. 提供姓名、地址和付款详情
  2. 你的试用电话号码会保留;试用余额不会保留

试用限制一览

功能 | 试用 | 升级后 电话号码 | 1 | 无限 向未验证号码发送 | 否 | 是 外发消息前缀 | 是(收件人可见) | 否 已验证 caller ID | 最多 5 | 不需要 A2P 10DLC 注册 | 否 | 是 每日 WhatsApp 消息 | 50 | 无限 ConversationRelay | 否 | 是(完成 onboarding 后) 语音:外呼 | 仅国内 | 国际

不能做的事

  • 不能通过 API 创建顶级账户——只能通过 Console UI。注册时会创建新账户;额外账户从 Console > My Accounts 创建。
  • 试用期不能创建超过 1 个子账户——先升级账户,然后最多可创建 1,000 个。
  • 不能用父账户凭据访问子域资源——Studio、TaskRouter 及其他子域 API 需要子账户专属凭据。父账户凭据会返回认证错误。
  • 已关闭的子账户 30 天后无法撤销——已关闭的子账户会被永久删除。暂停可逆;关闭不可逆。
  • 不能将试用余额转移到付费账户——升级时试用额度作废。
  • 试用期不能向未验证号码发送——只有已验证 Caller ID(最多 5 个)可以接收消息或通话。
  • Auth Token 轮换会使所有 API key 失效——这是单向操作。请从第一天起使用 API Keys。参见 twilio-security-api-auth。
  • API Key 密钥仅在创建时显示一次——请立即存储。之后无法检索。
  • AI Assistants 和 ConversationRelay 需要审批——受限访问产品。激活不是即时的。

后续步骤

  • 组织治理(SSO、SCIM、多团队):twilio-organizations-setup
  • 安全凭据管理和 API Keys:twilio-security-api-auth
  • 发送第一条短信:twilio-sms-send-message
  • 发送第一条 WhatsApp 消息:twilio-whatsapp-send-message
  • 接收传入消息:twilio-messaging-webhooks
  • 美国短信合规(A2P 10DLC):twilio-compliance-onboarding
  • Webhook 设置:twilio-webhook-architecture