telnyx 5.61.0 → 5.63.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
  5. data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +135 -8
  6. data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +7 -7
  7. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +0 -2
  8. data/lib/telnyx/models/voice_clone_create_params.rb +0 -2
  9. data/lib/telnyx/models/voice_clone_data.rb +0 -2
  10. data/lib/telnyx/models/voice_clone_list_params.rb +0 -2
  11. data/lib/telnyx/models/voice_design_create_params.rb +0 -2
  12. data/lib/telnyx/models/voice_design_data.rb +0 -2
  13. data/lib/telnyx/models/voice_design_list_response.rb +0 -2
  14. data/lib/telnyx/models/voice_design_rename_response.rb +0 -2
  15. data/lib/telnyx/models/whatsapp/template_create_params.rb +421 -7
  16. data/lib/telnyx/models/whatsapp_message_template_update_params.rb +405 -3
  17. data/lib/telnyx/models/whatsapp_template_data.rb +10 -3
  18. data/lib/telnyx/models/x402/credit_account_settle_params.rb +4 -4
  19. data/lib/telnyx/resources/calls/actions.rb +1 -1
  20. data/lib/telnyx/resources/whatsapp/templates.rb +13 -5
  21. data/lib/telnyx/resources/whatsapp_message_templates.rb +1 -1
  22. data/lib/telnyx/resources/x402/credit_account.rb +2 -2
  23. data/lib/telnyx/version.rb +1 -1
  24. data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
  25. data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +338 -12
  26. data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +18 -18
  27. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +0 -10
  28. data/rbi/telnyx/models/voice_clone_create_params.rbi +0 -7
  29. data/rbi/telnyx/models/voice_clone_data.rbi +0 -4
  30. data/rbi/telnyx/models/voice_clone_list_params.rbi +0 -10
  31. data/rbi/telnyx/models/voice_design_create_params.rbi +0 -10
  32. data/rbi/telnyx/models/voice_design_data.rbi +0 -4
  33. data/rbi/telnyx/models/voice_design_list_response.rbi +0 -10
  34. data/rbi/telnyx/models/voice_design_rename_response.rbi +0 -10
  35. data/rbi/telnyx/models/whatsapp/template_create_params.rbi +891 -3
  36. data/rbi/telnyx/models/whatsapp_message_template_update_params.rbi +898 -5
  37. data/rbi/telnyx/models/whatsapp_template_data.rbi +10 -2
  38. data/rbi/telnyx/models/x402/credit_account_settle_params.rbi +6 -6
  39. data/rbi/telnyx/resources/calls/actions.rbi +4 -3
  40. data/rbi/telnyx/resources/whatsapp/templates.rbi +17 -1
  41. data/rbi/telnyx/resources/whatsapp_message_templates.rbi +11 -1
  42. data/rbi/telnyx/resources/x402/credit_account.rbi +2 -2
  43. data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
  44. data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +124 -4
  45. data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +5 -5
  46. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +1 -3
  47. data/sig/telnyx/models/voice_clone_create_params.rbs +1 -3
  48. data/sig/telnyx/models/voice_clone_data.rbs +1 -3
  49. data/sig/telnyx/models/voice_clone_list_params.rbs +1 -3
  50. data/sig/telnyx/models/voice_design_create_params.rbs +1 -3
  51. data/sig/telnyx/models/voice_design_data.rbs +1 -3
  52. data/sig/telnyx/models/voice_design_list_response.rbs +1 -3
  53. data/sig/telnyx/models/voice_design_rename_response.rbs +1 -3
  54. data/sig/telnyx/models/whatsapp/template_create_params.rbs +369 -4
  55. data/sig/telnyx/models/whatsapp_message_template_update_params.rbs +369 -6
  56. data/sig/telnyx/models/x402/credit_account_settle_params.rbs +5 -5
  57. data/sig/telnyx/resources/whatsapp/templates.rbs +1 -1
  58. data/sig/telnyx/resources/whatsapp_message_templates.rbs +1 -1
  59. data/sig/telnyx/resources/x402/credit_account.rbs +1 -1
  60. metadata +2 -2
@@ -18,15 +18,19 @@ module Telnyx
18
18
  optional :category, enum: -> { Telnyx::WhatsappMessageTemplateUpdateParams::Category }
19
19
 
20
20
  # @!attribute components
