telnyx 5.167.0 → 5.168.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +16 -1
  7. data/lib/telnyx/models/ai/assistant_update_params.rb +17 -1
  8. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -1
  9. data/lib/telnyx/models/ai/chat_completion_request.rb +125 -48
  10. data/lib/telnyx/models/ai/inference_embedding.rb +16 -1
  11. data/lib/telnyx/models/ai/telephony_settings.rb +15 -1
  12. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  13. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  14. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  15. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  16. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  17. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  18. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  19. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  20. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  21. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  22. data/lib/telnyx/models/credential_connection.rb +4 -1
  23. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  24. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  25. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  26. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  27. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  28. data/lib/telnyx/models/messaging_inbound_message_payload.rb +210 -67
  29. data/lib/telnyx/models/messaging_messaging_profile.rb +11 -1
  30. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  31. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  32. data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
  33. data/lib/telnyx/models/uac_connection.rb +4 -1
  34. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  35. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  36. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  37. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  38. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  39. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  40. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  41. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  42. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  43. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  44. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  45. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  46. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  47. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  48. data/lib/telnyx/models.rb +8 -0
  49. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  50. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  51. data/lib/telnyx/resources/ai/openai/chat.rb +2 -8
  52. data/lib/telnyx/resources/compute/funcs.rb +141 -0
  53. data/lib/telnyx/resources/compute.rb +18 -0
  54. data/lib/telnyx/resources/email_messages.rb +4 -2
  55. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  56. data/lib/telnyx/resources/webhooks.rb +2 -2
  57. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  58. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  59. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  60. data/lib/telnyx/version.rb +1 -1
  61. data/lib/telnyx.rb +23 -0
  62. data/rbi/telnyx/client.rbi +3 -0
  63. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  64. data/rbi/telnyx/models/ai/assistant_create_params.rbi +29 -0
  65. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -0
  66. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +31 -0
  67. data/rbi/telnyx/models/ai/chat_completion_request.rbi +224 -92
  68. data/rbi/telnyx/models/ai/inference_embedding.rbi +29 -0
  69. data/rbi/telnyx/models/ai/telephony_settings.rbi +23 -0
  70. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  71. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  72. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  73. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  74. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  75. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  76. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  77. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  78. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  79. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  80. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  81. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  82. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  83. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  84. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  85. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  86. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +450 -193
  87. data/rbi/telnyx/models/messaging_messaging_profile.rbi +19 -0
  88. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  89. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  90. data/rbi/telnyx/models/messaging_profile_update_params.rbi +19 -0
  91. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  92. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  93. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  94. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  95. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  96. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  97. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  98. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  99. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  100. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  101. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  102. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  103. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  104. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  105. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  106. data/rbi/telnyx/models.rbi +8 -0
  107. data/rbi/telnyx/resources/ai/assistants/versions.rbi +12 -0
  108. data/rbi/telnyx/resources/ai/assistants.rbi +21 -0
  109. data/rbi/telnyx/resources/ai/openai/chat.rbi +9 -13
  110. data/rbi/telnyx/resources/compute/funcs.rbi +111 -0
  111. data/rbi/telnyx/resources/compute.rbi +15 -0
  112. data/rbi/telnyx/resources/email_messages.rbi +6 -2
  113. data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
  114. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  115. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  116. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  117. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  118. data/sig/telnyx/client.rbs +2 -0
  119. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  120. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  121. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  122. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  123. data/sig/telnyx/models/ai/chat_completion_request.rbs +86 -44
  124. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  125. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  126. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  127. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  128. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  129. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  130. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  131. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  132. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  133. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  134. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  135. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  136. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  137. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  138. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +207 -95
  139. data/sig/telnyx/models/messaging_messaging_profile.rbs +5 -0
  140. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  141. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  142. data/sig/telnyx/models/messaging_profile_update_params.rbs +5 -0
  143. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  144. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  145. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  146. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  147. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  148. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  149. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  150. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  151. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  152. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  153. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  154. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  155. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  156. data/sig/telnyx/models.rbs +8 -0
  157. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  158. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  159. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -4
  160. data/sig/telnyx/resources/compute/funcs.rbs +41 -0
  161. data/sig/telnyx/resources/compute.rbs +9 -0
  162. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  163. data/sig/telnyx/resources/webhooks.rbs +6 -2
  164. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  165. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  166. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  167. metadata +71 -2
