twilio-ruby 7.10.7 → 7.11.1

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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +43 -67
  3. data/.gitignore +0 -1
  4. data/CHANGES.md +46 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +154 -0
  7. data/README.md +3 -3
  8. data/Rakefile +1 -1
  9. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -6
  10. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -12
  11. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
  12. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
  13. data/lib/twilio-ruby/rest/client.rb +0 -5
  14. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -1
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
  16. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
  17. data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -2
  18. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
  19. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +59 -21
  20. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
  21. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -10
  22. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
  23. data/lib/twilio-ruby/rest/conversations/v2.rb +45 -45
  24. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -2
  25. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -2
  26. data/lib/twilio-ruby/rest/iam_base.rb +6 -1
  27. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -0
  28. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
  29. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  30. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -1
  31. data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -1
  32. data/lib/twilio-ruby/rest/insights/v3.rb +1 -1
  33. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
  34. data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +502 -0
  35. data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
  36. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
  37. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
  38. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -117
  39. data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
  40. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -118
  41. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +13 -5
  42. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
  43. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -1
  44. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -132
  45. data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
  46. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -1
  47. data/lib/twilio-ruby/rest/memory/v1/observation.rb +70 -18
  48. data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -1
  49. data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
  50. data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -1
  51. data/lib/twilio-ruby/rest/memory/v1/revision.rb +1 -1
  52. data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
  53. data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
  54. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
  55. data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
  56. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
  57. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
  58. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -4
  59. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +231 -0
  60. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +238 -0
  61. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +245 -0
  62. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +224 -0
  63. data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
  64. data/lib/twilio-ruby/rest/{assistants/v1/session.rb → numbers/v2/caller_id.rb} +141 -127
  65. data/lib/twilio-ruby/rest/numbers/v2.rb +16 -0
  66. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -2
  67. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +259 -0
  68. data/lib/twilio-ruby/rest/oauth/v2/token.rb +8 -2
  69. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -19
  70. data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +465 -0
  71. data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
  72. data/lib/twilio-ruby/rest/routes_base.rb +6 -1
  73. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +330 -0
  74. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +233 -0
  75. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +321 -0
  76. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +233 -0
  77. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +445 -0
  78. data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +445 -0
  79. data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
  80. data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +556 -0
  81. data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +356 -0
  82. data/lib/twilio-ruby/rest/voice/v2/configuration.rb +412 -0
  83. data/lib/twilio-ruby/rest/voice/v2/recording.rb +616 -0
  84. data/lib/twilio-ruby/rest/voice/v2/transcription.rb +591 -0
  85. data/lib/twilio-ruby/rest/voice/v2/type.rb +518 -0
  86. data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
  87. data/lib/twilio-ruby/rest/voice_base.rb +5 -0
  88. data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
  89. data/lib/twilio-ruby/version.rb +1 -1
  90. data/twilio-ruby.gemspec +1 -1
  91. metadata +33 -21
  92. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
  93. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
  94. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
  97. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
  98. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
  99. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
  100. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
  101. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
  102. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
  103. data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
  104. data/lib/twilio-ruby/rest/assistants.rb +0 -6
  105. data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
@@ -63,6 +63,7 @@ module Twilio
63
63
  # @param [String] async_amd Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`.
64
64
  # @param [String] async_amd_status_callback The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
65
65
  # @param [String] async_amd_status_callback_method The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
66
+ # @param [String] passports The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string
66
67
  # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
67
68
  # @param [String] call_reason The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
68
69
  # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
@@ -102,6 +103,7 @@ module Twilio
102
103
  async_amd: :unset,
103
104
  async_amd_status_callback: :unset,
104
105
  async_amd_status_callback_method: :unset,
106
+ passports: :unset,
105
107
  byoc: :unset,
106
108
  call_reason: :unset,
107
109
  call_token: :unset,
@@ -142,6 +144,7 @@ module Twilio
142
144
  'AsyncAmd' => async_amd,
143
145
  'AsyncAmdStatusCallback' => async_amd_status_callback,