21
+ # Updated template components. Same structure as the create request.
21
22
  #
22
- # @return [Array<Hash{Symbol=>Object}>, nil]
23
+ # @return [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Footer, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel>, nil]
23
24
  optional :components,
24
- Telnyx::Internal::Type::ArrayOf[Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]]
25
+ -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::WhatsappMessageTemplateUpdateParams::Component] }
25
26
 
26
27
  # @!method initialize(id:, category: nil, components: nil, request_options: {})
27
28
  # @param id [String]
29
+ #
28
30
  # @param category [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Category]
29
- # @param components [Array<Hash{Symbol=>Object}>]
31
+ #
32
+ # @param components [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Footer, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel>] Updated template components. Same structure as the create request.
33
+ #
30
34
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
31
35
 
32
36
  module Category
@@ -39,6 +43,404 @@ module Telnyx
39
43
  # @!method self.values
40
44
  # @return [Array<Symbol>]
41
45
  end
46
+
47
+ # A template component. Additional Meta component types not listed here are also
48
+ # accepted.
49
+ module Component
50
+ extend Telnyx::Internal::Type::Union
51
+
52
+ discriminator :type
53
+
54
+ # Optional header displayed at the top of the message.
55
+ variant :HEADER, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Header }
56
+
57
+ # The main text content of the message. Supports multiple variable parameters ({{1}}, {{2}}, etc.). Variables cannot be at the start or end. Maximum 1024 characters.
58
+ variant :BODY, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Body }
59
+
60
+ # Optional footer displayed at the bottom of the message. Does not support variables.
61
+ variant :FOOTER, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Footer }
62
+
63
+ # Optional interactive buttons. Maximum 3 buttons per template.
64
+ variant :BUTTONS, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Buttons }
65
+
66
+ # Carousel component for multi-card templates. Each card can contain its own header, body, and buttons.
67
+ variant :CAROUSEL, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Carousel }
68
+
69
+ class Header < Telnyx::Internal::Type::BaseModel
70
+ # @!attribute file_format
71
+ # Header format type: TEXT (supports one variable), IMAGE, VIDEO, DOCUMENT, or
72
+ # LOCATION.
73
+ #
74
+ # @return [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header::Format]
75
+ required :file_format,
76
+ enum: -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Header::Format },
77
+ api_name: :format
78
+
79
+ # @!attribute type
80
+ #
81
+ # @return [Symbol, :HEADER]
82
+ required :type, const: :HEADER
83
+
84
+ # @!attribute example
85
+ # Sample values for header variables.
86
+ #
87
+ # @return [Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header::Example, nil]
88
+ optional :example, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Header::Example }
89
+
90
+ # @!attribute text
91
+ # Header text. Required when format is TEXT. Supports one variable ({{1}}).
92
+ # Variables cannot be at the start or end.
93
+ #
94
+ # @return [String, nil]
95
+ optional :text, String
96
+
97
+ # @!method initialize(file_format:, example: nil, text: nil, type: :HEADER)
98
+ # Some parameter documentations has been truncated, see
99
+ # {Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header} for
100
+ # more details.
101
+ #
102
+ # Optional header displayed at the top of the message.
103
+ #
104
+ # @param file_format [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header::Format] Header format type: TEXT (supports one variable), IMAGE, VIDEO, DOCUMENT, or LOC
105
+ #
106
+ # @param example [Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header::Example] Sample values for header variables.
107
+ #
108
+ # @param text [String] Header text. Required when format is TEXT. Supports one variable ({{1}}). Variab
109
+ #
110
+ # @param type [Symbol, :HEADER]
111
+
112
+ # Header format type: TEXT (supports one variable), IMAGE, VIDEO, DOCUMENT, or
113
+ # LOCATION.
114
+ #
115
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header#file_format
116
+ module Format
117
+ extend Telnyx::Internal::Type::Enum
118
+
119
+ TEXT = :TEXT
120
+ IMAGE = :IMAGE
121
+ VIDEO = :VIDEO
122
+ DOCUMENT = :DOCUMENT
123
+ LOCATION = :LOCATION
124
+
125
+ # @!method self.values
126
+ # @return [Array<Symbol>]
127
+ end
128
+
129
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header#example
130
+ class Example < Telnyx::Internal::Type::BaseModel
131
+ # @!attribute header_handle
132
+ # Media handle for IMAGE, VIDEO, or DOCUMENT headers.
133
+ #
134
+ # @return [Array<String>, nil]
135
+ optional :header_handle, Telnyx::Internal::Type::ArrayOf[String]
136
+
137
+ # @!attribute header_text
138
+ # Sample values for text header variables.
139
+ #
140
+ # @return [Array<String>, nil]
141
+ optional :header_text, Telnyx::Internal::Type::ArrayOf[String]
142
+
143
+ # @!method initialize(header_handle: nil, header_text: nil)
144
+ # Sample values for header variables.
145
+ #
146
+ # @param header_handle [Array<String>] Media handle for IMAGE, VIDEO, or DOCUMENT headers.
147
+ #
148
+ # @param header_text [Array<String>] Sample values for text header variables.
149
+ end
150
+ end
151
+
152
+ class Body < Telnyx::Internal::Type::BaseModel
153
+ # @!attribute type
154
+ #
155
+ # @return [Symbol, :BODY]
156
+ required :type, const: :BODY
157
+
158
+ # @!attribute example
159
+ # Sample values for body variables. Required when body text contains parameters.
160
+ #
161
+ # @return [Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body::Example, nil]
162
+ optional :example, -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Body::Example }
163
+
164
+ # @!attribute text
165
+ # Body text content. Use {{1}}, {{2}}, etc. for variable placeholders. Required
166
+ # for MARKETING and UTILITY templates. Optional for AUTHENTICATION templates where
167
+ # Meta provides the built-in OTP body.
168
+ #
169
+ # @return [String, nil]
170
+ optional :text, String
171
+
172
+ # @!method initialize(example: nil, text: nil, type: :BODY)
173
+ # Some parameter documentations has been truncated, see
174
+ # {Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body} for more
175
+ # details.
176
+ #
177
+ # The main text content of the message. Supports multiple variable parameters
178
+ # ({{1}}, {{2}}, etc.). Variables cannot be at the start or end. Maximum 1024
179
+ # characters.
180
+ #
181
+ # @param example [Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body::Example] Sample values for body variables. Required when body text contains parameters.
182
+ #
183
+ # @param text [String] Body text content. Use {{1}}, {{2}}, etc. for variable placeholders. Required fo
184
+ #
185
+ # @param type [Symbol, :BODY]
186
+
187
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body#example
188
+ class Example < Telnyx::Internal::Type::BaseModel
189
+ # @!attribute body_text
190
+ # Array containing one array of sample values, one per variable in order.
191
+ #
192
+ # @return [Array<Array<String>>, nil]
193
+ optional :body_text, Telnyx::Internal::Type::ArrayOf[Telnyx::Internal::Type::ArrayOf[String]]
194
+
195
+ # @!method initialize(body_text: nil)
196
+ # Sample values for body variables. Required when body text contains parameters.
197
+ #
198
+ # @param body_text [Array<Array<String>>] Array containing one array of sample values, one per variable in order.
199
+ end
200
+ end
201
+
202
+ class Footer < Telnyx::Internal::Type::BaseModel
203
+ # @!attribute type
204
+ #
205
+ # @return [Symbol, :FOOTER]
206
+ required :type, const: :FOOTER
207
+
208
+ # @!attribute code_expiration_minutes
209
+ # OTP code expiration time in minutes. Used in AUTHENTICATION template footers
210
+ # instead of free-form text.
211
+ #
212
+ # @return [Integer, nil]
213
+ optional :code_expiration_minutes, Integer
214
+
215
+ # @!attribute text
216
+ # Footer text. Maximum 60 characters. For non-authentication templates.
217
+ #
218
+ # @return [String, nil]
219
+ optional :text, String
220
+
221
+ # @!method initialize(code_expiration_minutes: nil, text: nil, type: :FOOTER)
222
+ # Some parameter documentations has been truncated, see
223
+ # {Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Footer} for
224
+ # more details.
225
+ #
226
+ # Optional footer displayed at the bottom of the message. Does not support
227
+ # variables.
228
+ #
229
+ # @param code_expiration_minutes [Integer] OTP code expiration time in minutes. Used in AUTHENTICATION template footers ins
230
+ #
231
+ # @param text [String] Footer text. Maximum 60 characters. For non-authentication templates.
232
+ #
233
+ # @param type [Symbol, :FOOTER]
234
+ end
235
+
236
+ class Buttons < Telnyx::Internal::Type::BaseModel
237
+ # @!attribute buttons
238
+ # Array of button objects. Meta supports various combinations of button types.
239
+ #
240
+ # @return [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button>]
241
+ required :buttons,
242
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button] }
243
+
244
+ # @!attribute type
245
+ #
246
+ # @return [Symbol, :BUTTONS]
247
+ required :type, const: :BUTTONS
248
+
249
+ # @!method initialize(buttons:, type: :BUTTONS)
250
+ # Optional interactive buttons. Maximum 3 buttons per template.
251
+ #
252
+ # @param buttons [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button>] Array of button objects. Meta supports various combinations of button types.
253
+ #
254
+ # @param type [Symbol, :BUTTONS]
255
+
256
+ class Button < Telnyx::Internal::Type::BaseModel
257
+ # @!attribute type
258
+ #
259
+ # @return [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::Type]
260
+ required :type, enum: -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::Type }
261
+
262
+ # @!attribute autofill_text
263
+ # Custom autofill button text for ONE_TAP OTP buttons.
264
+ #
265
+ # @return [String, nil]
266
+ optional :autofill_text, String
267
+
268
+ # @!attribute example
269
+ # Sample values for URL variable.
270
+ #
271
+ # @return [Array<String>, nil]
272
+ optional :example, Telnyx::Internal::Type::ArrayOf[String]
273
+
274
+ # @!attribute flow_action
275
+ # Flow action type for FLOW-type buttons.
276
+ #
277
+ # @return [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::FlowAction, nil]
278
+ optional :flow_action,
279
+ enum: -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::FlowAction }
280
+
281
+ # @!attribute flow_id
282
+ # Flow ID for FLOW-type buttons.
283
+ #
284
+ # @return [String, nil]
285
+ optional :flow_id, String
286
+
287
+ # @!attribute navigate_screen
288
+ # Target screen name for FLOW buttons with navigate action.
289
+ #
290
+ # @return [String, nil]
291
+ optional :navigate_screen, String
292
+
293
+ # @!attribute otp_type
294
+ #
295
+ # @return [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::OtpType, nil]
296
+ optional :otp_type,
297
+ enum: -> { Telnyx::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::OtpType }
298
+
299
+ # @!attribute package_name
300
+ # Android package name. Required for ONE_TAP OTP buttons.
301
+ #
302
+ # @return [String, nil]
303
+ optional :package_name, String
304
+
305
+ # @!attribute phone_number
306
+ # Phone number in E.164 format.
307
+ #
308
+ # @return [String, nil]
309
+ optional :phone_number, String
310
+
311
+ # @!attribute signature_hash
312
+ # Android app signing key hash. Required for ONE_TAP OTP buttons.
313
+ #
314
+ # @return [String, nil]
315
+ optional :signature_hash, String
316
+
317
+ # @!attribute text
318
+ # Button label text. Maximum 25 characters. Required for URL, PHONE_NUMBER, and
319
+ # QUICK_REPLY buttons. Not required for OTP buttons (Meta supplies the label).
320
+ #
321
+ # @return [String, nil]
322
+ optional :text, String
323
+
324
+ # @!attribute url
325
+ # URL for URL-type buttons. Supports one variable ({{1}}).
326
+ #
327
+ # @return [String, nil]
328
+ optional :url, String
329
+
330
+ # @!attribute zero_tap_terms_accepted
331
+ # Whether zero-tap terms have been accepted.
332
+ #
333
+ # @return [Boolean, nil]
334
+ optional :zero_tap_terms_accepted, Telnyx::Internal::Type::Boolean
335
+
336
+ # @!method initialize(type:, autofill_text: nil, example: nil, flow_action: nil, flow_id: nil, navigate_screen: nil, otp_type: nil, package_name: nil, phone_number: nil, signature_hash: nil, text: nil, url: nil, zero_tap_terms_accepted: nil)
337
+ # Some parameter documentations has been truncated, see
338
+ # {Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button}
339
+ # for more details.
340
+ #
341
+ # @param type [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::Type]
342
+ #
343
+ # @param autofill_text [String] Custom autofill button text for ONE_TAP OTP buttons.
344
+ #
345
+ # @param example [Array<String>] Sample values for URL variable.
346
+ #
347
+ # @param flow_action [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::FlowAction] Flow action type for FLOW-type buttons.
348
+ #
349
+ # @param flow_id [String] Flow ID for FLOW-type buttons.
350
+ #
351
+ # @param navigate_screen [String] Target screen name for FLOW buttons with navigate action.
352
+ #
353
+ # @param otp_type [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button::OtpType]
354
+ #
355
+ # @param package_name [String] Android package name. Required for ONE_TAP OTP buttons.
356
+ #
357
+ # @param phone_number [String] Phone number in E.164 format.
358
+ #
359
+ # @param signature_hash [String] Android app signing key hash. Required for ONE_TAP OTP buttons.
360
+ #
361
+ # @param text [String] Button label text. Maximum 25 characters. Required for URL, PHONE_NUMBER, and QU
362
+ #
363
+ # @param url [String] URL for URL-type buttons. Supports one variable ({{1}}).
364
+ #
365
+ # @param zero_tap_terms_accepted [Boolean] Whether zero-tap terms have been accepted.
366
+
367
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button#type
368
+ module Type
369
+ extend Telnyx::Internal::Type::Enum
370
+
371
+ URL = :URL
372
+ PHONE_NUMBER = :PHONE_NUMBER
373
+ QUICK_REPLY = :QUICK_REPLY
374
+ OTP = :OTP
375
+ COPY_CODE = :COPY_CODE
376
+ FLOW = :FLOW
377
+
378
+ # @!method self.values
379
+ # @return [Array<Symbol>]
380
+ end
381
+
382
+ # Flow action type for FLOW-type buttons.
383
+ #
384
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button#flow_action
385
+ module FlowAction
386
+ extend Telnyx::Internal::Type::Enum
387
+
388
+ NAVIGATE = :navigate
389
+ DATA_EXCHANGE = :data_exchange
390
+
391
+ # @!method self.values
392
+ # @return [Array<Symbol>]
393
+ end
394
+
395
+ # @see Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons::Button#otp_type
396
+ module OtpType
397
+ extend Telnyx::Internal::Type::Enum
398
+
399
+ COPY_CODE = :COPY_CODE
400
+ ONE_TAP = :ONE_TAP
401
+
402
+ # @!method self.values
403
+ # @return [Array<Symbol>]
404
+ end
405
+ end
406
+ end
407
+
408
+ class Carousel < Telnyx::Internal::Type::BaseModel
409
+ # @!attribute cards
410
+ # Array of card objects, each with its own components.
411
+ #
412
+ # @return [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel::Card>]
413
+ required :cards,
414
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::WhatsappMessageTemplateUpdateParams::Component::Carousel::Card] }
415
+
416
+ # @!attribute type
417
+ #
418
+ # @return [Symbol, :CAROUSEL]
419
+ required :type, const: :CAROUSEL
420
+
421
+ # @!method initialize(cards:, type: :CAROUSEL)
422
+ # Carousel component for multi-card templates. Each card can contain its own
423
+ # header, body, and buttons.
424
+ #
425
+ # @param cards [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel::Card>] Array of card objects, each with its own components.
426
+ #
427
+ # @param type [Symbol, :CAROUSEL]
428
+
429
+ class Card < Telnyx::Internal::Type::BaseModel
430
+ # @!attribute components
431
+ #
432
+ # @return [Array<Hash{Symbol=>Object}>, nil]
433
+ optional :components,
434
+ Telnyx::Internal::Type::ArrayOf[Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]]
435
+
436
+ # @!method initialize(components: nil)
437
+ # @param components [Array<Hash{Symbol=>Object}>]
438
+ end
439
+ end
440
+
441
+ # @!method self.variants
442
+ # @return [Array(Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Footer, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel)]
443
+ end
42
444
  end