@@ -18,6 +18,16 @@ module Telnyx
18
18
  sig { params(id: String).void }
19
19
  attr_writer :id
20
20
 
21
+ # WhatsApp message body. For message edits and revocations, inspect `type` and the
22
+ # corresponding `edit` or `revoke` object.
23
+ sig { returns(T.nilable(Telnyx::MessagingInboundMessagePayload::Body)) }
24
+ attr_reader :body
25
+
26
+ sig do
27
+ params(body: Telnyx::MessagingInboundMessagePayload::Body::OrHash).void
28
+ end
29
+ attr_writer :body
30
+
21
31
  sig do
22
32
  returns(T.nilable(T::Array[Telnyx::MessagingInboundMessagePayload::Cc]))
23
33
  end
@@ -211,19 +221,19 @@ module Telnyx
211
221
  sig { params(text: String).void }
212
222
  attr_writer :text
213
223
 
224
+ # Receiving address. SMS and MMS webhooks use an array of recipients. WhatsApp
225
+ # webhooks use one E.164 phone number.
214
226
  sig do
215
- returns(T.nilable(T::Array[Telnyx::MessagingInboundMessagePayload::To]))
227
+ returns(T.nilable(Telnyx::MessagingInboundMessagePayload::To::Variants))
216
228
  end
217
229
  attr_reader :to
218
230
 
219
231
  sig do
220
- params(
221
- to: T::Array[Telnyx::MessagingInboundMessagePayload::To::OrHash]
222
- ).void
232
+ params(to: Telnyx::MessagingInboundMessagePayload::To::Variants).void
223
233
  end
224
234
  attr_writer :to
225
235
 
226
- # The type of message. This value can be either 'sms' or 'mms'.
236
+ # The messaging channel used for the message.
227
237
  sig do
228
238
  returns(
229
239
  T.nilable(Telnyx::MessagingInboundMessagePayload::Type::TaggedSymbol)
@@ -254,6 +264,7 @@ module Telnyx
254
264
  sig do
255
265
  params(
256
266
  id: String,
267
+ body: Telnyx::MessagingInboundMessagePayload::Body::OrHash,
257
268
  cc: T::Array[Telnyx::MessagingInboundMessagePayload::Cc::OrHash],
258
269
  completed_at: T.nilable(Time),
259
270
  cost: T.nilable(Telnyx::MessagingInboundMessagePayload::Cost::OrHash),
@@ -282,7 +293,7 @@ module Telnyx
282
293
  tcr_campaign_id: T.nilable(String),
283
294
  tcr_campaign_registered: T.nilable(String),
284
295
  text: String,
285
- to: T::Array[Telnyx::MessagingInboundMessagePayload::To::OrHash],
296
+ to: Telnyx::MessagingInboundMessagePayload::To::Variants,
286
297
  type: Telnyx::MessagingInboundMessagePayload::Type::OrSymbol,
287
298
  valid_until: T.nilable(Time),
288
299
  webhook_failover_url: T.nilable(String),
@@ -292,6 +303,9 @@ module Telnyx
292
303
  def self.new(
293
304
  # Identifies the type of resource.
294
305
  id: nil,
306
+ # WhatsApp message body. For message edits and revocations, inspect `type` and the
307
+ # corresponding `edit` or `revoke` object.
308
+ body: nil,
295
309
  cc: nil,
296
310
  # Not used for inbound messages.
297
311
  completed_at: nil,
@@ -336,8 +350,10 @@ module Telnyx
336
350
  #
337
351
  # **Required for SMS**
338
352
  text: nil,
353
+ # Receiving address. SMS and MMS webhooks use an array of recipients. WhatsApp
354
+ # webhooks use one E.164 phone number.
339
355
  to: nil,
340
- # The type of message. This value can be either 'sms' or 'mms'.
356
+ # The messaging channel used for the message.
341
357
  type: nil,
342
358
  # Not used for inbound messages.
343
359
  valid_until: nil,
@@ -353,6 +369,7 @@ module Telnyx
353
369
  override.returns(
354
370
  {
355
371
  id: String,
372
+ body: Telnyx::MessagingInboundMessagePayload::Body,
356
373
  cc: T::Array[Telnyx::MessagingInboundMessagePayload::Cc],
357
374
  completed_at: T.nilable(Time),
358
375
  cost: T.nilable(Telnyx::MessagingInboundMessagePayload::Cost),
@@ -378,7 +395,7 @@ module Telnyx
378
395
  tcr_campaign_id: T.nilable(String),
379
396
  tcr_campaign_registered: T.nilable(String),
380
397
  text: String,
381
- to: T::Array[Telnyx::MessagingInboundMessagePayload::To],
398
+ to: Telnyx::MessagingInboundMessagePayload::To::Variants,
382
399
  type: Telnyx::MessagingInboundMessagePayload::Type::TaggedSymbol,
383
400
  valid_until: T.nilable(Time),
384
401
  webhook_failover_url: T.nilable(String),
@@ -389,6 +406,203 @@ module Telnyx
389
406
  def to_hash
390
407
  end
391
408
 
409
+ class Body < Telnyx::Internal::Type::BaseModel
410
+ OrHash =
411
+ T.type_alias do
412
+ T.any(
413
+ Telnyx::MessagingInboundMessagePayload::Body,
414
+ Telnyx::Internal::AnyHash
415
+ )
416
+ end
417
+
418
+ # Telnyx identifier for this webhook message.
419
+ sig { returns(T.nilable(String)) }
420
+ attr_reader :id
421
+
422
+ sig { params(id: String).void }
423
+ attr_writer :id
424
+
425
+ # Details for an edited WhatsApp message.
426
+ sig do
427
+ returns(T.nilable(Telnyx::MessagingInboundMessagePayload::Body::Edit))
428
+ end
429
+ attr_reader :edit
430
+
431
+ sig do
432
+ params(
433
+ edit: Telnyx::MessagingInboundMessagePayload::Body::Edit::OrHash
434
+ ).void
435
+ end
436
+ attr_writer :edit
437
+
438
+ # Meta WhatsApp message identifier for this webhook event.
439
+ sig { returns(T.nilable(String)) }
440
+ attr_reader :foreign_id
441
+
442
+ sig { params(foreign_id: String).void }
443
+ attr_writer :foreign_id
444
+
445
+ # WhatsApp sender in E.164 format.
446
+ sig { returns(T.nilable(String)) }
447
+ attr_reader :from
448
+
449
+ sig { params(from: String).void }
450
+ attr_writer :from
451
+
452
+ # Details for a revoked WhatsApp message.
453
+ sig do
454
+ returns(
455
+ T.nilable(Telnyx::MessagingInboundMessagePayload::Body::Revoke)
456
+ )
457
+ end
458
+ attr_reader :revoke
459
+
460
+ sig do
461
+ params(
462
+ revoke: Telnyx::MessagingInboundMessagePayload::Body::Revoke::OrHash
463
+ ).void
464
+ end
465
+ attr_writer :revoke
466
+
467
+ # Unix timestamp supplied by Meta.
468
+ sig { returns(T.nilable(String)) }
469
+ attr_reader :timestamp
470
+
471
+ sig { params(timestamp: String).void }
472
+ attr_writer :timestamp
473
+
474
+ # WhatsApp message body type. Edit and revoke events use `edit` and `revoke`,
475
+ # respectively.
476
+ sig { returns(T.nilable(String)) }
477
+ attr_reader :type
478
+
479
+ sig { params(type: String).void }
480
+ attr_writer :type
481
+
482
+ # WhatsApp message body. For message edits and revocations, inspect `type` and the
483
+ # corresponding `edit` or `revoke` object.
484
+ sig do
485
+ params(
486
+ id: String,
487
+ edit: Telnyx::MessagingInboundMessagePayload::Body::Edit::OrHash,
488
+ foreign_id: String,
489
+ from: String,
490
+ revoke:
491
+ Telnyx::MessagingInboundMessagePayload::Body::Revoke::OrHash,
492
+ timestamp: String,
493
+ type: String
494
+ ).returns(T.attached_class)
495
+ end
496
+ def self.new(
497
+ # Telnyx identifier for this webhook message.
498
+ id: nil,
499
+ # Details for an edited WhatsApp message.
500
+ edit: nil,
501
+ # Meta WhatsApp message identifier for this webhook event.
502
+ foreign_id: nil,
503
+ # WhatsApp sender in E.164 format.
504
+ from: nil,
505
+ # Details for a revoked WhatsApp message.
506
+ revoke: nil,
507
+ # Unix timestamp supplied by Meta.
508
+ timestamp: nil,
509
+ # WhatsApp message body type. Edit and revoke events use `edit` and `revoke`,
510
+ # respectively.
511
+ type: nil
512
+ )
513
+ end
514
+
515
+ sig do
516
+ override.returns(
517
+ {
518
+ id: String,
519
+ edit: Telnyx::MessagingInboundMessagePayload::Body::Edit,
520
+ foreign_id: String,
521
+ from: String,
522
+ revoke: Telnyx::MessagingInboundMessagePayload::Body::Revoke,
523
+ timestamp: String,
524
+ type: String
525
+ }
526
+ )
527
+ end
528
+ def to_hash
529
+ end
530
+
531
+ class Edit < Telnyx::Internal::Type::BaseModel
532
+ OrHash =
533
+ T.type_alias do
534
+ T.any(
535
+ Telnyx::MessagingInboundMessagePayload::Body::Edit,
536
+ Telnyx::Internal::AnyHash
537
+ )
538
+ end
539
+
540
+ # Replacement WhatsApp message content. Its shape depends on the message type.
541
+ sig { returns(T::Hash[Symbol, T.anything]) }
542
+ attr_accessor :message
543
+
544
+ # Telnyx message ID when a mapping exists, otherwise the original Meta WhatsApp
545
+ # message ID. Treat this value as opaque.
546
+ sig { returns(String) }
547
+ attr_accessor :original_message_id
548
+
549
+ # Details for an edited WhatsApp message.
550
+ sig do
551
+ params(
552
+ message: T::Hash[Symbol, T.anything],
553
+ original_message_id: String
554
+ ).returns(T.attached_class)
555
+ end
556
+ def self.new(
557
+ # Replacement WhatsApp message content. Its shape depends on the message type.
558
+ message:,
559
+ # Telnyx message ID when a mapping exists, otherwise the original Meta WhatsApp
560
+ # message ID. Treat this value as opaque.
561
+ original_message_id:
562
+ )
563
+ end
564
+
565
+ sig do
566
+ override.returns(
567
+ {
568
+ message: T::Hash[Symbol, T.anything],
569
+ original_message_id: String
570
+ }
571
+ )
572
+ end
573
+ def to_hash
574
+ end
575
+ end
576
+
577
+ class Revoke < Telnyx::Internal::Type::BaseModel
578
+ OrHash =
579
+ T.type_alias do
580
+ T.any(
581
+ Telnyx::MessagingInboundMessagePayload::Body::Revoke,
582
+ Telnyx::Internal::AnyHash
583
+ )
584
+ end
585
+
586
+ # Telnyx message ID when a mapping exists, otherwise the original Meta WhatsApp
587
+ # message ID. Treat this value as opaque.
588
+ sig { returns(String) }
589
+ attr_accessor :original_message_id
590
+
591
+ # Details for a revoked WhatsApp message.
592
+ sig { params(original_message_id: String).returns(T.attached_class) }
593
+ def self.new(
594
+ # Telnyx message ID when a mapping exists, otherwise the original Meta WhatsApp
595
+ # message ID. Treat this value as opaque.
596
+ original_message_id:
597
+ )
598
+ end
599
+
600
+ sig { override.returns({ original_message_id: String }) }
601
+ def to_hash
602
+ end
603
+ end
604
+ end
605
+
392
606
  class Cc < Telnyx::Internal::Type::BaseModel
393
607
  OrHash =
394
608
  T.type_alias do
@@ -604,20 +818,17 @@ module Telnyx
604
818
 
605
819
  # The amount deducted from your account.
606
820
  sig { returns(T.nilable(String)) }
607
- attr_reader :amount
608
-
609
- sig { params(amount: String).void }
610
- attr_writer :amount
821
+ attr_accessor :amount
611
822
 
612
823
  # The ISO 4217 currency identifier.
613
824
  sig { returns(T.nilable(String)) }
614
- attr_reader :currency
615
-
616
- sig { params(currency: String).void }
617
- attr_writer :currency
825
+ attr_accessor :currency
618
826
 
619
827
  sig do
620
- params(amount: String, currency: String).returns(T.attached_class)
828
+ params(
829
+ amount: T.nilable(String),
830
+ currency: T.nilable(String)
831
+ ).returns(T.attached_class)
621
832
  end
622
833
  def self.new(
623
834
  # The amount deducted from your account.
@@ -627,7 +838,11 @@ module Telnyx
627
838
  )
628
839
  end
629
840
 
630
- sig { override.returns({ amount: String, currency: String }) }
841
+ sig do
842
+ override.returns(
843
+ { amount: T.nilable(String), currency: T.nilable(String) }
844
+ )
845
+ end
631
846
  def to_hash
632
847
  end
633
848
  end
@@ -1090,216 +1305,253 @@ module Telnyx
1090
1305
  end
1091
1306
  end
1092
1307
 
1093
- class To < Telnyx::Internal::Type::BaseModel
1094
- OrHash =
1308
+ # Receiving address. SMS and MMS webhooks use an array of recipients. WhatsApp
1309
+ # webhooks use one E.164 phone number.
1310
+ module To
1311
+ extend Telnyx::Internal::Type::Union
1312
+
1313
+ Variants =
1095
1314
  T.type_alias do
1096
1315
  T.any(
1097
- Telnyx::MessagingInboundMessagePayload::To,
1098
- Telnyx::Internal::AnyHash
1316
+ T::Array[
1317
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0
1318
+ ],
1319
+ String
1099
1320
  )
1100
1321
  end
1101
1322
 
1102
- # The carrier of the receiver.
1103
- sig { returns(T.nilable(String)) }
1104
- attr_reader :carrier
1323
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
1324
+ OrHash =
1325
+ T.type_alias do
1326
+ T.any(
1327
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0,
1328
+ Telnyx::Internal::AnyHash
1329
+ )
1330
+ end
1105
1331
 
1106
- sig { params(carrier: String).void }
1107
- attr_writer :carrier
1332
+ # The carrier of the receiver.
1333
+ sig { returns(T.nilable(String)) }
1334
+ attr_reader :carrier
1108
1335
 
1109
- # The line-type of the receiver.
1110
- sig do
1111
- returns(
1112
- T.nilable(
1113
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1336
+ sig { params(carrier: String).void }
1337
+ attr_writer :carrier
1338
+
1339
+ # The line-type of the receiver.
1340
+ sig do
1341
+ returns(
1342
+ T.nilable(
1343
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1344
+ )
1114
1345
  )
1115
- )
1116
- end
1117
- attr_reader :line_type
1346
+ end
1347
+ attr_reader :line_type
1118
1348
 
1119
- sig do
1120
- params(
1121
- line_type:
1122
- Telnyx::MessagingInboundMessagePayload::To::LineType::OrSymbol
1123
- ).void
1124
- end
1125
- attr_writer :line_type
1349
+ sig do
1350
+ params(
1351
+ line_type:
1352
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::OrSymbol
1353
+ ).void
1354
+ end
1355
+ attr_writer :line_type
1126
1356
 
1127
- # Receiving address (+E.164 formatted phone number or short code).
1128
- sig { returns(T.nilable(String)) }
1129
- attr_reader :phone_number
1357
+ # Receiving address (+E.164 formatted phone number or short code).
1358
+ sig { returns(T.nilable(String)) }
1359
+ attr_reader :phone_number
1130
1360
 
1131
- sig { params(phone_number: String).void }
1132
- attr_writer :phone_number
1361
+ sig { params(phone_number: String).void }
1362
+ attr_writer :phone_number
1133
1363
 
1134
- sig do
1135
- returns(
1136
- T.nilable(
1137
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1364
+ sig do
1365
+ returns(
1366
+ T.nilable(
1367
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1368
+ )
1138
1369
  )
1139
- )
1140
- end
1141
- attr_reader :status
1142
-
1143
- sig do
1144
- params(
1145
- status: Telnyx::MessagingInboundMessagePayload::To::Status::OrSymbol
1146
- ).void
1147
- end
1148
- attr_writer :status
1370
+ end
1371
+ attr_reader :status
1149
1372
 
1150
- sig do
1151
- params(
1152
- carrier: String,
1153
- line_type:
1154
- Telnyx::MessagingInboundMessagePayload::To::LineType::OrSymbol,
1155
- phone_number: String,
1156
- status: Telnyx::MessagingInboundMessagePayload::To::Status::OrSymbol
1157
- ).returns(T.attached_class)
1158
- end
1159
- def self.new(
1160
- # The carrier of the receiver.
1161
- carrier: nil,
1162
- # The line-type of the receiver.
1163
- line_type: nil,
1164
- # Receiving address (+E.164 formatted phone number or short code).
1165
- phone_number: nil,
1166
- status: nil
1167
- )
1168
- end
1373
+ sig do
1374
+ params(
1375
+ status:
1376
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::OrSymbol
1377
+ ).void
1378
+ end
1379
+ attr_writer :status
1169
1380
 
1170
- sig do
1171
- override.returns(
1172
- {
1381
+ sig do
1382
+ params(
1173
1383
  carrier: String,
1174
1384
  line_type:
1175
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol,
1385
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::OrSymbol,
1176
1386
  phone_number: String,
1177
1387
  status:
1178
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1179
- }
1388
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::OrSymbol
1389
+ ).returns(T.attached_class)
1390
+ end
1391
+ def self.new(
1392
+ # The carrier of the receiver.
1393
+ carrier: nil,
1394
+ # The line-type of the receiver.
1395
+ line_type: nil,
1396
+ # Receiving address (+E.164 formatted phone number or short code).
1397
+ phone_number: nil,
1398
+ status: nil
1180
1399
  )
1181
- end
1182
- def to_hash
1183
- end
1184
-
1185
- # The line-type of the receiver.
1186
- module LineType
1187
- extend Telnyx::Internal::Type::Enum
1188
-
1189
- TaggedSymbol =
1190
- T.type_alias do
1191
- T.all(
1192
- Symbol,
1193
- Telnyx::MessagingInboundMessagePayload::To::LineType
1194
- )
1195
- end
1196
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1197
-
1198
- WIRELINE =
1199
- T.let(
1200
- :Wireline,
1201
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1202
- )
1203
- WIRELESS =
1204
- T.let(
1205
- :Wireless,
1206
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1207
- )
1208
- VO_WI_FI =
1209
- T.let(
1210
- :VoWiFi,
1211
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1212
- )
1213
- VO_IP =
1214
- T.let(
1215
- :VoIP,
1216
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1217
- )
1218
- PRE_PAID_WIRELESS =
1219
- T.let(
1220
- :"Pre-Paid Wireless",
1221
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1222
- )
1223
- EMPTY =
1224
- T.let(
1225
- :"",
1226
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1227
- )
1400
+ end
1228
1401
 
1229
1402
  sig do
1230
1403
  override.returns(
1231
- T::Array[
1232
- Telnyx::MessagingInboundMessagePayload::To::LineType::TaggedSymbol
1233
- ]
1404
+ {
1405
+ carrier: String,
1406
+ line_type:
1407
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol,
1408
+ phone_number: String,
1409
+ status:
1410
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1411
+ }
1234
1412
  )
1235
1413
  end
1236
- def self.values
1414
+ def to_hash
1237
1415
  end
1238
- end
1239
1416
 
1240
- module Status
1241
- extend Telnyx::Internal::Type::Enum
1417
+ # The line-type of the receiver.
1418
+ module LineType
1419
+ extend Telnyx::Internal::Type::Enum
1420
+
1421
+ TaggedSymbol =
1422
+ T.type_alias do
1423
+ T.all(
1424
+ Symbol,
1425
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType
1426
+ )
1427
+ end
1428
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1429
+
1430
+ WIRELINE =
1431
+ T.let(
1432
+ :Wireline,
1433
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1434
+ )
1435
+ WIRELESS =
1436
+ T.let(
1437
+ :Wireless,
1438
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1439
+ )
1440
+ VO_WI_FI =
1441
+ T.let(
1442
+ :VoWiFi,
1443
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1444
+ )
1445
+ VO_IP =
1446
+ T.let(
1447
+ :VoIP,
1448
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1449
+ )
1450
+ PRE_PAID_WIRELESS =
1451
+ T.let(
1452
+ :"Pre-Paid Wireless",
1453
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1454
+ )
1455
+ EMPTY =
1456
+ T.let(
1457
+ :"",
1458
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1459
+ )
1242
1460
 
1243
- TaggedSymbol =
1244
- T.type_alias do
1245
- T.all(Symbol, Telnyx::MessagingInboundMessagePayload::To::Status)
1461
+ sig do
1462
+ override.returns(
1463
+ T::Array[
1464
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::LineType::TaggedSymbol
1465
+ ]
1466
+ )
1246
1467
  end
1247
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1468
+ def self.values
1469
+ end
1470
+ end
1248
1471
 
1249
- QUEUED =
1250
- T.let(
1251
- :queued,
1252
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1253
- )
1254
- SENDING =
1255
- T.let(
1256
- :sending,
1257
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1258
- )
1259
- SENT =
1260
- T.let(
1261
- :sent,
1262
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1263
- )
1264
- DELIVERED =
1265
- T.let(
1266
- :delivered,
1267
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1268
- )
1269
- SENDING_FAILED =
1270
- T.let(
1271
- :sending_failed,
1272
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1273
- )
1274
- DELIVERY_FAILED =
1275
- T.let(
1276
- :delivery_failed,
1277
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1278
- )
1279
- DELIVERY_UNCONFIRMED =
1280
- T.let(
1281
- :delivery_unconfirmed,
1282
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1283
- )
1284
- WEBHOOK_DELIVERED =
1285
- T.let(
1286
- :webhook_delivered,
1287
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1288
- )
1472
+ module Status
1473
+ extend Telnyx::Internal::Type::Enum
1474
+
1475
+ TaggedSymbol =
1476
+ T.type_alias do
1477
+ T.all(
1478
+ Symbol,
1479
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status
1480
+ )
1481
+ end
1482
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1483
+
1484
+ QUEUED =
1485
+ T.let(
1486
+ :queued,
1487
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1488
+ )
1489
+ SENDING =
1490
+ T.let(
1491
+ :sending,
1492
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1493
+ )
1494
+ SENT =
1495
+ T.let(
1496
+ :sent,
1497
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1498
+ )
1499
+ DELIVERED =
1500
+ T.let(
1501
+ :delivered,
1502
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1503
+ )
1504
+ SENDING_FAILED =
1505
+ T.let(
1506
+ :sending_failed,
1507
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1508
+ )
1509
+ DELIVERY_FAILED =
1510
+ T.let(
1511
+ :delivery_failed,
1512
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1513
+ )
1514
+ DELIVERY_UNCONFIRMED =
1515
+ T.let(
1516
+ :delivery_unconfirmed,
1517
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1518
+ )
1519
+ WEBHOOK_DELIVERED =
1520
+ T.let(
1521
+ :webhook_delivered,
1522
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1523
+ )
1289
1524
 
1290
- sig do
1291
- override.returns(
1292
- T::Array[
1293
- Telnyx::MessagingInboundMessagePayload::To::Status::TaggedSymbol
1294
- ]
1295
- )
1296
- end
1297
- def self.values
1525
+ sig do
1526
+ override.returns(
1527
+ T::Array[
1528
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0::Status::TaggedSymbol
1529
+ ]
1530
+ )
1531
+ end
1532
+ def self.values
1533
+ end
1298
1534
  end
1299
1535
  end
1536
+
1537
+ sig do
1538
+ override.returns(
1539
+ T::Array[Telnyx::MessagingInboundMessagePayload::To::Variants]
1540
+ )
1541
+ end
1542
+ def self.variants
1543
+ end
1544
+
1545
+ UnionMember0Array =
1546
+ T.let(
1547
+ Telnyx::Internal::Type::ArrayOf[
1548
+ Telnyx::MessagingInboundMessagePayload::To::UnionMember0
1549
+ ],
1550
+ Telnyx::Internal::Type::Converter
1551
+ )
1300
1552
  end
1301
1553
 
1302
- # The type of message. This value can be either 'sms' or 'mms'.
1554
+ # The messaging channel used for the message.
1303
1555
  module Type
1304
1556
  extend Telnyx::Internal::Type::Enum
1305
1557
 
@@ -1319,6 +1571,11 @@ module Telnyx
1319
1571
  :MMS,
1320
1572
  Telnyx::MessagingInboundMessagePayload::Type::TaggedSymbol
1321
1573
  )
1574
+ WHATSAPP =
1575
+ T.let(
1576
+ :WHATSAPP,
1577
+ Telnyx::MessagingInboundMessagePayload::Type::TaggedSymbol
1578
+ )
1322
1579
 
1323
1580
  sig do
1324
1581
  override.returns(