telnyx-messaging-profiles-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 Profiles - 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"),  # This is the default and can be omitted
)
下方所有示例均假设
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:
    result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    # 429: rate limited — wait and retry with exponential backoff
    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:
    result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    # 429: rate limited — wait and retry with exponential backoff
    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")
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源不存在,
422
校验错误(检查字段格式),
429
触发速率限制(使用指数退避策略重试)。

Important Notes

重要说明

  • Pagination: List methods return an auto-paginating iterator. Use
    for item in page_result:
    to iterate through all pages automatically.
  • 分页: 列表方法返回自动分页迭代器,使用
    for item in page_result:
    即可自动遍历所有分页内容。

List messaging profiles

获取消息配置文件列表

GET /messaging_profiles
python
page = client.messaging_profiles.list()
page = page.data[0]
print(page.id)
Returns:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
organization_id
(string),
record_type
(enum: messaging_profile),
redaction_enabled
(boolean),
redaction_level
(integer),
resource_group_id
(string | null),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
GET /messaging_profiles
python
page = client.messaging_profiles.list()
page = page.data[0]
print(page.id)
返回参数:
ai_assistant_id
(字符串 | 空),
alpha_sender
(字符串 | 空),
created_at
(日期时间),
daily_spend_limit
(字符串),
daily_spend_limit_enabled
(布尔值),
enabled
(布尔值),
health_webhook_url
(URL),
id
(UUID),
mms_fall_back_to_sms
(布尔值),
mms_transcoding
(布尔值),
mobile_only
(布尔值),
name
(字符串),
number_pool_settings
(对象 | 空),
organization_id
(字符串),
record_type
(枚举值:messaging_profile),
redaction_enabled
(布尔值),
redaction_level
(整数),
resource_group_id
(字符串 | 空),
smart_encoding
(布尔值),
updated_at
(日期时间),
url_shortener_settings
(对象 | 空),
v1_secret
(字符串),
webhook_api_version
(枚举值:1、2、2010-04-01),
webhook_failover_url
(URL),
webhook_url
(URL),
whitelisted_destinations
(字符串数组)

Create a messaging profile

创建消息配置文件

POST /messaging_profiles
— Required:
name
,
whitelisted_destinations
Optional:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
number_pool_settings
(object | null),
resource_group_id
(string | null),
smart_encoding
(boolean),
url_shortener_settings
(object | null),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url)
python
messaging_profile = client.messaging_profiles.create(
    name="My name",
    whitelisted_destinations=["US"],
)
print(messaging_profile.data)
Returns:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
organization_id
(string),
record_type
(enum: messaging_profile),
redaction_enabled
(boolean),
redaction_level
(integer),
resource_group_id
(string | null),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
POST /messaging_profiles
— 必填参数:
name
whitelisted_destinations
可选参数:
ai_assistant_id
(字符串 | 空),
alpha_sender
(字符串 | 空),
daily_spend_limit
(字符串),
daily_spend_limit_enabled
(布尔值),
enabled
(布尔值),
health_webhook_url
(URL),
mms_fall_back_to_sms
(布尔值),
mms_transcoding
(布尔值),
mobile_only
(布尔值),
number_pool_settings
(对象 | 空),
resource_group_id
(字符串 | 空),
smart_encoding
(布尔值),
url_shortener_settings
(对象 | 空),
webhook_api_version
(枚举值:1、2、2010-04-01),
webhook_failover_url
(URL),
webhook_url
(URL)
python
messaging_profile = client.messaging_profiles.create(
    name="My name",
    whitelisted_destinations=["US"],
)
print(messaging_profile.data)
返回参数同获取消息配置文件列表接口返回参数。

Retrieve a messaging profile

查询单个消息配置文件

GET /messaging_profiles/{id}
python
messaging_profile = client.messaging_profiles.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
Returns:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
organization_id
(string),
record_type
(enum: messaging_profile),
redaction_enabled
(boolean),
redaction_level
(integer),
resource_group_id
(string | null),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
GET /messaging_profiles/{id}
python
messaging_profile = client.messaging_profiles.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
返回参数同获取消息配置文件列表接口返回参数。

Update a messaging profile

更新消息配置文件