43
445
  end
44
446
  end
@@ -14,7 +14,8 @@ module Telnyx
14
14
  optional :category, enum: -> { Telnyx::WhatsappTemplateData::Category }
15
15
 
16
16
  # @!attribute components
17
- # Whatsapp template components (header, body, footer, buttons)
17
+ # Template components (header, body, footer, buttons) as submitted, including
18
+ # example values.
18
19
  #
19
20
  # @return [Array<Hash{Symbol=>Object}>, nil]
20
21
  optional :components,
@@ -46,6 +47,9 @@ module Telnyx
46
47
  optional :rejection_reason, String
47
48
 
48
49
  # @!attribute status
50
+ # Current template status from Meta (e.g. PENDING, APPROVED, REJECTED, PAUSED,
51
+ # DISABLED). Additional statuses may be returned as Meta evolves the template
52
+ # lifecycle.
49
53
  #
50
54
  # @return [String, nil]
51
55
  optional :status, String
@@ -66,11 +70,14 @@ module Telnyx
66
70
  optional :whatsapp_business_account, -> { Telnyx::WhatsappTemplateData::WhatsappBusinessAccount }
67
71
 
68
72
  # @!method initialize(id: nil, category: nil, components: nil, created_at: nil, language: nil, name: nil, record_type: nil, rejection_reason: nil, status: nil, template_id: nil, updated_at: nil, whatsapp_business_account: nil)