144
146
  'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
147
+ 'Passports' => passports,
145
148
  'Byoc' => byoc,
146
149
  'CallReason' => call_reason,
147
150
  'CallToken' => call_token,
@@ -197,6 +200,7 @@ module Twilio
197
200
  # @param [String] async_amd Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`.
198
201
  # @param [String] async_amd_status_callback The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
199
202
  # @param [String] async_amd_status_callback_method The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
203
+ # @param [String] passports The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string
200
204
  # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
201
205
  # @param [String] call_reason The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
202
206
  # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
@@ -236,6 +240,7 @@ module Twilio
236
240
  async_amd: :unset,
237
241
  async_amd_status_callback: :unset,
238
242
  async_amd_status_callback_method: :unset,
243
+ passports: :unset,
239
244
  byoc: :unset,
240
245
  call_reason: :unset,
241
246
  call_token: :unset,
@@ -276,6 +281,7 @@ module Twilio
276
281
  'AsyncAmd' => async_amd,
277
282
  'AsyncAmdStatusCallback' => async_amd_status_callback,
278
283
  'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
284
+ 'Passports' => passports,
279
285
  'Byoc' => byoc,
280
286
  'CallReason' => call_reason,
281
287
  'CallToken' => call_token,
@@ -85,8 +85,17 @@ module Twilio
85
85
  # @param [String] amd_status_callback_method The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
86
86
  # @param [String] trim Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
87
87
  # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
88
+ # @param [String] passports The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string
88
89
  # @param [String] client_notification_url The URL that we should use to deliver `push call notification`.
89
90
  # @param [String] caller_display_name The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
91
+ # @param [String] emergency_caller_position The emergency caller's GPS coordinates in decimal degrees format. Format: \\\"latitude longitude\\\" (space-separated) - Latitude: decimal degrees, range -90.0 to +90.0 (negative for South, positive for North) - Longitude: decimal degrees, range -180.0 to +180.0 (negative for West, positive for East) - Precision: up to 6 decimal places recommended for meter-level accuracy Note: If the value exceeds 150 characters, only the first 150 characters will be used.
92
+ # @param [String] emergency_caller_location The emergency caller's physical location description within a building or facility. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
93
+ # @param [String] emergency_name The emergency caller's organization or entity name. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
94
+ # @param [String] emergency_address The emergency caller's street address including street number and street name. Note: If the value exceeds 60 characters, only the first 60 characters will be used.
95
+ # @param [String] emergency_zip_code The emergency caller's postal code or ZIP code. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
96
+ # @param [String] emergency_city The emergency caller's city or municipality name. Should be the official city name as recognized by local authorities. Used in combination with state and country for emergency call routing. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
97
+ # @param [String] emergency_state The emergency caller's state or province. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
98
+ # @param [String] emergency_country The emergency caller's country. Currently supported US and CA only. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
90
99
  # @return [ParticipantInstance] Created ParticipantInstance
91
100
  def create(
92
101
  from: nil,
@@ -138,8 +147,17 @@ module Twilio
138
147
  amd_status_callback_method: :unset,
139
148
  trim: :unset,
140
149
  call_token: :unset,
150
+ passports: :unset,
141
151
  client_notification_url: :unset,
142
- caller_display_name: :unset
152
+ caller_display_name: :unset,
153
+ emergency_caller_position: :unset,
154
+ emergency_caller_location: :unset,
155
+ emergency_name: :unset,
156
+ emergency_address: :unset,
157
+ emergency_zip_code: :unset,
158
+ emergency_city: :unset,
159
+ emergency_state: :unset,
160
+ emergency_country: :unset
143
161
  )
144
162
 
