telnyx-messaging-python

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Messaging - Python

Telnyx 消息服务 - Python

Installation

安装

bash
pip install telnyx
bash
pip install telnyx

Setup

初始化配置

python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)
All examples below assume
client
is already initialized as shown above.
python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # 这是默认配置,可以省略
)
以下所有示例都默认
client
已经按照上述方式完成初始化。

Error Handling

错误处理

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
python
import 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")
Common error codes:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有API调用都可能因为网络错误、限流(429)、参数校验错误(422)或认证错误(401)失败。生产环境代码请务必做好错误处理:
python
import 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("参数校验错误 — 检查必填字段和格式是否正确")
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源不存在,
422
参数校验错误(检查字段格式),
429
触发限流(使用指数退避策略重试)。

Important Notes

重要注意事项

  • Phone numbers must be in E.164 format (e.g.,
    +13125550001
    ). Include the
    +
    prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: List methods return an auto-paginating iterator. Use
    for item in page_result:
    to iterate through all pages automatically.
  • 电话号码必须符合E.164格式(例如:
    +13125550001
    ),需要包含
    +
    前缀和国家码,不能有空格、短横线或括号。
  • 分页: 列表类方法会返回自动分页的迭代器,使用
    for item in page_result:
    即可自动遍历所有分页数据。

Operational Caveats

使用限制说明

  • The sending number must already be assigned to the correct messaging profile before you send traffic from it.
  • US A2P long-code traffic must complete 10DLC registration before production sending or carriers will block or heavily filter messages.
  • Delivery webhooks are asynchronous. Treat the send response as acceptance of the request, not final carrier delivery.
  • 发送短信前,发信号码必须已经绑定到对应消息配置文件。
  • 美国A2P长码流量必须先完成10DLC注册才能在生产环境发送,否则运营商会拦截或重度过滤消息。
  • 送达回调webhook是异步的,发送接口的响应仅代表请求已被接收,不代表运营商已经最终送达。

Reference Use Rules

参考使用规则

Do not invent Telnyx parameters, enums, response fields, or webhook fields.
  • If the parameter, enum, or response field you need is not shown inline in this skill, read references/api-details.md before writing code.
  • Before using any operation in
    ## Additional Operations
    , read the optional-parameters section and the response-schemas section.
  • Before reading or matching webhook fields beyond the inline examples, read the webhook payload reference.
不要自行臆造Telnyx的参数、枚举值、响应字段或webhook字段。
  • 如果本教程中没有你需要的参数、枚举值或响应字段,请先阅读references/api-details.md再编写代码。
  • 使用
    ## 其他操作
    中的任何接口前,请先阅读可选参数章节响应结构章节
  • 读取或匹配示例中未提到的webhook字段前,请先阅读webhook payload参考

Core Tasks

核心功能

Send an SMS

发送SMS短信