PATCH /messaging_profiles/{id}
Optional:
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
record_type
(enum: messaging_profile),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
python
messaging_profile = client.messaging_profiles.update(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
Returns:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
organization_id
(string),
record_type
(enum: messaging_profile),
redaction_enabled
(boolean),
redaction_level
(integer),
resource_group_id
(string | null),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
PATCH /messaging_profiles/{id}
可选参数:
alpha_sender
(字符串 | 空),
created_at
(日期时间),
daily_spend_limit
(字符串),
daily_spend_limit_enabled
(布尔值),
enabled
(布尔值),
id
(UUID),
mms_fall_back_to_sms
(布尔值),
mms_transcoding
(布尔值),
mobile_only
(布尔值),
name
(字符串),
number_pool_settings
(对象 | 空),
record_type
(枚举值:messaging_profile),
smart_encoding
(布尔值),
updated_at
(日期时间),
url_shortener_settings
(对象 | 空),
v1_secret
(字符串),
webhook_api_version
(枚举值:1、2、2010-04-01),
webhook_failover_url
(URL),
webhook_url
(URL),
whitelisted_destinations
(字符串数组)
python
messaging_profile = client.messaging_profiles.update(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
返回参数同获取消息配置文件列表接口返回参数。

Delete a messaging profile

删除消息配置文件

DELETE /messaging_profiles/{id}
python
messaging_profile = client.messaging_profiles.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
Returns:
ai_assistant_id
(string | null),
alpha_sender
(string | null),
created_at
(date-time),
daily_spend_limit
(string),
daily_spend_limit_enabled
(boolean),
enabled
(boolean),
health_webhook_url
(url),
id
(uuid),
mms_fall_back_to_sms
(boolean),
mms_transcoding
(boolean),
mobile_only
(boolean),
name
(string),
number_pool_settings
(object | null),
organization_id
(string),
record_type
(enum: messaging_profile),
redaction_enabled
(boolean),
redaction_level
(integer),
resource_group_id
(string | null),
smart_encoding
(boolean),
updated_at
(date-time),
url_shortener_settings
(object | null),
v1_secret
(string),
webhook_api_version
(enum: 1, 2, 2010-04-01),
webhook_failover_url
(url),
webhook_url
(url),
whitelisted_destinations
(array[string])
DELETE /messaging_profiles/{id}
python
messaging_profile = client.messaging_profiles.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)
返回参数同获取消息配置文件列表接口返回参数。

List phone numbers associated with a messaging profile

获取关联到消息配置文件的手机号码列表

GET /messaging_profiles/{id}/phone_numbers
python
page = client.messaging_profiles.list_phone_numbers(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.id)
Returns:
country_code
(string),
created_at
(date-time),
eligible_messaging_products
(array[string]),
features
(object),
health
(object),
id
(string),
messaging_product
(string),
messaging_profile_id
(string | null),
organization_id
(string),
phone_number
(string),
record_type
(enum: messaging_phone_number, messaging_settings),
tags
(array[string]),
traffic_type
(string),
type
(enum: long-code, toll-free, short-code, longcode, tollfree, shortcode),
updated_at
(date-time)
GET /messaging_profiles/{id}/phone_numbers
python
page = client.messaging_profiles.list_phone_numbers(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.id)
返回参数:
country_code
(字符串),
created_at
(日期时间),
eligible_messaging_products
(字符串数组),
features
(对象),
health
(对象),
id
(字符串),
messaging_product
(字符串),
messaging_profile_id
(字符串 | 空),
organization_id
(字符串),
phone_number
(字符串),
record_type
(枚举值:messaging_phone_number、messaging_settings),
tags
(字符串数组),
traffic_type
(字符串),
type
(枚举值:long-code、toll-free、short-code、longcode、tollfree、shortcode),
updated_at
(日期时间)

List short codes associated with a messaging profile

获取关联到消息配置文件的短代码列表

GET /messaging_profiles/{id}/short_codes
python
page = client.messaging_profiles.list_short_codes(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.messaging_profile_id)
Returns:
country_code
(string),
created_at
(date-time),
id
(uuid),
messaging_profile_id
(string | null),
record_type
(enum: short_code),
short_code
(string),
tags
(array),
updated_at
(date-time)
GET /messaging_profiles/{id}/short_codes
python
page = client.messaging_profiles.list_short_codes(
    messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.messaging_profile_id)
返回参数:
country_code
(字符串),
created_at
(日期时间),
id
(UUID),
messaging_profile_id
(字符串 | 空),
record_type
(枚举值:short_code),
short_code
(字符串),
tags
(数组),
updated_at
(日期时间)

List short codes

获取短代码列表

GET /short_codes
python
page = client.short_codes.list()
page = page.data[0]
print(page.messaging_profile_id)
Returns:
country_code
(string),
created_at
(date-time),
id
(uuid),
messaging_profile_id
(string | null),
record_type
(enum: short_code),
short_code
(string),
tags
(array),
updated_at
(date-time)
GET /short_codes
python
page = client.short_codes.list()
page = page.data[0]
print(page.messaging_profile_id)
返回参数同获取关联到消息配置文件的短代码列表接口返回参数。

Retrieve a short code

查询单个短代码

GET /short_codes/{id}
python
short_code = client.short_codes.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(short_code.data)
Returns:
country_code
(string),
created_at
(date-time),
id
(uuid),
messaging_profile_id
(string | null),
record_type
(enum: short_code),
short_code
(string),
tags
(array),
updated_at
(date-time)
GET /short_codes/{id}
python
short_code = client.short_codes.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(short_code.data)
返回参数同获取关联到消息配置文件的短代码列表接口返回参数。

Update short code

更新短代码

Update the settings for a specific short code. To unbind a short code from a profile, set the
messaging_profile_id
to
null
or an empty string. To add or update tags, include the tags field as an array of strings.
PATCH /short_codes/{id}
— Required:
messaging_profile_id
Optional:
tags
(array)
python
short_code = client.short_codes.update(
    id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
)
print(short_code.data)
Returns:
country_code
(string),
created_at
(date-time),
id
(uuid),
messaging_profile_id
(string | null),
record_type
(enum: short_code),
short_code
(string),
tags
(array),
updated_at
(date-time)
更新指定短代码的配置。如需将短代码从配置文件解绑,将
messaging_profile_id
设置为
null
或空字符串即可。如需新增或更新标签,传入字符串数组格式的tags字段即可。
PATCH /short_codes/{id}
— 必填参数:
messaging_profile_id
可选参数:
tags
(数组)
python
short_code = client.short_codes.update(
    id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
)
print(short_code.data)
返回参数同获取关联到消息配置文件的短代码列表接口返回参数。