145
163
  data = Twilio::Values.of({
@@ -192,8 +210,17 @@ module Twilio
192
210
  'AmdStatusCallbackMethod' => amd_status_callback_method,
193
211
  'Trim' => trim,
194
212
  'CallToken' => call_token,
213
+ 'Passports' => passports,
195
214
  'ClientNotificationUrl' => client_notification_url,
196
215
  'CallerDisplayName' => caller_display_name,
216
+ 'EmergencyCallerPosition' => emergency_caller_position,
217
+ 'EmergencyCallerLocation' => emergency_caller_location,
218
+ 'EmergencyName' => emergency_name,
219
+ 'EmergencyAddress' => emergency_address,
220
+ 'EmergencyZipCode' => emergency_zip_code,
221
+ 'EmergencyCity' => emergency_city,
222
+ 'EmergencyState' => emergency_state,
223
+ 'EmergencyCountry' => emergency_country,
197
224
  })
198
225
 
199
226
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -262,8 +289,17 @@ module Twilio
262
289
  # @param [String] amd_status_callback_method The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
263
290
  # @param [String] trim Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
264
291
  # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
292
+ # @param [String] passports The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string
265
293
  # @param [String] client_notification_url The URL that we should use to deliver `push call notification`.
266
294
  # @param [String] caller_display_name The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
295
+ # @param [String] emergency_caller_position The emergency caller's GPS coordinates in decimal degrees format. Format: \\\"latitude longitude\\\" (space-separated) - Latitude: decimal degrees, range -90.0 to +90.0 (negative for South, positive for North) - Longitude: decimal degrees, range -180.0 to +180.0 (negative for West, positive for East) - Precision: up to 6 decimal places recommended for meter-level accuracy Note: If the value exceeds 150 characters, only the first 150 characters will be used.
296
+ # @param [String] emergency_caller_location The emergency caller's physical location description within a building or facility. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
297
+ # @param [String] emergency_name The emergency caller's organization or entity name. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
298
+ # @param [String] emergency_address The emergency caller's street address including street number and street name. Note: If the value exceeds 60 characters, only the first 60 characters will be used.
299
+ # @param [String] emergency_zip_code The emergency caller's postal code or ZIP code. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
300
+ # @param [String] emergency_city The emergency caller's city or municipality name. Should be the official city name as recognized by local authorities. Used in combination with state and country for emergency call routing. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
301
+ # @param [String] emergency_state The emergency caller's state or province. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
302
+ # @param [String] emergency_country The emergency caller's country. Currently supported US and CA only. Note: If the value exceeds 20 characters, only the first 20 characters will be used.
267
303
  # @return [ParticipantInstance] Created ParticipantInstance
268
304
  def create_with_metadata(
269
305
  from: nil,
@@ -315,8 +351,17 @@ module Twilio
315
351
  amd_status_callback_method: :unset,
316
352
  trim: :unset,
317
353
  call_token: :unset,
354
+ passports: :unset,
318
355
  client_notification_url: :unset,
319
- caller_display_name: :unset
356
+ caller_display_name: :unset,
357
+ emergency_caller_position: :unset,
358
+ emergency_caller_location: :unset,
359
+ emergency_name: :unset,
360
+ emergency_address: :unset,
361
+ emergency_zip_code: :unset,
362
+ emergency_city: :unset,
363
+ emergency_state: :unset,
364
+ emergency_country: :unset
320
365
  )
321
366
 
322
367
  data = Twilio::Values.of({
@@ -369,8 +414,17 @@ module Twilio
369
414
  'AmdStatusCallbackMethod' => amd_status_callback_method,
370
415
  'Trim' => trim,
371
416
  'CallToken' => call_token,
417
+ 'Passports' => passports,
372
418
  'ClientNotificationUrl' => client_notification_url,
373
419
  'CallerDisplayName' => caller_display_name,
420
+ 'EmergencyCallerPosition' => emergency_caller_position,
421
+ 'EmergencyCallerLocation' => emergency_caller_location,
422
+ 'EmergencyName' => emergency_name,
423
+ 'EmergencyAddress' => emergency_address,
424
+ 'EmergencyZipCode' => emergency_zip_code,
425
+ 'EmergencyCity' => emergency_city,
426
+ 'EmergencyState' => emergency_state,
427
+ 'EmergencyCountry' => emergency_country,
374
428
  })