73
+ # Some parameter documentations has been truncated, see
74
+ # {Telnyx::Models::WhatsappTemplateData} for more details.
75
+ #
69
76
  # @param id [String]
70
77
  #
71
78
  # @param category [Symbol, Telnyx::Models::WhatsappTemplateData::Category]
72
79
  #
73
- # @param components [Array<Hash{Symbol=>Object}>] Whatsapp template components (header, body, footer, buttons)
80
+ # @param components [Array<Hash{Symbol=>Object}>] Template components (header, body, footer, buttons) as submitted, including exam
74
81
  #
75
82
  # @param created_at [Time]
76
83
  #
@@ -82,7 +89,7 @@ module Telnyx
82
89
  #
83
90
  # @param rejection_reason [String]
84
91
  #
85
- # @param status [String]
92
+ # @param status [String] Current template status from Meta (e.g. PENDING, APPROVED, REJECTED, PAUSED, DIS
86
93
  #
87
94
  # @param template_id [String]
88
95
  #
@@ -14,25 +14,25 @@ module Telnyx
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
- # @!attribute body_payment_signature
17
+ # @!attribute payment_signature
18
18
  # Base64-encoded signed payment authorization (x402 PaymentPayload). Can
19
19
  # alternatively be provided via the PAYMENT-SIGNATURE header.
