telnyx-messaging-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 - JavaScript

Telnyx 消息服务 - JavaScript

Installation

安装

bash
npm install telnyx
bash
npm install telnyx

Setup

配置

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
client
is already initialized as shown above.
javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['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:
javascript
try {
  const response = await client.messages.send({
      to: '+18445550001',
      from: '+18005550101',
      text: 'Hello from Telnyx!',
  });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('Network error — check connectivity and retry');
  } else if (err instanceof Telnyx.RateLimitError) {
    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:
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)失败。生产环境代码中请务必做好错误处理:
javascript
try {
  const response = await client.messages.send({
      to: '+18445550001',
      from: '+18005550101',
      text: 'Hello from Telnyx!',
  });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('Network error — check connectivity and retry');
  } else if (err instanceof Telnyx.RateLimitError) {
    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');
    }
  }
}
常见错误码:
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 await (const item of result) { ... }
    to iterate through all pages automatically.
  • 电话号码必须使用E.164格式(例如:
    +13125550001
    ),需包含
    +
    前缀和国家代码,不能有空格、短横线或括号。
  • 分页: 列表类方法返回支持自动分页的迭代器,可使用
    for await (const item of 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负载参考

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.
messagingProfileId
string (UUID)NoUnique identifier for a messaging profile.
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
...+7 optional params in references/api-details.md
javascript
const response = await client.messages.send({
    to: '+18445550001',
    from: '+18005550101',
    text: 'Hello from Telnyx!',
});

console.log(response.data);
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sentAt
  • response.data.errors
核心外发消息流程,Agent需要使用准确的请求字段和投递相关的响应字段。
client.messages.send()
POST /messages
参数类型必填描述
to
string (E.164)接收方地址(E.164格式的电话号码或短码)
from
string (E.164)发送方地址(E.164格式的电话号码、字母数字ID等)
text
string非空的消息正文内容
messagingProfileId
string (UUID)消息配置文件的唯一标识符
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
...其余7个可选参数见references/api-details.md
javascript
const response = await client.messages.send({
    to: '+18445550001',
    from: '+18005550101',
    text: 'Hello from Telnyx!',
});

console.log(response.data);
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sentAt
  • response.data.errors

Send an SMS with an alphanumeric sender ID

使用字母数字发送方ID发送SMS

Common sender variant that requires different request shape.
client.messages.sendWithAlphanumericSender()
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.
messagingProfileId
string (UUID)YesThe messaging profile ID to use.
webhookUrl
string (URL)NoCallback URL for delivery status updates.
webhookFailoverUrl
string (URL)NoFailover callback URL for delivery status updates.
useProfileWebhooks
booleanNoIf true, use the messaging profile's webhook settings.
javascript
const response = await client.messages.sendWithAlphanumericSender({
  from: 'MyCompany',
  messaging_profile_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  text: 'Hello from Telnyx!',
  to: '+13125550001',
});

console.log(response.data);
Primary response fields:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sentAt
  • response.data.errors

常见的发送方变体,需要使用不同的请求结构。
client.messages.sendWithAlphanumericSender()
POST /messages/alphanumeric_sender_id
参数类型必填描述
from
string (E.164)用户账号下有效的字母数字发送方ID
to
string (E.164)接收方地址(E.164格式的电话号码或短码)
text
string消息正文
messagingProfileId
string (UUID)要使用的消息配置文件ID
webhookUrl
string (URL)投递状态更新的回调地址
webhookFailoverUrl
string (URL)投递状态更新的备用回调地址
useProfileWebhooks
boolean若为true,将使用消息配置文件的webhook设置
javascript
const response = await client.messages.sendWithAlphanumericSender({
  from: 'MyCompany',
  messaging_profile_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  text: 'Hello from Telnyx!',
  to: '+13125550001',
});

console.log(response.data);
主要响应字段:
  • response.data.id
  • response.data.to
  • response.data.from
  • response.data.text
  • response.data.sentAt
  • 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:
javascript
// In your webhook handler (e.g., Express — use raw body, not parsed JSON):
app.post('/webhooks', express.raw({ type: 'application/json' }), async (req, res) => {
  try {
    const event = await client.webhooks.unwrap(req.body.toString(), {
      headers: req.headers,
    });
    // Signature valid — event is the parsed webhook payload
    console.log('Received event:', event.data.event_type);
    res.status(200).send('OK');
  } catch (err) {
    console.error('Webhook verification failed:', err.message);
    res.status(400).send('Invalid signature');
  }
});
Telnyx使用Ed25519对webhook进行签名,每个请求都包含
telnyx-signature-ed25519
telnyx-timestamp
请求头,生产环境请务必校验签名:
javascript
// In your webhook handler (e.g., Express — use raw body, not parsed JSON):
app.post('/webhooks', express.raw({ type: 'application/json' }), async (req, res) => {
  try {
    const event = await client.webhooks.unwrap(req.body.toString(), {
      headers: req.headers,
    });
    // Signature valid — event is the parsed webhook payload
    console.log('Received event:', event.data.event_type);
    res.status(200).send('OK');
  } catch (err) {
    console.error('Webhook verification failed:', err.message);
    res.status(400).send('Invalid signature');
  }
});

Webhooks

Webhook

These webhook payload fields are inline because they are part of the primary integration path.
以下webhook负载字段属于核心集成路径的内容,因此在本文档中直接列出。

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负载参考

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.sendGroupMms()
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.
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
webhookFailoverUrl
string (URL)NoThe failover URL where webhooks related to this message will...
...+3 optional params in references/api-details.md
javascript
const response = await client.messages.sendGroupMms({
  from: '+13125551234',
  to: ['+18655551234', '+14155551234'],
    text: 'Hello from Telnyx!',
});

console.log(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.sendGroupMms()
POST /messages/group_mms
参数类型必填描述
from
string (E.164)发送消息使用的E.164格式电话号码
to
array[object]接收方列表
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
webhookFailoverUrl
string (URL)接收该消息相关webhook的备用回调地址
...其余3个可选参数见references/api-details.md
javascript
const response = await client.messages.sendGroupMms({
  from: '+13125551234',
  to: ['+18655551234', '+14155551234'],
    text: 'Hello from Telnyx!',
});

console.log(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.sendLongCode()
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...
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
webhookFailoverUrl
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
javascript
const response = await client.messages.sendLongCode({
    from: '+18445550001', to: '+13125550002',
    text: 'Hello from Telnyx!',
});

console.log(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.sendLongCode()
POST /messages/long_code
参数类型必填描述
from
string (E.164)发送消息使用的E.164格式电话号码
to
string (E.164)接收方地址(E.164格式的电话号码或短码)
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
webhookFailoverUrl
string (URL)接收该消息相关webhook的备用回调地址
...其余6个可选参数见references/api-details.md
javascript
const response = await client.messages.sendLongCode({
    from: '+18445550001', to: '+13125550002',
    text: 'Hello from Telnyx!',
});

console.log(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.sendNumberPool()
POST /messages/number_pool
ParameterTypeRequiredDescription
messagingProfileId
string (UUID)YesUnique identifier for a messaging profile.
to
string (E.164)YesReceiving address (+E.164 formatted phone number or short co...
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
webhookFailoverUrl
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
javascript
const response = await client.messages.sendNumberPool({
  messaging_profile_id: 'abc85f64-5717-4562-b3fc-2c9600000000',
  to: '+13125550002',
    text: 'Hello from Telnyx!',
});

console.log(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.sendNumberPool()
POST /messages/number_pool
参数类型必填描述
messagingProfileId
string (UUID)消息配置文件的唯一标识符
to
string (E.164)接收方地址(E.164格式的电话号码或短码)
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
webhookFailoverUrl
string (URL)接收该消息相关webhook的备用回调地址
...其余6个可选参数见references/api-details.md
javascript
const response = await client.messages.sendNumberPool({
  messaging_profile_id: 'abc85f64-5717-4562-b3fc-2c9600000000',
  to: '+13125550002',
    text: 'Hello from Telnyx!',
});

console.log(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.sendShortCode()
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...
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
webhookFailoverUrl
string (URL)NoThe failover URL where webhooks related to this message will...
...+6 optional params in references/api-details.md
javascript
const response = await client.messages.sendShortCode({
    from: '+18445550001', to: '+18445550001',
    text: 'Hello from Telnyx!',
});

console.log(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.sendShortCode()
POST /messages/short_code
参数类型必填描述
from
string (E.164)发送消息使用的E.164格式短码
to
string (E.164)接收方地址(E.164格式的电话号码或短码)
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
webhookFailoverUrl
string (URL)接收该消息相关webhook的备用回调地址
...其余6个可选参数见references/api-details.md
javascript
const response = await client.messages.sendShortCode({
    from: '+18445550001', to: '+18445550001',
    text: 'Hello from Telnyx!',
});

console.log(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...
messagingProfileId
string (UUID)NoUnique identifier for a messaging profile.
mediaUrls
array[string]NoA list of media URLs.
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
...+8 optional params in references/api-details.md
javascript
const response = await client.messages.schedule({
    to: '+18445550001',
    from: '+18005550101',
    text: 'Appointment reminder',
    sendAt: '2025-07-01T15:00:00Z',
});

console.log(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格式的电话号码或短码)
messagingProfileId
string (UUID)消息配置文件的唯一标识符
mediaUrls
array[string]媒体资源URL列表
webhookUrl
string (URL)接收该消息相关webhook的回调地址
...其余8个可选参数见references/api-details.md
javascript
const response = await client.messages.schedule({
    to: '+18445550001',
    from: '+18005550101',
    text: 'Appointment reminder',
    sendAt: '2025-07-01T15:00:00Z',
});

console.log(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.sendWhatsapp()
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
whatsappMessage
objectYes
type
enum (WHATSAPP)NoMessage type - must be set to "WHATSAPP"
webhookUrl
string (URL)NoThe URL where webhooks related to this message will be sent.
javascript
const response = await client.messages.sendWhatsapp({
  from: '+13125551234',
  to: '+13125551234',
  whatsapp_message: {},
});

console.log(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.sendWhatsapp()
POST /messages/whatsapp
参数类型必填描述
from
string (E.164)绑定了WhatsApp账号的E.164格式电话号码
to
string (E.164)接收方E.164格式电话号码
whatsappMessage
objectWhatsApp消息内容
type
枚举 (WHATSAPP)消息类型 - 必须设置为"WHATSAPP"
webhookUrl
string (URL)接收该消息相关webhook的回调地址
javascript
const response = await client.messages.sendWhatsapp({
  from: '+13125551234',
  to: '+13125551234',
  whatsapp_message: {},
});

console.log(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.cancelScheduled()
DELETE /messages/{id}
Remove, detach, or clean up an existing resource.
id
List alphanumeric sender IDs
client.alphanumericSenderIDs.list()
GET /alphanumeric_sender_ids
Inspect available resources or choose an existing resource before mutating it.None
Create an alphanumeric sender ID
client.alphanumericSenderIDs.create()
POST /alphanumeric_sender_ids
Create or provision an additional resource when the core tasks do not cover this flow.
alphanumericSenderId
,
messagingProfileId
Retrieve an alphanumeric sender ID
client.alphanumericSenderIDs.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.alphanumericSenderIDs.delete()
DELETE /alphanumeric_sender_ids/{id}
Remove, detach, or clean up an existing resource.
id
Retrieve group MMS messages
client.messages.retrieveGroupMessages()
GET /messages/group/{message_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
messageId
List messaging hosted numbers
client.messagingHostedNumbers.list()
GET /messaging_hosted_numbers
Inspect available resources or choose an existing resource before mutating it.None
Retrieve a messaging hosted number
client.messagingHostedNumbers.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.messagingHostedNumbers.update()
PATCH /messaging_hosted_numbers/{id}
Modify an existing resource without recreating it.
id
List opt-outs
client.messagingOptouts.list()
GET /messaging_optouts
Inspect available resources or choose an existing resource before mutating it.None
List high-level messaging profile metrics
client.messagingProfileMetrics.list()
GET /messaging_profile_metrics
Inspect available resources or choose an existing resource before mutating it.None
Regenerate messaging profile secret
client.messagingProfiles.actions.regenerateSecret()
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.messagingProfiles.listAlphanumericSenderIDs()
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.messagingProfiles.retrieveMetrics()
GET /messaging_profiles/{id}/metrics
Fetch the current state before updating, deleting, or making control-flow decisions.
id
List Auto-Response Settings
client.messagingProfiles.autorespConfigs.list()
GET /messaging_profiles/{profile_id}/autoresp_configs
Fetch the current state before updating, deleting, or making control-flow decisions.
profileId
Create auto-response setting
client.messagingProfiles.autorespConfigs.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
,
countryCode
,
profileId
Get Auto-Response Setting
client.messagingProfiles.autorespConfigs.retrieve()
GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
profileId
,
autorespCfgId
Update Auto-Response Setting
client.messagingProfiles.autorespConfigs.update()
PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Modify an existing resource without recreating it.
op
,
keywords
,
countryCode
,
profileId
, +1 more
Delete Auto-Response Setting
client.messagingProfiles.autorespConfigs.delete()
DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
Remove, detach, or clean up an existing resource.
profileId
,
autorespCfgId
请优先使用上方的核心功能,下方的操作仅列出了准确的SDK方法和必填参数;完整的可选参数、响应结构和低频webhook负载请查阅references/api-details.md。 使用下方任意操作前,请先查阅可选参数章节响应结构章节,请勿猜测缺失的字段。
操作SDK方法端点使用场景必填参数
查询消息
client.messages.retrieve()
GET /messages/{id}
在更新、删除消息或进行控制流决策前获取资源当前状态
id
取消定时消息
client.messages.cancelScheduled()
DELETE /messages/{id}
移除、解绑或清理现有资源
id
查询字母数字发送方ID列表
client.alphanumericSenderIDs.list()
GET /alphanumeric_sender_ids
在修改资源前查看可用资源或选择现有资源
创建字母数字发送方ID
client.alphanumericSenderIDs.create()
POST /alphanumeric_sender_ids
当核心功能未覆盖该场景时创建新的资源
alphanumericSenderId
,
messagingProfileId
查询字母数字发送方ID详情
client.alphanumericSenderIDs.retrieve()
GET /alphanumeric_sender_ids/{id}
在更新、删除资源或进行控制流决策前获取资源当前状态
id
删除字母数字发送方ID
client.alphanumericSenderIDs.delete()
DELETE /alphanumeric_sender_ids/{id}
移除、解绑或清理现有资源
id
查询群组MMS消息详情
client.messages.retrieveGroupMessages()
GET /messages/group/{message_id}
在更新、删除消息或进行控制流决策前获取资源当前状态
messageId
查询消息托管号码列表
client.messagingHostedNumbers.list()
GET /messaging_hosted_numbers
在修改资源前查看可用资源或选择现有资源
查询消息托管号码详情
client.messagingHostedNumbers.retrieve()
GET /messaging_hosted_numbers/{id}
在更新、删除资源或进行控制流决策前获取资源当前状态
id
更新消息托管号码
client.messagingHostedNumbers.update()
PATCH /messaging_hosted_numbers/{id}
无需重建资源的前提下修改现有资源
id
查询退订列表
client.messagingOptouts.list()
GET /messaging_optouts
在修改资源前查看可用资源或选择现有资源
查询消息配置文件高层指标
client.messagingProfileMetrics.list()
GET /messaging_profile_metrics
在修改资源前查看可用资源或选择现有资源
重新生成消息配置文件密钥
client.messagingProfiles.actions.regenerateSecret()
POST /messaging_profiles/{id}/actions/regenerate_secret
在现有工作流中触发后续操作,而非创建新的顶层资源
id
查询消息配置文件绑定的字母数字发送方ID列表
client.messagingProfiles.listAlphanumericSenderIDs()
GET /messaging_profiles/{id}/alphanumeric_sender_ids
在更新、删除资源或进行控制流决策前获取资源当前状态
id
查询消息配置文件详细指标
client.messagingProfiles.retrieveMetrics()
GET /messaging_profiles/{id}/metrics
在更新、删除资源或进行控制流决策前获取资源当前状态
id
查询自动回复配置列表
client.messagingProfiles.autorespConfigs.list()
GET /messaging_profiles/{profile_id}/autoresp_configs
在更新、删除资源或进行控制流决策前获取资源当前状态
profileId
创建自动回复配置
client.messagingProfiles.autorespConfigs.create()
POST /messaging_profiles/{profile_id}/autoresp_configs
当核心功能未覆盖该场景时创建新的资源
op
,
keywords
,
countryCode
,
profileId
查询自动回复配置详情
client.messagingProfiles.autorespConfigs.retrieve()
GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
在更新、删除资源或进行控制流决策前获取资源当前状态
profileId
,
autorespCfgId
更新自动回复配置
client.messagingProfiles.autorespConfigs.update()
PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
无需重建资源的前提下修改现有资源
op
,
keywords
,
countryCode
,
profileId
, 以及1个额外参数
删除自动回复配置
client.messagingProfiles.autorespConfigs.delete()
DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
移除、解绑或清理现有资源
profileId
,
autorespCfgId

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负载请查看references/api-details.md