telnyx-messaging-profiles-javascript
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 - JavaScript
Telnyx 消息配置文件 - JavaScript
Installation
安装
bash
npm install telnyxbash
npm install telnyxSetup
配置
javascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});All examples below assume is already initialized as shown above.
clientjavascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['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:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('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)失败。在生产代码中请务必处理错误:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('网络错误 — 检查网络连接后重试');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: 触发限流 — 等待后使用指数退避策略重试
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API错误 ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('校验错误 — 检查必填字段和格式');
}
}
}常见错误码: 无效API密钥, 权限不足, 资源不存在, 校验错误(检查字段格式), 触发限流(使用指数退避策略重试)。
401403404422429Important Notes
重要说明
- Pagination: List methods return an auto-paginating iterator. Use to iterate through all pages automatically.
for await (const item of result) { ... }
- 分页: 列表方法返回支持自动分页的迭代器。使用即可自动遍历所有分页内容。
for await (const item of result) { ... }
List messaging profiles
查询消息配置文件列表
GET /messaging_profilesjavascript
// Automatically fetches more pages as needed.
for await (const messagingProfile of client.messagingProfiles.list()) {
console.log(messagingProfile.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_profilesjavascript
// 按需自动拉取更多分页内容
for await (const messagingProfile of client.messagingProfiles.list()) {
console.log(messagingProfile.id);
}返回参数: (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_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_urljavascript
const messagingProfile = await client.messagingProfiles.create({
name: 'My name',
whitelisted_destinations: ['US'],
});
console.log(messagingProfile.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可选参数: (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_urljavascript
const messagingProfile = await client.messagingProfiles.create({
name: 'My name',
whitelisted_destinations: ['US'],
});
console.log(messagingProfile.data);返回参数: (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_destinationsRetrieve a messaging profile
获取单个消息配置文件
GET /messaging_profiles/{id}javascript
const messagingProfile = await client.messagingProfiles.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.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}javascript
const messagingProfile = await client.messagingProfiles.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.data);返回参数: (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_destinationsUpdate 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_destinationsjavascript
const messagingProfile = await client.messagingProfiles.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.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}可选参数: (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_destinationsjavascript
const messagingProfile = await client.messagingProfiles.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.data);返回参数: (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 a messaging profile
删除消息配置文件
DELETE /messaging_profiles/{id}javascript
const messagingProfile = await client.messagingProfiles.delete(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.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}javascript
const messagingProfile = await client.messagingProfiles.delete(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(messagingProfile.data);返回参数: (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_destinationsList phone numbers associated with a messaging profile
查询消息配置文件关联的手机号列表
GET /messaging_profiles/{id}/phone_numbersjavascript
// Automatically fetches more pages as needed.
for await (const phoneNumberWithMessagingSettings of client.messagingProfiles.listPhoneNumbers(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
console.log(phoneNumberWithMessagingSettings.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_numbersjavascript
// 按需自动拉取更多分页内容
for await (const phoneNumberWithMessagingSettings of client.messagingProfiles.listPhoneNumbers(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
console.log(phoneNumberWithMessagingSettings.id);
}返回参数: (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_atList short codes associated with a messaging profile
查询消息配置文件关联的短代码列表
GET /messaging_profiles/{id}/short_codesjavascript
// Automatically fetches more pages as needed.
for await (const shortCode of client.messagingProfiles.listShortCodes(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
console.log(shortCode.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_codesjavascript
// 按需自动拉取更多分页内容
for await (const shortCode of client.messagingProfiles.listShortCodes(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
console.log(shortCode.messaging_profile_id);
}返回参数: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atList short codes
查询短代码列表
GET /short_codesjavascript
// Automatically fetches more pages as needed.
for await (const shortCode of client.shortCodes.list()) {
console.log(shortCode.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_codesjavascript
// 按需自动拉取更多分页内容
for await (const shortCode of client.shortCodes.list()) {
console.log(shortCode.messaging_profile_id);
}返回参数: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atRetrieve a short code
获取单个短代码
GET /short_codes/{id}javascript
const shortCode = await client.shortCodes.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(shortCode.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}javascript
const shortCode = await client.shortCodes.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(shortCode.data);返回参数: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_atUpdate 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)
tagsjavascript
const shortCode = await client.shortCodes.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
messaging_profile_id: 'abc85f64-5717-4562-b3fc-2c9600000000',
});
console.log(shortCode.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可选参数: (array)
tagsjavascript
const shortCode = await client.shortCodes.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
messaging_profile_id: 'abc85f64-5717-4562-b3fc-2c9600000000',
});
console.log(shortCode.data);返回参数: (string), (date-time), (uuid), (string | null), (enum: short_code), (string), (array), (date-time)
country_codecreated_atidmessaging_profile_idrecord_typeshort_codetagsupdated_at