20
20
  #
21
21
  # @return [String, nil]
22
- optional :body_payment_signature, String, api_name: :payment_signature
22
+ optional :payment_signature, String
23
23
 
24
24
  # @!attribute header_payment_signature
25
25
  #
26
26
  # @return [String, nil]
27
27
  optional :header_payment_signature, String
28
28
 
29
- # @!method initialize(id:, body_payment_signature: nil, header_payment_signature: nil, request_options: {})
29
+ # @!method initialize(id:, payment_signature: nil, header_payment_signature: nil, request_options: {})
30
30
  # Some parameter documentations has been truncated, see
31
31
  # {Telnyx::Models::X402::CreditAccountSettleParams} for more details.
32
32
  #
33
33
  # @param id [String] The quote ID to settle.
34
34
  #
35
- # @param body_payment_signature [String] Base64-encoded signed payment authorization (x402 PaymentPayload). Can alternati
35
+ # @param payment_signature [String] Base64-encoded signed payment authorization (x402 PaymentPayload). Can alternati
36
36
  #
37
37
  # @param header_payment_signature [String]
38
38
  #
@@ -983,7 +983,7 @@ module Telnyx
983
983
  #
984
984
  # @param noise_suppression_engine [Symbol, Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngine] The engine to use for noise suppression.
