Loading...
Loading...
Compare original and translation side by side
pip install telnyxpip install telnyximport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)clientimport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # 这是默认配置,可以省略
)clientimport telnyx
try:
response = client.messages.send(
to="+18445550001",
from_="+18005550101",
text="Hello from Telnyx!",
)
except telnyx.APIConnectionError:
print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
import time
time.sleep(1) # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
print(f"API error {e.status_code}: {e.message}")
if e.status_code == 422:
print("Validation error — check required fields and formats")401403404422429import telnyx
try:
response = client.messages.send(
to="+18445550001",
from_="+18005550101",
text="Hello from Telnyx!",
)
except telnyx.APIConnectionError:
print("网络错误 — 检查网络连接后重试")
except telnyx.RateLimitError:
import time
time.sleep(1) # 可查看Retry-After响应头获取准确的等待时长
except telnyx.APIStatusError as e:
print(f"API错误 {e.status_code}: {e.message}")
if e.status_code == 422:
print("参数校验错误 — 检查必填字段和格式是否正确")401403404422429+13125550001+for item in page_result:+13125550001+for item in page_result:## Additional Operations## 其他操作client.messages.send()POST /messages| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| string (E.164) | Yes | Sending address (+E.164 formatted phone number, alphanumeric... |
| string | Yes | Message body (i.e., content) as a non-empty string. |
| string (UUID) | No | Unique identifier for a messaging profile. |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| ... | +7 optional params in references/api-details.md |
response = client.messages.send(
to="+18445550001",
from_="+18005550101",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.textresponse.data.sent_atresponse.data.errorsclient.messages.send()POST /messages| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| string (E.164) | 是 | 发送方地址(符合+E.164格式的电话号码、字母数字... |
| string | 是 | 消息内容,不能为空字符串。 |
| string (UUID) | 否 | 消息配置文件的唯一标识。 |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| ... | 还有7个可选参数,详见references/api-details.md |
response = client.messages.send(
to="+18445550001",
from_="+18005550101",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.textresponse.data.sent_atresponse.data.errorsclient.messages.send_with_alphanumeric_sender()POST /messages/alphanumeric_sender_id| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | A valid alphanumeric sender ID on the user's account. |
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| string | Yes | The message body. |
| string (UUID) | Yes | The messaging profile ID to use. |
| string (URL) | No | Callback URL for delivery status updates. |
| string (URL) | No | Failover callback URL for delivery status updates. |
| boolean | No | If true, use the messaging profile's webhook settings. |
response = client.messages.send_with_alphanumeric_sender(
from_="MyCompany",
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
text="Hello from Telnyx!",
to="+13125550001",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.textresponse.data.sent_atresponse.data.errorsclient.messages.send_with_alphanumeric_sender()POST /messages/alphanumeric_sender_id| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 用户账号下有效的字母数字发件人ID。 |
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| string | 是 | 消息内容。 |
| string (UUID) | 是 | 要使用的消息配置文件ID。 |
| string (URL) | 否 | 送达状态更新的回调URL。 |
| string (URL) | 否 | 送达状态更新的备用回调URL。 |
| boolean | 否 | 如果为true,使用消息配置文件的回调设置。 |
response = client.messages.send_with_alphanumeric_sender(
from_="MyCompany",
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
text="Hello from Telnyx!",
to="+13125550001",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.textresponse.data.sent_atresponse.data.errorstelnyx-signature-ed25519telnyx-timestampundefinedtelnyx-signature-ed25519telnyx-timestampundefinedundefinedundefined| Field | Type | Description |
|---|---|---|
| enum: message.sent, message.finalized | The type of event being delivered. |
| uuid | Identifies the type of resource. |
| array[object] | |
| string | Message body (i.e., content) as a non-empty string. |
| date-time | ISO 8601 formatted date indicating when the message was sent. |
| date-time | ISO 8601 formatted date indicating when the message was finalized. |
| object | null | |
| array[object] | These errors may point at addressees when referring to unsuccessful/unconfirm... |
| 字段 | 类型 | 描述 |
|---|---|---|
| 枚举: message.sent, message.finalized | 送达的事件类型。 |
| uuid | 资源类型标识。 |
| array[object] | |
| string | 消息内容,不能为空字符串。 |
| date-time | ISO 8601格式的消息发送时间。 |
| date-time | ISO 8601格式的消息最终状态确定时间。 |
| object | null | |
| array[object] | 发送失败/未确认时,这些错误可能会指向对应的收件人。 |
| Field | Type | Description |
|---|---|---|
| enum: message.received | The type of event being delivered. |
| uuid | Identifies the type of resource. |
| enum: inbound | The direction of the message. |
| array[object] | |
| string | Message body (i.e., content) as a non-empty string. |
| enum: SMS, MMS | The type of message. |
| array[object] | |
| enum: event | Identifies the type of the resource. |
| 字段 | 类型 | 描述 |
|---|---|---|
| 枚举: message.received | 送达的事件类型。 |
| uuid | 资源类型标识。 |
| 枚举: inbound | 消息方向。 |
| array[object] | |
| string | 消息内容,不能为空字符串。 |
| 枚举: SMS, MMS | 消息类型。 |
| array[object] | |
| 枚举: event | 资源类型标识。 |
client.messages.send_group_mms()POST /messages/group_mms| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |
| array[object] | Yes | A list of destinations. |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| string (URL) | No | The failover URL where webhooks related to this message will... |
| ... | +3 optional params in references/api-details.md |
response = client.messages.send_group_mms(
from_="+13125551234",
to=["+18655551234", "+14155551234"],
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_group_mms()POST /messages/group_mms| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 发送短信使用的电话号码,符合+E.164格式。 |
| array[object] | 是 | 收件人列表。 |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| string (URL) | 否 | 该消息相关的备用回调通知发送地址。 |
| ... | 还有3个可选参数,详见references/api-details.md |
response = client.messages.send_group_mms(
from_="+13125551234",
to=["+18655551234", "+14155551234"],
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_long_code()POST /messages/long_code| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| string (URL) | No | The failover URL where webhooks related to this message will... |
| ... | +6 optional params in references/api-details.md |
response = client.messages.send_long_code(
from_="+18445550001",
to="+13125550002",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_long_code()POST /messages/long_code| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 发送短信使用的电话号码,符合+E.164格式。 |
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| string (URL) | 否 | 该消息相关的备用回调通知发送地址。 |
| ... | 还有6个可选参数,详见references/api-details.md |
response = client.messages.send_long_code(
from_="+18445550001",
to="+13125550002",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_number_pool()POST /messages/number_pool| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | Unique identifier for a messaging profile. |
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| string (URL) | No | The failover URL where webhooks related to this message will... |
| ... | +6 optional params in references/api-details.md |
response = client.messages.send_number_pool(
messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
to="+13125550002",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_number_pool()POST /messages/number_pool| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | 消息配置文件的唯一标识。 |
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| string (URL) | 否 | 该消息相关的备用回调通知发送地址。 |
| ... | 还有6个可选参数,详见references/api-details.md |
response = client.messages.send_number_pool(
messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
to="+13125550002",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_short_code()POST /messages/short_code| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| string (URL) | No | The failover URL where webhooks related to this message will... |
| ... | +6 optional params in references/api-details.md |
response = client.messages.send_short_code(
from_="+18445550001",
to="+18445550001",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_short_code()POST /messages/short_code| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 发送短信使用的电话号码,符合+E.164格式。 |
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| string (URL) | 否 | 该消息相关的备用回调通知发送地址。 |
| ... | 还有6个可选参数,详见references/api-details.md |
response = client.messages.send_short_code(
from_="+18445550001",
to="+18445550001",
text="Hello from Telnyx!",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.schedule()POST /messages/schedule| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |
| string (UUID) | No | Unique identifier for a messaging profile. |
| array[string] | No | A list of media URLs. |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
| ... | +8 optional params in references/api-details.md |
response = client.messages.schedule(
to="+18445550001",
from_="+18005550101",
text="Appointment reminder",
send_at="2025-07-01T15:00:00Z",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.schedule()POST /messages/schedule| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 接收方地址(符合+E.164格式的电话号码或短码... |
| string (UUID) | 否 | 消息配置文件的唯一标识。 |
| array[string] | 否 | 媒体资源URL列表。 |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
| ... | 还有8个可选参数,详见references/api-details.md |
response = client.messages.schedule(
to="+18445550001",
from_="+18005550101",
text="Appointment reminder",
send_at="2025-07-01T15:00:00Z",
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.textclient.messages.send_whatsapp()POST /messages/whatsapp| Parameter | Type | Required | Description |
|---|---|---|---|
| string (E.164) | Yes | Phone number in +E.164 format associated with Whatsapp accou... |
| string (E.164) | Yes | Phone number in +E.164 format |
| object | Yes | |
| enum (WHATSAPP) | No | Message type - must be set to "WHATSAPP" |
| string (URL) | No | The URL where webhooks related to this message will be sent. |
response = client.messages.send_whatsapp(
from_="+13125551234",
to="+13125551234",
whatsapp_message={},
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.bodyclient.messages.send_whatsapp()POST /messages/whatsapp| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (E.164) | 是 | 绑定了WhatsApp账号的电话号码,符合+E.164格式。 |
| string (E.164) | 是 | 接收方电话号码,符合+E.164格式 |
| object | 是 | |
| 枚举 (WHATSAPP) | 否 | 消息类型 - 必须设置为"WHATSAPP" |
| string (URL) | 否 | 该消息相关的回调通知发送地址。 |
response = client.messages.send_whatsapp(
from_="+13125551234",
to="+13125551234",
whatsapp_message={},
)
print(response.data)response.data.idresponse.data.toresponse.data.fromresponse.data.typeresponse.data.directionresponse.data.body| Operation | SDK method | Endpoint | Use when | Required params |
|---|---|---|---|---|
| Retrieve a message | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Cancel a scheduled message | | | Remove, detach, or clean up an existing resource. | |
| List alphanumeric sender IDs | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create an alphanumeric sender ID | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieve an alphanumeric sender ID | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Delete an alphanumeric sender ID | | | Remove, detach, or clean up an existing resource. | |
| Retrieve group MMS messages | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List messaging hosted numbers | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Retrieve a messaging hosted number | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update a messaging hosted number | | | Modify an existing resource without recreating it. | |
| List opt-outs | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List high-level messaging profile metrics | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Regenerate messaging profile secret | | | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | |
| List alphanumeric sender IDs for a messaging profile | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Get detailed messaging profile metrics | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List Auto-Response Settings | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Create auto-response setting | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Get Auto-Response Setting | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update Auto-Response Setting | | | Modify an existing resource without recreating it. | |
| Delete Auto-Response Setting | | | Remove, detach, or clean up an existing resource. | |
| 操作 | SDK方法 | 接口地址 | 使用场景 | 必填参数 |
|---|---|---|---|---|
| 查询单条消息 | | | 在更新、删除或做流程控制判断前获取消息当前状态。 | |
| 取消定时发送的消息 | | | 删除、解绑或清理已有资源。 | |
| 查询字母数字发件人ID列表 | | | 在修改资源前查看可用资源或选择已有资源。 | 无 |
| 创建字母数字发件人ID | | | 当核心功能不覆盖该流程时,创建或开通额外资源。 | |
| 查询单个字母数字发件人ID | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 删除字母数字发件人ID | | | 删除、解绑或清理已有资源。 | |
| 查询群组MMS消息 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 查询消息托管号码列表 | | | 在修改资源前查看可用资源或选择已有资源。 | 无 |
| 查询单个消息托管号码 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 更新消息托管号码 | | | 修改已有资源,无需重新创建。 | |
| 查询退订列表 | | | 在修改资源前查看可用资源或选择已有资源。 | 无 |
| 查询消息配置文件概览指标 | | | 在修改资源前查看可用资源或选择已有资源。 | 无 |
| 重新生成消息配置文件密钥 | | | 在现有工作流中触发后续操作,而非创建新的顶层资源。 | |
| 查询消息配置文件绑定的字母数字发件人ID列表 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 获取消息配置文件详细指标 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 查询自动回复配置列表 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 创建自动回复配置 | | | 当核心功能不覆盖该流程时,创建或开通额外资源。 | |
| 查询单个自动回复配置 | | | 在更新、删除或做流程控制判断前获取资源当前状态。 | |
| 更新自动回复配置 | | | 修改已有资源,无需重新创建。 | |
| 删除自动回复配置 | | | 删除、解绑或清理已有资源。 | |
| Event | | Description |
|---|---|---|
| | Replaced Link Click |
| 事件 | | 描述 |
|---|---|---|
| | 替换链接点击事件 |