375
429
 
376
430
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -27,11 +27,6 @@ module Twilio
27
27
  @api ||= Api.new self
28
28
  end
29
29
  ##
30
- # Access the Assistants Twilio Domain
31
- def assistants
32
- @assistants ||= Assistants.new self
33
- end
34
- ##
35
30
  # Access the Bulkexports Twilio Domain
36
31
  def bulkexports
37
32
  @bulkexports ||= Bulkexports.new self
@@ -24,15 +24,18 @@ module Twilio
24
24
  class ContentApprovalRequest
25
25
  # @param [name]: [String] Name of the template.
26
26
  # @param [category]: [String] A WhatsApp recognized template category.
27
- attr_accessor :name, :category
27
+ # @param [send_ttl_seconds]: [String] Time-to-live in seconds for attempting to send a message with this Content
28
+ attr_accessor :name, :category, :send_ttl_seconds
28
29
  def initialize(payload)
29
30
  @name = payload["name"]
30
31
  @category = payload["category"]
32
+ @send_ttl_seconds = payload["send_ttl_seconds"]
31
33
  end
32
34
  def to_json(options = {})
33
35
  {
34
36
  "name": @name,
35
37
  "category": @category,
38
+ "send_ttl_seconds": @send_ttl_seconds,
36
39
  }.to_json(options)
37
40
  end
38
41
  end
@@ -218,6 +221,7 @@ module Twilio
218
221
  'status' => payload['status'],
219
222
  'rejection_reason' => payload['rejection_reason'],
220
223
  'allow_category_change' => payload['allow_category_change'],
224
+ 'send_ttl_seconds' => payload['send_ttl_seconds'],
221
225
  }
222
226
  end
223
227
 
@@ -258,6 +262,12 @@ module Twilio
258
262
  @properties['allow_category_change']
259
263
  end
260
264
 
265
+ ##
266
+ # @return [String] Time-to-live in seconds for attempting to send a message with this Content
267
+ def send_ttl_seconds
268
+ @properties['send_ttl_seconds']
269
+ end
270
+
261
271
  ##
262
272
  # Provide a user friendly representation
263
273
  def to_s
@@ -37,8 +37,8 @@ module Twilio
37
37
  # Create the MessageInstance
38
38
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
39
39
  # @param [String] body The content of the message, can be up to 1,600 characters long.
40
- # @param [Time] date_created The date that this resource was created.
41
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
40
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
41
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
42
42
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
43
43
  # @param [String] media_sid The Media SID to be attached to the new Message.
44
44
  # @param [String] content_sid The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content) template, required for template-generated messages. **Note** that if this field is set, `Body` and `MediaSid` parameters are ignored.
@@ -89,8 +89,8 @@ module Twilio
89
89
  # Create the MessageInstanceMetadata
90
90
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
91
91
  # @param [String] body The content of the message, can be up to 1,600 characters long.
92
- # @param [Time] date_created The date that this resource was created.
93
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
92
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
93
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
94
94
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
95
95
  # @param [String] media_sid The Media SID to be attached to the new Message.
96
96
  # @param [String] content_sid The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content) template, required for template-generated messages. **Note** that if this field is set, `Body` and `MediaSid` parameters are ignored.
@@ -384,8 +384,8 @@ module Twilio
384
384
  # Update the MessageInstance
385
385
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
386
386
  # @param [String] body The content of the message, can be up to 1,600 characters long.
387
- # @param [Time] date_created The date that this resource was created.
388
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
387
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
388
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
389
389
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
390
390
  # @param [String] subject The subject of the message, can be up to 256 characters long.
391
391
  # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -428,8 +428,8 @@ module Twilio
428
428
  # Update the MessageInstanceMetadata
429
429
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
430
430
  # @param [String] body The content of the message, can be up to 1,600 characters long.
431
- # @param [Time] date_created The date that this resource was created.
432
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
431
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
432
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
433
433
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
434
434
  # @param [String] subject The subject of the message, can be up to 256 characters long.