985
985
  #
986
- # @param noise_suppression_engine_config [Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig] Configuration parameters for noise suppression engines.
986
+ # @param noise_suppression_engine_config [Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig] Configuration parameters for noise suppression engines. Different engines suppor
987
987
  #
988
988
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
989
989
  #
@@ -5,15 +5,23 @@ module Telnyx
5
5
  class Whatsapp
6
6
  # Manage Whatsapp message templates
7
7
  class Templates
8
+ # Some parameter documentations has been truncated, see
9
+ # {Telnyx::Models::Whatsapp::TemplateCreateParams} for more details.
10
+ #
8
11
  # Create a Whatsapp message template
9
12
  #
10
13
  # @overload create(category:, components:, language:, name:, waba_id:, request_options: {})
11
14
  #
12
- # @param category [Symbol, Telnyx::Models::Whatsapp::TemplateCreateParams::Category]
13
- # @param components [Array<Hash{Symbol=>Object}>]
14
- # @param language [String]
15
- # @param name [String]
16
- # @param waba_id [String]
15
+ # @param category [Symbol, Telnyx::Models::Whatsapp::TemplateCreateParams::Category] Template category: AUTHENTICATION, UTILITY, or MARKETING.
16
+ #
17
+ # @param components [Array<Telnyx::Models::Whatsapp::TemplateCreateParams::Component::Header, Telnyx::Models::Whatsapp::TemplateCreateParams::Component::Body, Telnyx::Models::Whatsapp::TemplateCreateParams::Component::Footer, Telnyx::Models::Whatsapp::TemplateCreateParams::Component::Buttons, Telnyx::Models::Whatsapp::TemplateCreateParams::Component::Carousel>] Template components defining message structure. Passed through to Meta Graph API
18
+ #
19
+ # @param language [String] Template language code (e.g. en_US, es, pt_BR).
20
+ #
21
+ # @param name [String] Template name. Lowercase letters, numbers, and underscores only.
22
+ #
23
+ # @param waba_id [String] The WhatsApp Business Account ID.
24
+ #
17
25
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
18
26
  #
