team-telnyx/ai

telnyx-messaging-profiles-ruby

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

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/team-telnyx/ai --skill telnyx-messaging-profiles-ruby

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

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

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills