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 telnyxbash
pip install telnyxSetup
配置
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 is already initialized as shown above.
clientpython
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)下方所有示例均假设已按照上述方式完成初始化。
clientError 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: invalid API key, insufficient permissions,
resource not found, validation error (check field formats),
rate limited (retry with exponential backoff).
401403404422429所有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")常见错误码: API密钥无效, 权限不足, 资源不存在, 校验错误(检查字段格式), 触发速率限制(使用指数退避策略重试)。
401403404422429Important Notes
重要说明
- Pagination: List methods return an auto-paginating iterator. Use to iterate through all pages automatically.
for item in page_result:
- 分页: 列表方法返回自动分页迭代器,使用即可自动遍历所有分页内容。
for item in page_result:
List messaging profiles
获取消息配置文件列表
GET /messaging_profilespython
page = client.messaging_profiles.list()
page = page.data[0]
print(page.id)Returns: (string | null), (string | null), (date-time), (string), (boolean), (boolean), (url), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (string), (enum: messaging_profile), (boolean), (integer), (string | null), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsGET /messaging_profilespython
page = client.messaging_profiles.list()
page = page.data[0]
print(page.id)返回参数:(字符串 | 空),(字符串 | 空),(日期时间),(字符串),(布尔值),(布尔值),(URL),(UUID),(布尔值),(布尔值),(布尔值),(字符串),(对象 | 空),(字符串),(枚举值:messaging_profile),(布尔值),(整数),(字符串 | 空),(布尔值),(日期时间),(对象 | 空),(字符串),(枚举值:1、2、2010-04-01),(URL),(URL),(字符串数组)
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsCreate a messaging profile
创建消息配置文件
POST /messaging_profilesnamewhitelisted_destinationsOptional: (string | null), (string | null), (string), (boolean), (boolean), (url), (boolean), (boolean), (boolean), (object | null), (string | null), (boolean), (object | null), (enum: 1, 2, 2010-04-01), (url), (url)
ai_assistant_idalpha_senderdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlmms_fall_back_to_smsmms_transcodingmobile_onlynumber_pool_settingsresource_group_idsmart_encodingurl_shortener_settingswebhook_api_versionwebhook_failover_urlwebhook_urlpython
messaging_profile = client.messaging_profiles.create(
name="My name",
whitelisted_destinations=["US"],
)
print(messaging_profile.data)Returns: (string | null), (string | null), (date-time), (string), (boolean), (boolean), (url), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (string), (enum: messaging_profile), (boolean), (integer), (string | null), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsPOST /messaging_profilesnamewhitelisted_destinations可选参数:(字符串 | 空),(字符串 | 空),(字符串),(布尔值),(布尔值),(URL),(布尔值),(布尔值),(布尔值),(对象 | 空),(字符串 | 空),(布尔值),(对象 | 空),(枚举值:1、2、2010-04-01),(URL),(URL)
ai_assistant_idalpha_senderdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlmms_fall_back_to_smsmms_transcodingmobile_onlynumber_pool_settingsresource_group_idsmart_encodingurl_shortener_settingswebhook_api_versionwebhook_failover_urlwebhook_urlpython
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: (string | null), (string | null), (date-time), (string), (boolean), (boolean), (url), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (string), (enum: messaging_profile), (boolean), (integer), (string | null), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsGET /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: (string | null), (date-time), (string), (boolean), (boolean), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (enum: messaging_profile), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
alpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsrecord_typesmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationspython
messaging_profile = client.messaging_profiles.update(
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(messaging_profile.data)Returns: (string | null), (string | null), (date-time), (string), (boolean), (boolean), (url), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (string), (enum: messaging_profile), (boolean), (integer), (string | null), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsPATCH /messaging_profiles/{id}可选参数:(字符串 | 空),(日期时间),(字符串),(布尔值),(布尔值),(UUID),(布尔值),(布尔值),(布尔值),(字符串),(对象 | 空),(枚举值:messaging_profile),(布尔值),(日期时间),(对象 | 空),(字符串),(枚举值:1、2、2010-04-01),(URL),(URL),(字符串数组)
alpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsrecord_typesmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationspython
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: (string | null), (string | null), (date-time), (string), (boolean), (boolean), (url), (uuid), (boolean), (boolean), (boolean), (string), (object | null), (string), (enum: messaging_profile), (boolean), (integer), (string | null), (boolean), (date-time), (object | null), (string), (enum: 1, 2, 2010-04-01), (url), (url), (array[string])
ai_assistant_idalpha_sendercreated_atdaily_spend_limitdaily_spend_limit_enabledenabledhealth_webhook_urlidmms_fall_back_to_smsmms_transcodingmobile_onlynamenumber_pool_settingsorganization_idrecord_typeredaction_enabledredaction_levelresource_group_idsmart_encodingupdated_aturl_shortener_settingsv1_secretwebhook_api_versionwebhook_failover_urlwebhook_urlwhitelisted_destinationsDELETE /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_numberspython
page = client.messaging_profiles.list_phone_numbers(
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.id)Returns: (string), (date-time), (array[string]), (object), (object), (string), (string), (string | null), (string), (string), (enum: messaging_phone_number, messaging_settings), (array[string]), (string), (enum: long-code, toll-free, short-code, longcode, tollfree, shortcode), (date-time)
country_codecreated_ateligible_messaging_productsfeatureshealthidmessaging_productmessaging_profile_idorganization_idphone_numberrecord_typetagstraffic_typetypeupdated_atGET /messaging_profiles/{id}/phone_numberspython
page = client.messaging_profiles.list_phone_numbers(
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.id)返回参数:(字符串),(日期时间),(字符串数组),(对象),(对象),(字符串),(字符串),(字符串 | 空),(字符串),(字符串),(枚举值:messaging_phone_number、messaging_settings),(字符串数组),(字符串),(枚举值:long-code、toll-free、short-code、longcode、tollfree、shortcode),(日期时间)
country_codecreated_ateligible_messaging_productsfeatureshealthidmessaging_productmessaging_profile_idorganization_idphone_numberrecord_typetagstraffic_typetypeupdated_atList short codes associated with a messaging profile
获取关联到消息配置文件的短代码列表
GET /messaging_profiles/{id}/short_codespython
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: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atGET /messaging_profiles/{id}/short_codespython
page = client.messaging_profiles.list_short_codes(
messaging_profile_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.messaging_profile_id)返回参数:(字符串),(日期时间),(UUID),(字符串 | 空),(枚举值:short_code),(字符串),(数组),(日期时间)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atList short codes
获取短代码列表
GET /short_codespython
page = client.short_codes.list()
page = page.data[0]
print(page.messaging_profile_id)Returns: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atGET /short_codespython
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: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atGET /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 to or an empty string. To add or update tags, include the tags field as an array of strings.
messaging_profile_idnullPATCH /short_codes/{id}messaging_profile_idOptional: (array)
tagspython
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: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_at更新指定短代码的配置。如需将短代码从配置文件解绑,将设置为或空字符串即可。如需新增或更新标签,传入字符串数组格式的tags字段即可。
messaging_profile_idnullPATCH /short_codes/{id}messaging_profile_id可选参数:(数组)
tagspython
short_code = client.short_codes.update(
id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
messaging_profile_id="abc85f64-5717-4562-b3fc-2c9600000000",
)
print(short_code.data)返回参数同获取关联到消息配置文件的短代码列表接口返回参数。