19
27
  # @return [Telnyx::Models::Whatsapp::TemplateCreateResponse]
@@ -32,7 +32,7 @@ module Telnyx
32
32
  #
33
33
  # @param category [Symbol, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Category]
34
34
  #
35
- # @param components [Array<Hash{Symbol=>Object}>]
35
+ # @param components [Array<Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Header, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Body, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Footer, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Buttons, Telnyx::Models::WhatsappMessageTemplateUpdateParams::Component::Carousel>] Updated template components. Same structure as the create request.
36
36
  #
37
37
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
38
38
  #
@@ -38,11 +38,11 @@ module Telnyx
38
38
  # `payment_signature` body parameter. Settlement is idempotent — submitting the
39
39
  # same quote ID multiple times returns the existing transaction.
40
40
  #
41
- # @overload settle(id:, body_payment_signature: nil, header_payment_signature: nil, request_options: {})
41
+ # @overload settle(id:, payment_signature: nil, header_payment_signature: nil, request_options: {})
42
42
  #
43
43
  # @param id [String] Body param: The quote ID to settle.
44
44
  #
45
- # @param body_payment_signature [String] Body param: Base64-encoded signed payment authorization (x402 PaymentPayload). C
45
+ # @param payment_signature [String] Body param: Base64-encoded signed payment authorization (x402 PaymentPayload). C
46
46
  #
47
47
  # @param header_payment_signature [String] Header param: Signed payment authorization for the quote. Alternative to providi
48
48
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.61.0"
4
+ VERSION = "5.63.0"
5
5
  end
@@ -160,12 +160,12 @@ module Telnyx
160
160
  Integer,
161
161
  T::Boolean,
162
162
  T::Array[
163
- Telnyx::AI::ConversationAddMessageParams::Metadata::UnionArrayVariant3::Variants
163
+ Telnyx::AI::ConversationAddMessageParams::Metadata::UnionMember3::Variants
164
164
  ]
165
165
  )
166
166
  end
167
167
 
168
- module UnionArrayVariant3
168
+ module UnionMember3
169
169
  extend Telnyx::Internal::Type::Union
170
170
 
171
171
  Variants = T.type_alias { T.any(String, Integer, T::Boolean) }
@@ -173,7 +173,7 @@ module Telnyx
173
173
  sig do
174
174
  override.returns(
175
175
  T::Array[
176
- Telnyx::AI::ConversationAddMessageParams::Metadata::UnionArrayVariant3::Variants
176
+ Telnyx::AI::ConversationAddMessageParams::Metadata::UnionMember3::Variants
177
177
  ]
178
178
  )
179
179
  end
@@ -191,11 +191,11 @@ module Telnyx
191
191
  def self.variants
192
192
  end
193
193
 
194
- UnionArrayVariant3Array =
194
+ UnionMember3Array =
195
195
  T.let(
196
196
  Telnyx::Internal::Type::ArrayOf[
197
197
  union:
198
- Telnyx::AI::ConversationAddMessageParams::Metadata::UnionArrayVariant3
198
+ Telnyx::AI::ConversationAddMessageParams::Metadata::UnionMember3
199
199
  ],
200
200
  Telnyx::Internal::Type::Converter
201
201
  )