435
435
  # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -809,8 +809,8 @@ module Twilio
809
809
  # Update the MessageInstance
810
810
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
811
811
  # @param [String] body The content of the message, can be up to 1,600 characters long.
812
- # @param [Time] date_created The date that this resource was created.
813
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
812
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
813
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
814
814
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
815
815
  # @param [String] subject The subject of the message, can be up to 256 characters long.
816
816
  # @param [ConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -38,8 +38,8 @@ module Twilio
38
38
  # Create the MessageInstance
39
39
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
40
40
  # @param [String] body The content of the message, can be up to 1,600 characters long.
41
- # @param [Time] date_created The date that this resource was created.
42
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
41
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
42
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
43
43
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
44
44
  # @param [String] media_sid The Media SID to be attached to the new Message.
45
45
  # @param [String] content_sid The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content) template, required for template-generated messages. **Note** that if this field is set, `Body` and `MediaSid` parameters are ignored.
@@ -91,8 +91,8 @@ module Twilio
91
91
  # Create the MessageInstanceMetadata
92
92
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
93
93
  # @param [String] body The content of the message, can be up to 1,600 characters long.
94
- # @param [Time] date_created The date that this resource was created.
95
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
94
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
95
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
96
96
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
97
97
  # @param [String] media_sid The Media SID to be attached to the new Message.
98
98
  # @param [String] content_sid The unique ID of the multi-channel [Rich Content](https://www.twilio.com/docs/content) template, required for template-generated messages. **Note** that if this field is set, `Body` and `MediaSid` parameters are ignored.
@@ -390,8 +390,8 @@ module Twilio
390
390
  # Update the MessageInstance
391
391
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
392
392
  # @param [String] body The content of the message, can be up to 1,600 characters long.
393
- # @param [Time] date_created The date that this resource was created.
394
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
393
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
394
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
395
395
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
396
396
  # @param [String] subject The subject of the message, can be up to 256 characters long.
397
397
  # @param [ServiceConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -435,8 +435,8 @@ module Twilio
435
435
  # Update the MessageInstanceMetadata
436
436
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
437
437
  # @param [String] body The content of the message, can be up to 1,600 characters long.
438
- # @param [Time] date_created The date that this resource was created.
439
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
438
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
439
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
440
440
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
441
441
  # @param [String] subject The subject of the message, can be up to 256 characters long.
442
442
  # @param [ServiceConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -824,8 +824,8 @@ module Twilio
824
824
  # Update the MessageInstance
825
825
  # @param [String] author The channel specific identifier of the message's author. Defaults to `system`.
826
826
  # @param [String] body The content of the message, can be up to 1,600 characters long.
827
- # @param [Time] date_created The date that this resource was created.
828
- # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited.
827
+ # @param [Time] date_created The date that this resource was created. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
828
+ # @param [Time] date_updated The date that this resource was last updated. `null` if the message has not been edited. If you set this parameter, Twilio ignores any milliseconds in the timestamp.
829
829
  # @param [String] attributes A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \\\"{}\\\" will be returned.
830
830
  # @param [String] subject The subject of the message, can be up to 256 characters long.
831
831
  # @param [ServiceConversationMessageEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
@@ -44,7 +44,7 @@ module Twilio
44
44
  class ConversationsV2SendMessageParticipant
45
45
  # @param [participant_id]: [String] Participant ID to resolve address from.
46
46
  # @param [address]: [String] Explicit address formatted according to channel type.
47
- # @param [channel]: [String] Channel type for address resolution.
47
+ # @param [channel]: [ConversationsV2Channel]
48
48
  attr_accessor :participant_id, :address, :channel
49
49
  def initialize(payload)
50
50
  @participant_id = payload["participant_id"]
@@ -443,7 +443,7 @@ module Twilio
443
443
  end
444
444
 
445
445
  ##
446
- # @return [String] Current status of the Action. - PENDING: Action accepted, awaiting downstream confirmation - COMPLETED: Downstream backend confirmed the action - FAILED: Downstream backend reported a failure
446
+ # @return [ConversationsV2ActionStatus]
447
447
  def status
448
448
  @properties['status']
449
449
  end
@@ -83,13 +83,15 @@ module Twilio
83
83
  # @param [author]: [CommunicationList.CreateCommunicationInConversationRequestAuthor]
84
84
  # @param [content]: [CommunicationList.CreateCommunicationInConversationRequestContent]
85
85
  # @param [channel_id]: [String]
86
- # @param [recipients]: [Array<CommunicationList.CreateCommunicationInConversationRequestAuthor>]
87
- attr_accessor :author, :content, :channel_id, :recipients
86
+ # @param [recipients]: [Array<CommunicationList.CreateCommunicationInConversationRequestRecipients>]
87
+ # @param [occurred_at]: [Time] Timestamp when this Communication occurred. If omitted, the server uses the current time.
88
+ attr_accessor :author, :content, :channel_id, :recipients, :occurred_at
88
89
  def initialize(payload)
89
90
  @author = payload["author"]
90
91
  @content = payload["content"]
91
92
  @channel_id = payload["channel_id"]
92
93
  @recipients = payload["recipients"]
94
+ @occurred_at = payload["occurred_at"]
93
95
  end
94
96
  def to_json(options = {})
95
97
  {
@@ -97,13 +99,14 @@ module Twilio
97
99
  "content": @content,
98
100
  "channelId": @channel_id,
99
101
  "recipients": @recipients,
102
+ "occurredAt": @occurred_at,
100
103
  }.to_json(options)
101
104
  end
102
105
  end
103
106
 
104
107
  class CreateCommunicationInConversationRequestAuthor
105
108
  # @param [address]: [String]
106
- # @param [channel]: [String]
109
+ # @param [channel]: [String] Channel type for a Communication address.
107
110
  # @param [participant_id]: [String]
108
111
  attr_accessor :address, :channel, :participant_id
109
112
  def initialize(payload)
@@ -139,18 +142,37 @@ module Twilio
139
142
  end
140
143
  end
141
144
 
145
+ class CreateCommunicationInConversationRequestRecipients
146
+ # @param [address]: [String]
147
+ # @param [channel]: [String] Channel type for a Communication address.
148
+ # @param [participant_id]: [String]
149
+ attr_accessor :address, :channel, :participant_id
150
+ def initialize(payload)
151
+ @address = payload["address"]
152
+ @channel = payload["channel"]
153
+ @participant_id = payload["participant_id"]
154
+ end
155
+ def to_json(options = {})
156
+ {
157
+ "address": @address,
158
+ "channel": @channel,
159
+ "participantId": @participant_id,
160
+ }.to_json(options)
161
+ end
162
+ end
163
+
142
164
 
143
165
  ##
144
166
  # Initialize the CommunicationList
145
167
  # @param [Version] version Version that contains the resource
146
168
  # @return [CommunicationList] CommunicationList
147
- def initialize(version, conversation_sid: nil)
169
+ def initialize(version, conversation_id: nil)
148
170
 
149
171
  apiV1Version = ApiV1Version.new version.domain, version
150
172
  super(apiV1Version)
151
173
  # Path Solution
152
- @solution = { conversation_sid: conversation_sid }
153
- @uri = "/Conversations/#{@solution[:conversation_sid]}/Communications"
174
+ @solution = { conversation_id: conversation_id }
175
+ @uri = "/Conversations/#{@solution[:conversation_id]}/Communications"
154
176
 
155
177
  end
156
178
  ##
@@ -170,7 +192,7 @@ module Twilio
170
192
  CommunicationInstance.new(
171
193
  @version,
172
194
  payload,
173
- conversation_sid: @solution[:conversation_sid],
195
+ conversation_id: @solution[:conversation_id],
174
196
  )
175
197
  end
176
198
 
@@ -191,7 +213,7 @@ module Twilio
191
213
  communication_instance = CommunicationInstance.new(
192
214
  @version,
193
215
  response.body,
194
- conversation_sid: @solution[:conversation_sid],
216
+ conversation_id: @solution[:conversation_id],
195
217
  )
196
218
  CommunicationInstanceMetadata.new(
197
219
  @version,
@@ -344,17 +366,17 @@ module Twilio
344
366
  ##
345
367
  # Initialize the CommunicationContext
346
368
  # @param [Version] version Version that contains the resource
347
- # @param [String] conversation_sid
348
- # @param [String] sid
369
+ # @param [String] conversation_id
370
+ # @param [String] id
349
371
  # @return [CommunicationContext] CommunicationContext
350
- def initialize(version, conversation_sid, sid)
372
+ def initialize(version, conversation_id, id)
351
373
 
352
374
  apiV1Version = ApiV1Version.new version.domain, version
353
375
  super(apiV1Version)
354
376
 
355
377
  # Path Solution
356
- @solution = { conversation_sid: conversation_sid, sid: sid, }
357
- @uri = "/Conversations/#{@solution[:conversation_sid]}/Communications/#{@solution[:sid]}"
378
+ @solution = { conversation_id: conversation_id, id: id, }
379
+ @uri = "/Conversations/#{@solution[:conversation_id]}/Communications/#{@solution[:id]}"
358
380
 
359
381
 
360
382
  end
@@ -373,8 +395,8 @@ module Twilio
373
395
  CommunicationInstance.new(
374
396
  @version,
375
397
  payload,
376
- conversation_sid: @solution[:conversation_sid],
377
- sid: @solution[:sid],
398
+ conversation_id: @solution[:conversation_id],
399
+ id: @solution[:id],
378
400
  )
379
401
  end
380
402
 
@@ -393,8 +415,8 @@ module Twilio
393
415
  communication_instance = CommunicationInstance.new(
394
416
  @version,
395
417
  response.body,
396
- conversation_sid: @solution[:conversation_sid],
397
- sid: @solution[:sid],
418
+ conversation_id: @solution[:conversation_id],
419
+ id: @solution[:id],
398
420
  )
399
421
  CommunicationInstanceMetadata.new(
400
422
  @version,
@@ -488,7 +510,7 @@ module Twilio
488
510
  # @param [Hash] payload Payload response from the API
489
511
  # @return [CommunicationInstance] CommunicationInstance
490
512
  def get_instance(payload)
491
- CommunicationInstance.new(@version, payload, conversation_sid: @solution[:conversation_sid])
513
+ CommunicationInstance.new(@version, payload, conversation_id: @solution[:conversation_id])
492
514
  end
493
515
 
494
516
  ##
@@ -567,7 +589,7 @@ module Twilio
567
589
  # resource.
568
590
  # @param [String] sid The SID of the Call resource to fetch.
569
591
  # @return [CommunicationInstance] CommunicationInstance
570
- def initialize(version, payload , conversation_sid: nil, sid: nil)
592
+ def initialize(version, payload , conversation_id: nil, id: nil)
571
593
 
572
594
  apiV1Version = ApiV1Version.new version.domain, version
573
595
  super(apiV1Version)
@@ -589,7 +611,7 @@ module Twilio
589
611
 
590
612
  # Context
591
613
  @instance_context = nil
592
- @params = { 'conversation_sid' => conversation_sid || @properties['conversation_sid'] ,'sid' => sid || @properties['sid'] , }
614
+ @params = { 'conversation_id' => conversation_id || @properties['conversation_id'] ,'id' => id || @properties['id'] , }
593
615
  end
594
616
 
595
617
  ##
@@ -598,7 +620,7 @@ module Twilio
598
620
  # @return [CommunicationContext] CallContext for this CallInstance
599
621
  def context
600
622
  unless @instance_context
601
- @instance_context = CommunicationContext.new(@version , @params['conversation_sid'], @params['sid'])
623
+ @instance_context = CommunicationContext.new(@version , @params['conversation_id'], @params['id'])
602
624
  end
603
625
  @instance_context
604
626
  end