Primary outbound messaging flow. Agents need exact request fields and delivery-related response fields.
client.messages.send()
POST /messages
ParameterTypeRequiredDescription
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
from_
string (E.164)YesSending address (+E.164 formatted phone number, alphanumeric...
text
stringYesMessage body (i.e., content) as a non-empty string.
messaging_profile_id
string (UUID)NoUnique identifier for a messaging profile.
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
...+7 optional params in references/api-details.md
python
response = client.messages.send(
    to="+18445550001",
    from_="+18005550101",
    text="Hello from Telnyx!",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sent_at
  • response.data.errors
主要的外发消息流程。Agent需要使用准确的请求字段和送达相关的响应字段。
client.messages.send()
POST /messages
参数类型必填描述
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
from_
string (E.164)发送方地址(符合+E.164格式的电话号码、字母数字...
text
string消息内容,不能为空字符串。
messaging_profile_id
string (UUID)消息配置文件的唯一标识。
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
...还有7个可选参数,详见references/api-details.md
python
response = client.messages.send(
    to="+18445550001",
    from_="+18005550101",
    text="Hello from Telnyx!",
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sent_at
  • response.data.errors

Send an SMS with an alphanumeric sender ID

使用字母数字发件人ID发送SMS

Common sender variant that requires different request shape.
client.messages.send_with_alphanumeric_sender()
POST /messages/alphanumeric_sender_id
ParameterTypeRequiredDescription
from_
string (E.164)YesA valid alphanumeric sender ID on the user's account.
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
text
stringYesThe message body.
messaging_profile_id
string (UUID)YesThe messaging profile ID to use.
webhook_url
string (URL)NoCallback URL for delivery status updates.
webhook_failover_url
string (URL)NoFailover callback URL for delivery status updates.
use_profile_webhooks
booleanNoIf true, use the messaging profile's webhook settings.
python
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)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sent_at
  • response.data.errors

常见的发件人变体,需要使用不同的请求结构。
client.messages.send_with_alphanumeric_sender()
POST /messages/alphanumeric_sender_id
参数类型必填描述
from_
string (E.164)用户账号下有效的字母数字发件人ID。
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
text
string消息内容。
messaging_profile_id
string (UUID)要使用的消息配置文件ID。
webhook_url
string (URL)送达状态更新的回调URL。
webhook_failover_url
string (URL)送达状态更新的备用回调URL。
use_profile_webhooks
boolean如果为true,使用消息配置文件的回调设置。
python
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.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sent_at
  • response.data.errors

Webhook Verification

Webhook签名验证

Telnyx signs webhooks with Ed25519. Each request includes
telnyx-signature-ed25519
and
telnyx-timestamp
headers. Always verify signatures in production:
python
undefined
Telnyx使用Ed25519对webhook进行签名,每个请求都会携带
telnyx-signature-ed25519
telnyx-timestamp
请求头。生产环境请务必验证签名:
python
undefined

In your webhook handler (e.g., Flask — use raw body, not parsed JSON):

在你的webhook处理逻辑中(例如Flask — 使用原始请求体,不要用解析后的JSON):

@app.route("/webhooks", methods=["POST"]) def handle_webhook(): payload = request.get_data(as_text=True) # raw body as string headers = dict(request.headers) try: event = client.webhooks.unwrap(payload, headers=headers) except Exception as e: print(f"Webhook verification failed: {e}") return "Invalid signature", 400 # Signature valid — event is the parsed webhook payload print(f"Received event: {event.data.event_type}") return "OK", 200
undefined
@app.route("/webhooks", methods=["POST"]) def handle_webhook(): payload = request.get_data(as_text=True) # 原始请求体字符串 headers = dict(request.headers) try: event = client.webhooks.unwrap(payload, headers=headers) except Exception as e: print(f"Webhook验证失败: {e}") return "Invalid signature", 400 # 签名有效 — event是解析后的webhook payload print(f"收到事件: {event.data.event_type}") return "OK", 200
undefined

Webhooks

回调通知

These webhook payload fields are inline because they are part of the primary integration path.
以下webhook payload字段是核心集成流程的一部分,因此放在此处展示。

Delivery Update

送达状态更新

FieldTypeDescription
data.event_type
enum: message.sent, message.finalizedThe type of event being delivered.
data.payload.id
uuidIdentifies the type of resource.
data.payload.to
array[object]
data.payload.text
stringMessage body (i.e., content) as a non-empty string.
data.payload.sent_at
date-timeISO 8601 formatted date indicating when the message was sent.
data.payload.completed_at
date-timeISO 8601 formatted date indicating when the message was finalized.
data.payload.cost
object | null
data.payload.errors
array[object]These errors may point at addressees when referring to unsuccessful/unconfirm...
字段类型描述
data.event_type
枚举: message.sent, message.finalized送达的事件类型。
data.payload.id
uuid资源类型标识。
data.payload.to
array[object]
data.payload.text
string消息内容,不能为空字符串。
data.payload.sent_at
date-timeISO 8601格式的消息发送时间。
data.payload.completed_at
date-timeISO 8601格式的消息最终状态确定时间。
data.payload.cost
object | null
data.payload.errors
array[object]发送失败/未确认时,这些错误可能会指向对应的收件人。

Inbound Message

入站消息

FieldTypeDescription
data.event_type
enum: message.receivedThe type of event being delivered.
data.payload.id
uuidIdentifies the type of resource.
data.payload.direction
enum: inboundThe direction of the message.
data.payload.to
array[object]
data.payload.text
stringMessage body (i.e., content) as a non-empty string.
data.payload.type
enum: SMS, MMSThe type of message.
data.payload.media
array[object]
data.record_type
enum: eventIdentifies the type of the resource.
If you need webhook fields that are not listed inline here, read the webhook payload reference before writing the handler.

字段类型描述
data.event_type
枚举: message.received送达的事件类型。
data.payload.id
uuid资源类型标识。
data.payload.direction
枚举: inbound消息方向。
data.payload.to
array[object]
data.payload.text
string消息内容,不能为空字符串。
data.payload.type
枚举: SMS, MMS消息类型。
data.payload.media
array[object]
data.record_type
枚举: event资源类型标识。
如果你需要此处未列出的webhook字段,请先阅读webhook payload参考再编写处理逻辑。

Important Supporting Operations

重要扩展功能

Use these when the core tasks above are close to your flow, but you need a common variation or follow-up step.
当上述核心功能接近你的使用场景,但你需要常见的变体或后续操作时,可以使用这些功能。

Send a group MMS message

发送群组MMS消息

Send one MMS payload to multiple recipients.
client.messages.send_group_mms()
POST /messages/group_mms
ParameterTypeRequiredDescription
from_
string (E.164)YesPhone number, in +E.164 format, used to send the message.
to
array[object]YesA list of destinations.
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
webhook_failover_url
string (URL)NoThe failover URL where webhooks related to this message will...
...+3 optional params in references/api-details.md
python
response = client.messages.send_group_mms(
    from_="+13125551234",
    to=["+18655551234", "+14155551234"],
    text="Hello from Telnyx!",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text
向多个收件人发送同一条MMS消息。
client.messages.send_group_mms()
POST /messages/group_mms
参数类型必填描述
from_
string (E.164)发送短信使用的电话号码,符合+E.164格式。
to
array[object]收件人列表。
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
webhook_failover_url
string (URL)该消息相关的备用回调通知发送地址。
...还有3个可选参数,详见references/api-details.md
python
response = client.messages.send_group_mms(
    from_="+13125551234",
    to=["+18655551234", "+14155551234"],
    text="Hello from Telnyx!",
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text

Send a long code message

发送长码短信

Force a long-code sending path instead of the generic send endpoint.
client.messages.send_long_code()
POST /messages/long_code
ParameterTypeRequiredDescription
from_
string (E.164)YesPhone number, in +E.164 format, used to send the message.
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
webhook_failover_url
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
python
response = client.messages.send_long_code(
    from_="+18445550001",
    to="+13125550002",
    text="Hello from Telnyx!",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text
强制使用长码发送路径,而非通用发送接口。
client.messages.send_long_code()
POST /messages/long_code
参数类型必填描述
from_
string (E.164)发送短信使用的电话号码,符合+E.164格式。
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
webhook_failover_url
string (URL)该消息相关的备用回调通知发送地址。
...还有6个可选参数,详见references/api-details.md
python
response = client.messages.send_long_code(
    from_="+18445550001",
    to="+13125550002",
    text="Hello from Telnyx!",
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text

Send a message using number pool

使用号码池发送消息

Let a messaging profile or number pool choose the sender for you.
client.messages.send_number_pool()
POST /messages/number_pool
ParameterTypeRequiredDescription
messaging_profile_id
string (UUID)YesUnique identifier for a messaging profile.
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
webhook_failover_url
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
python
response = client.messages.send_number_pool(
    messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
    to="+13125550002",
    text="Hello from Telnyx!",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text
由消息配置文件或号码池自动选择发信号码。
client.messages.send_number_pool()
POST /messages/number_pool
参数类型必填描述
messaging_profile_id
string (UUID)消息配置文件的唯一标识。
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
webhook_failover_url
string (URL)该消息相关的备用回调通知发送地址。
...还有6个可选参数,详见references/api-details.md
python
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.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text

Send a short code message

发送短码短信

Force a short-code sending path when the sender must be a short code.
client.messages.send_short_code()
POST /messages/short_code
ParameterTypeRequiredDescription
from_
string (E.164)YesPhone number, in +E.164 format, used to send the message.
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
webhook_failover_url
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
python
response = client.messages.send_short_code(
    from_="+18445550001",
    to="+18445550001",
    text="Hello from Telnyx!",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text
当发件人必须是短码时,强制使用短码发送路径。
client.messages.send_short_code()
POST /messages/short_code
参数类型必填描述
from_
string (E.164)发送短信使用的电话号码,符合+E.164格式。
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
webhook_failover_url
string (URL)该消息相关的备用回调通知发送地址。
...还有6个可选参数,详见references/api-details.md
python
response = client.messages.send_short_code(
    from_="+18445550001",
    to="+18445550001",
    text="Hello from Telnyx!",
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text

Schedule a message

定时发送消息

Queue a message for future delivery instead of sending immediately.
client.messages.schedule()
POST /messages/schedule
ParameterTypeRequiredDescription
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
messaging_profile_id
string (UUID)NoUnique identifier for a messaging profile.
media_urls
array[string]NoA list of media URLs.
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
...+8 optional params in references/api-details.md
python
response = client.messages.schedule(
    to="+18445550001",
    from_="+18005550101",
    text="Appointment reminder",
    send_at="2025-07-01T15:00:00Z",
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text
将消息加入队列,在后续指定时间发送,而非立即发送。
client.messages.schedule()
POST /messages/schedule
参数类型必填描述
to
string (E.164)接收方地址(符合+E.164格式的电话号码或短码...
messaging_profile_id
string (UUID)消息配置文件的唯一标识。
media_urls
array[string]媒体资源URL列表。
webhook_url
string (URL)该消息相关的回调通知发送地址。
...还有8个可选参数,详见references/api-details.md
python
response = client.messages.schedule(
    to="+18445550001",
    from_="+18005550101",
    text="Appointment reminder",
    send_at="2025-07-01T15:00:00Z",
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.text

Send a WhatsApp message

发送WhatsApp消息

Send WhatsApp traffic instead of SMS/MMS.
client.messages.send_whatsapp()
POST /messages/whatsapp
ParameterTypeRequiredDescription
from_
string (E.164)YesPhone number in +E.164 format associated with Whatsapp accou...
to
string (E.164)YesPhone number in +E.164 format
whatsapp_message
objectYes
type_
enum (WHATSAPP)NoMessage type - must be set to "WHATSAPP"
webhook_url
string (URL)NoThe URL where webhooks related to this message will be sent.
python
response = client.messages.send_whatsapp(
    from_="+13125551234",
    to="+13125551234",
    whatsapp_message={},
)
print(response.data)
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.body

发送WhatsApp消息而非SMS/MMS。
client.messages.send_whatsapp()
POST /messages/whatsapp
参数类型必填描述
from_
string (E.164)绑定了WhatsApp账号的电话号码,符合+E.164格式。
to
string (E.164)接收方电话号码,符合+E.164格式
whatsapp_message
object
type_
枚举 (WHATSAPP)消息类型 - 必须设置为"WHATSAPP"
webhook_url
string (URL)该消息相关的回调通知发送地址。
python
response = client.messages.send_whatsapp(
    from_="+13125551234",
    to="+13125551234",
    whatsapp_message={},
)
print(response.data)
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.type
  • response.data.direction
  • response.data.body

Additional Operations

其他操作

Use the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use references/api-details.md for full optional params, response schemas, and lower-frequency webhook payloads. Before using any operation below, read the optional-parameters section and the response-schemas section so you do not guess missing fields.
OperationSDK methodEndpointUse whenRequired params
Retrieve a message
client.messages.retrieve()
GET /messages/{id}
Fetch the current state before updating, deleting, or making control-flow decisions.
id
Cancel a scheduled message
client.messages.cancel_scheduled()
DELETE /messages/{id}
Remove, detach, or clean up an existing resource.
id
List alphanumeric sender IDs
client.alphanumeric_sender_ids.list()
GET /alphanumeric_sender_ids
Inspect available resources or choose an existing resource before mutating it.None
Create an alphanumeric sender ID
client.alphanumeric_sender_ids.create()
POST /alphanumeric_sender_ids
Create or provision an additional resource when the core tasks do not cover this flow.
alphanumeric_sender_id
,
messaging_profile_id
Retrieve an alphanumeric sender ID
client.alphanumeric_sender_ids.retrieve()
GET /alphanumeric_sender_ids/{id}
Fetch the current state before updating, deleting, or making control-flow decisions.
id
Delete an alphanumeric sender ID
client.alphanumeric_sender_ids.delete()
DELETE /alphanumeric_sender_ids/{id}
Remove, detach, or clean up an existing resource.
id
Retrieve group MMS messages
client.messages.retrieve_group_messages()
GET /messages/group/{message_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
message_id
List messaging hosted numbers
client.messaging_hosted_numbers.list()
GET /messaging_hosted_numbers
Inspect available resources or choose an existing resource before mutating it.None
Retrieve a messaging hosted number
client.messaging_hosted_numbers.retrieve()
GET /messaging_hosted_numbers/{id}
Fetch the current state before updating, deleting, or making control-flow decisions.
id
Update a messaging hosted number
client.messaging_hosted_numbers.update()
PATCH /messaging_hosted_numbers/{id}
Modify an existing resource without recreating it.
id
List opt-outs
client.messaging_optouts.list()
GET /messaging_optouts
Inspect available resources or choose an existing resource before mutating it.None
List high-level messaging profile metrics
client.messaging_profile_metrics.list()
GET /messaging_profile_metrics
Inspect available resources or choose an existing resource before mutating it.None
Regenerate messaging profile secret
client.messaging_profiles.actions.regenerate_secret()
POST /messaging_profiles/{id}/actions/regenerate_secret
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
id
List alphanumeric sender IDs for a messaging profile
client.messaging_profiles.list_alphanumeric_sender_ids()
GET /messaging_profiles/{id}/alphanumeric_sender_ids
Fetch the current state before updating, deleting, or making control-flow decisions.
id
Get detailed messaging profile metrics
client.messaging_profiles.retrieve_metrics()
GET /messaging_profiles/{id}/metrics
Fetch the current state before updating, deleting, or making control-flow decisions.
id
List Auto-Response Settings
client.messaging_profiles.autoresp_configs.list()
GET /messaging_profiles/{profile_id}/autoresp_configs
Fetch the current state before updating, deleting, or making control-flow decisions.
profile_id
Create auto-response setting
client.messaging_profiles.autoresp_configs.create()
POST /messaging_profiles/{profile_id}/autoresp_configs
Create or provision an additional resource when the core tasks do not cover this flow.
op
,
keywords
,
country_code
,
profile_id
Get Auto-Response Setting
client.messaging_profiles.autoresp_configs.retrieve()
GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
profile_id
,
autoresp_cfg_id
Update Auto-Response Setting
client.messaging_profiles.autoresp_configs.update()
PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Modify an existing resource without recreating it.
op
,
keywords
,
country_code
,
profile_id
, +1 more
Delete Auto-Response Setting
client.messaging_profiles.autoresp_configs.delete()
DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Remove, detach, or clean up an existing resource.
profile_id
,
autoresp_cfg_id
请优先使用上述核心功能。以下操作在此处列出了准确的SDK方法和必填参数,完整的可选参数、响应结构和低频率webhook payload请查看references/api-details.md。 使用以下任何操作前,请先阅读可选参数章节响应结构章节,不要自行猜测缺失的字段。
操作SDK方法接口地址使用场景必填参数
查询单条消息
client.messages.retrieve()
GET /messages/{id}
在更新、删除或做流程控制判断前获取消息当前状态。
id
取消定时发送的消息
client.messages.cancel_scheduled()
DELETE /messages/{id}
删除、解绑或清理已有资源。
id
查询字母数字发件人ID列表
client.alphanumeric_sender_ids.list()
GET /alphanumeric_sender_ids
在修改资源前查看可用资源或选择已有资源。
创建字母数字发件人ID
client.alphanumeric_sender_ids.create()
POST /alphanumeric_sender_ids
当核心功能不覆盖该流程时,创建或开通额外资源。
alphanumeric_sender_id
,
messaging_profile_id
查询单个字母数字发件人ID
client.alphanumeric_sender_ids.retrieve()
GET /alphanumeric_sender_ids/{id}
在更新、删除或做流程控制判断前获取资源当前状态。
id
删除字母数字发件人ID
client.alphanumeric_sender_ids.delete()
DELETE /alphanumeric_sender_ids/{id}
删除、解绑或清理已有资源。
id
查询群组MMS消息
client.messages.retrieve_group_messages()
GET /messages/group/{message_id}
在更新、删除或做流程控制判断前获取资源当前状态。
message_id
查询消息托管号码列表
client.messaging_hosted_numbers.list()
GET /messaging_hosted_numbers
在修改资源前查看可用资源或选择已有资源。
查询单个消息托管号码
client.messaging_hosted_numbers.retrieve()
GET /messaging_hosted_numbers/{id}
在更新、删除或做流程控制判断前获取资源当前状态。
id
更新消息托管号码
client.messaging_hosted_numbers.update()
PATCH /messaging_hosted_numbers/{id}
修改已有资源,无需重新创建。
id
查询退订列表
client.messaging_optouts.list()
GET /messaging_optouts
在修改资源前查看可用资源或选择已有资源。
查询消息配置文件概览指标
client.messaging_profile_metrics.list()
GET /messaging_profile_metrics
在修改资源前查看可用资源或选择已有资源。
重新生成消息配置文件密钥
client.messaging_profiles.actions.regenerate_secret()
POST /messaging_profiles/{id}/actions/regenerate_secret
在现有工作流中触发后续操作,而非创建新的顶层资源。
id
查询消息配置文件绑定的字母数字发件人ID列表
client.messaging_profiles.list_alphanumeric_sender_ids()
GET /messaging_profiles/{id}/alphanumeric_sender_ids
在更新、删除或做流程控制判断前获取资源当前状态。
id
获取消息配置文件详细指标
client.messaging_profiles.retrieve_metrics()
GET /messaging_profiles/{id}/metrics
在更新、删除或做流程控制判断前获取资源当前状态。
id
查询自动回复配置列表
client.messaging_profiles.autoresp_configs.list()
GET /messaging_profiles/{profile_id}/autoresp_configs
在更新、删除或做流程控制判断前获取资源当前状态。
profile_id
创建自动回复配置
client.messaging_profiles.autoresp_configs.create()
POST /messaging_profiles/{profile_id}/autoresp_configs
当核心功能不覆盖该流程时,创建或开通额外资源。
op
,
keywords
,
country_code
,
profile_id
查询单个自动回复配置
client.messaging_profiles.autoresp_configs.retrieve()
GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
在更新、删除或做流程控制判断前获取资源当前状态。
profile_id
,
autoresp_cfg_id
更新自动回复配置
client.messaging_profiles.autoresp_configs.update()
PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
修改已有资源,无需重新创建。
op
,
keywords
,
country_code
,
profile_id
, +1个其他参数
删除自动回复配置
client.messaging_profiles.autoresp_configs.delete()
DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
删除、解绑或清理已有资源。
profile_id
,
autoresp_cfg_id

Other Webhook Events

其他Webhook事件

Event
data.event_type
Description
replacedLinkClick
message.link_click
Replaced Link Click

For exhaustive optional parameters, full response schemas, and complete webhook payloads, see references/api-details.md.
事件
data.event_type
描述
replacedLinkClick
message.link_click
替换链接点击事件

完整的可选参数、全部响应结构和完整的webhook payload请查看references/api-details.md