team-telnyx/ai

telnyx-messaging-profiles-ruby

- Create and manage messaging profiles with number pools, sticky sender, and geomatch features.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/team-telnyx/ai --skill telnyx-messaging-profiles-ruby

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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

Telnyx Messaging Profiles - Ruby

Installation

bash
gem install telnyx

Setup

ruby
require "telnyx"

client = Telnyx::Client.new(
  api_key: ENV["TELNYX_API_KEY"], # This is the default and can be omitted
)

All examples below assume client is already initialized as shown above.

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:

ruby
begin
  result = client.messages.send_(to: "+13125550001", from: "+13125550002", text: "Hello")
rescue Telnyx::Errors::APIConnectionError
  puts "Network error — check connectivity and retry"
rescue Telnyx::Errors::RateLimitError
  # 429: rate limited — wait and retry with exponential backoff
  sleep(1) # Check Retry-After header for actual delay
rescue Telnyx::Errors::APIStatusError => e
  puts "API error #{e.status}: #{e.message}"
  if e.status == 422
    puts "Validation error — check required fields and formats"
  end
end

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).

Important Notes

  • Pagination: Use .auto_paging_each for automatic iteration: page.auto_paging_each { |item| puts item.id }.

List messaging profiles

GET /messaging_profiles

ruby
page = client.messaging_profiles.list

puts(page)

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: messagingprofile), `redactionenabled (boolean), redactionlevel` (integer), `resourcegroupid` (string | null), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

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)

ruby
messaging_profile = client.messaging_profiles.create(name: "My name", whitelisted_destinations: ["US"])

puts(messaging_profile)

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: messagingprofile), `redactionenabled (boolean), redactionlevel` (integer), `resourcegroupid` (string | null), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

Retrieve a messaging profile

GET /messaging_profiles/{id}

ruby
messaging_profile = client.messaging_profiles.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(messaging_profile)

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: messagingprofile), `redactionenabled (boolean), redactionlevel` (integer), `resourcegroupid` (string | null), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

Update a messaging profile

PATCH /messaging_profiles/{id}

Optional: ai_assistant_id (string | null), 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: messagingprofile), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

ruby
messaging_profile = client.messaging_profiles.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(messaging_profile)

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: messagingprofile), `redactionenabled (boolean), redactionlevel` (integer), `resourcegroupid` (string | null), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

Delete a messaging profile

DELETE /messaging_profiles/{id}

ruby
messaging_profile = client.messaging_profiles.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(messaging_profile)

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: messagingprofile), `redactionenabled (boolean), redactionlevel` (integer), `resourcegroupid` (string | null), `smartencoding (boolean), updatedat` (date-time), `urlshortenersettings` (object | null), `v1secret (string), webhookapiversion (enum: 1, 2, 2010-04-01), webhookfailoverurl (url), webhookurl` (url), `whitelisteddestinations` (array[string])

List phone numbers associated with a messaging profile

GET /messaging_profiles/{id}/phone_numbers

ruby
page = client.messaging_profiles.list_phone_numbers("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(page)

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: messagingphonenumber, messagingsettings), `tags` (array[string]), `traffictype (string), type (enum: long-code, toll-free, short-code, longcode, tollfree, shortcode), updated_at` (date-time)

List short codes associated with a messaging profile

GET /messaging_profiles/{id}/short_codes

ruby
page = client.messaging_profiles.list_short_codes("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(page)

Returns: country_code (string), created_at (date-time), id (uuid), messaging_profile_id (string | null), record_type (enum: shortcode), `shortcode (string), tags (array), updated_at` (date-time)

List short codes

GET /short_codes

ruby
page = client.short_codes.list

puts(page)

Returns: country_code (string), created_at (date-time), id (uuid), messaging_profile_id (string | null), record_type (enum: shortcode), `shortcode (string), tags (array), updated_at` (date-time)

Retrieve a short code

GET /short_codes/{id}

ruby
short_code = client.short_codes.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(short_code)

Returns: country_code (string), created_at (date-time), id (uuid), messaging_profile_id (string | null), record_type (enum: shortcode), `shortcode (string), tags (array), updated_at` (date-time)

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)

ruby
short_code = client.short_codes.update(
  "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  messaging_profile_id: "abc85f64-5717-4562-b3fc-2c9600000000"
)

puts(short_code)

Returns: country_code (string), created_at (date-time), id (uuid), messaging_profile_id (string | null), record_type (enum: shortcode), `shortcode (string), tags (array), updated_at` (date-time)

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills