twilio-ruby 7.0.2 → 7.1.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +58 -0
  3. data/Gemfile +1 -0
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +3 -3
  6. data/lib/twilio-ruby/rest/client.rb +3 -3
  7. data/lib/twilio-ruby/rest/content/v2/content.rb +316 -0
  8. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +309 -0
  9. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  10. data/lib/twilio-ruby/rest/content_base.rb +6 -1
  11. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +1 -1
  12. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +8 -1
  13. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +444 -0
  14. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +355 -0
  15. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +215 -0
  16. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +196 -0
  17. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +357 -0
  18. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +355 -0
  19. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +9 -8
  20. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +18 -18
  21. data/lib/twilio-ruby/rest/intelligence/v2.rb +112 -0
  22. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +308 -0
  23. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +335 -0
  24. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +350 -0
  25. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +169 -0
  26. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +461 -0
  27. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +282 -0
  28. data/lib/twilio-ruby/rest/marketplace/v1.rb +79 -0
  29. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  30. data/lib/twilio-ruby/rest/{preview_messaging_base.rb → marketplace_base.rb} +6 -6
  31. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -7
  32. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +15 -3
  33. data/lib/twilio-ruby/rest/messaging/v1.rb +1 -1
  34. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +86 -1
  35. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +126 -2
  36. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +148 -0
  37. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +167 -0
  38. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_fetch.rb +160 -0
  39. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +176 -0
  40. data/lib/twilio-ruby/rest/numbers/v1.rb +35 -32
  41. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +1 -1
  42. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +2 -2
  43. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +2 -2
  44. data/lib/twilio-ruby/rest/preview/sync/service.rb +2 -2
  45. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +1 -1
  46. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +2 -2
  47. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +2 -2
  48. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +1 -1
  49. data/lib/twilio-ruby/rest/sync/v1/service.rb +3 -3
  50. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +33 -4
  51. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +4 -1
  52. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +7 -0
  53. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +7 -0
  54. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +1 -1
  55. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +1 -1
  56. data/lib/twilio-ruby/rest/verify/v2/service.rb +1 -1
  57. data/lib/twilio-ruby/version.rb +1 -1
  58. metadata +24 -9
  59. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +0 -230
  60. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_fetch.rb +0 -252
  61. data/lib/twilio-ruby/rest/preview_messaging/v1/broadcast.rb +0 -164
  62. data/lib/twilio-ruby/rest/preview_messaging/v1/message.rb +0 -235
  63. data/lib/twilio-ruby/rest/preview_messaging/v1.rb +0 -46
  64. data/lib/twilio-ruby/rest/preview_messaging.rb +0 -12
@@ -0,0 +1,309 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Content
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Content < ContentBase
19
+ class V2 < Version
20
+ class ContentAndApprovalsList < ListResource
21
+
22
+ ##
23
+ # Initialize the ContentAndApprovalsList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [ContentAndApprovalsList] ContentAndApprovalsList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/ContentAndApprovals"
31
+
32
+ end
33
+
34
+ ##
35
+ # Lists ContentAndApprovalsInstance records from the API as a list.
36
+ # Unlike stream(), this operation is eager and will load `limit` records into
37
+ # memory before returning.
38
+ # @param [String] sort_by_date Whether to sort by ascending or descending date updated
39
+ # @param [String] sort_by_content_name Whether to sort by ascending or descending content name
40
+ # @param [Time] date_created_after Filter by >=[date-time]
41
+ # @param [Time] date_created_before Filter by <=[date-time]
42
+ # @param [String] content_name Filter by Regex Pattern in content name
43
+ # @param [String] content Filter by Regex Pattern in template content
44
+ # @param [Array[String]] language Filter by array of valid language(s)
45
+ # @param [Array[String]] content_type Filter by array of contentType(s)
46
+ # @param [Array[String]] channel_eligibility Filter by array of ChannelEligibility(s), where ChannelEligibility=<channel>:<status>
47
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
48
+ # guarantees to never return more than limit. Default is no limit
49
+ # @param [Integer] page_size Number of records to fetch per request, when
50
+ # not set will use the default value of 50 records. If no page_size is defined
51
+ # but a limit is defined, stream() will attempt to read the limit with the most
52
+ # efficient page size, i.e. min(limit, 1000)
53
+ # @return [Array] Array of up to limit results
54
+ def list(sort_by_date: :unset, sort_by_content_name: :unset, date_created_after: :unset, date_created_before: :unset, content_name: :unset, content: :unset, language: :unset, content_type: :unset, channel_eligibility: :unset, limit: nil, page_size: nil)
55
+ self.stream(
56
+ sort_by_date: sort_by_date,
57
+ sort_by_content_name: sort_by_content_name,
58
+ date_created_after: date_created_after,
59
+ date_created_before: date_created_before,
60
+ content_name: content_name,
61
+ content: content,
62
+ language: language,
63
+ content_type: content_type,
64
+ channel_eligibility: channel_eligibility,
65
+ limit: limit,
66
+ page_size: page_size
67
+ ).entries
68
+ end
69
+
70
+ ##
71
+ # Streams Instance records from the API as an Enumerable.
72
+ # This operation lazily loads records as efficiently as possible until the limit
73
+ # is reached.
74
+ # @param [String] sort_by_date Whether to sort by ascending or descending date updated
75
+ # @param [String] sort_by_content_name Whether to sort by ascending or descending content name
76
+ # @param [Time] date_created_after Filter by >=[date-time]
77
+ # @param [Time] date_created_before Filter by <=[date-time]
78
+ # @param [String] content_name Filter by Regex Pattern in content name
79
+ # @param [String] content Filter by Regex Pattern in template content
80
+ # @param [Array[String]] language Filter by array of valid language(s)
81
+ # @param [Array[String]] content_type Filter by array of contentType(s)
82
+ # @param [Array[String]] channel_eligibility Filter by array of ChannelEligibility(s), where ChannelEligibility=<channel>:<status>
83
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
84
+ # guarantees to never return more than limit. Default is no limit
85
+ # @param [Integer] page_size Number of records to fetch per request, when
86
+ # not set will use the default value of 50 records. If no page_size is defined
87
+ # but a limit is defined, stream() will attempt to read the limit with the most
88
+ # efficient page size, i.e. min(limit, 1000)
89
+ # @return [Enumerable] Enumerable that will yield up to limit results
90
+ def stream(sort_by_date: :unset, sort_by_content_name: :unset, date_created_after: :unset, date_created_before: :unset, content_name: :unset, content: :unset, language: :unset, content_type: :unset, channel_eligibility: :unset, limit: nil, page_size: nil)
91
+ limits = @version.read_limits(limit, page_size)
92
+
93
+ page = self.page(
94
+ sort_by_date: sort_by_date,
95
+ sort_by_content_name: sort_by_content_name,
96
+ date_created_after: date_created_after,
97
+ date_created_before: date_created_before,
98
+ content_name: content_name,
99
+ content: content,
100
+ language: language,
101
+ content_type: content_type,
102
+ channel_eligibility: channel_eligibility,
103
+ page_size: limits[:page_size], )
104
+
105
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
106
+ end
107
+
108
+ ##
109
+ # When passed a block, yields ContentAndApprovalsInstance records from the API.
110
+ # This operation lazily loads records as efficiently as possible until the limit
111
+ # is reached.
112
+ def each
113
+ limits = @version.read_limits
114
+
115
+ page = self.page(page_size: limits[:page_size], )
116
+
117
+ @version.stream(page,
118
+ limit: limits[:limit],
119
+ page_limit: limits[:page_limit]).each {|x| yield x}
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of ContentAndApprovalsInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [String] sort_by_date Whether to sort by ascending or descending date updated
126
+ # @param [String] sort_by_content_name Whether to sort by ascending or descending content name
127
+ # @param [Time] date_created_after Filter by >=[date-time]
128
+ # @param [Time] date_created_before Filter by <=[date-time]
129
+ # @param [String] content_name Filter by Regex Pattern in content name
130
+ # @param [String] content Filter by Regex Pattern in template content
131
+ # @param [Array[String]] language Filter by array of valid language(s)
132
+ # @param [Array[String]] content_type Filter by array of contentType(s)
133
+ # @param [Array[String]] channel_eligibility Filter by array of ChannelEligibility(s), where ChannelEligibility=<channel>:<status>
134
+ # @param [String] page_token PageToken provided by the API
135
+ # @param [Integer] page_number Page Number, this value is simply for client state
136
+ # @param [Integer] page_size Number of records to return, defaults to 50
137
+ # @return [Page] Page of ContentAndApprovalsInstance
138
+ def page(sort_by_date: :unset, sort_by_content_name: :unset, date_created_after: :unset, date_created_before: :unset, content_name: :unset, content: :unset, language: :unset, content_type: :unset, channel_eligibility: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
139
+ params = Twilio::Values.of({
140
+ 'SortByDate' => sort_by_date,
141
+ 'SortByContentName' => sort_by_content_name,
142
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
143
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
144
+ 'ContentName' => content_name,
145
+ 'Content' => content,
146
+
147
+ 'Language' => Twilio.serialize_list(language) { |e| e },
148
+
149
+ 'ContentType' => Twilio.serialize_list(content_type) { |e| e },
150
+
151
+ 'ChannelEligibility' => Twilio.serialize_list(channel_eligibility) { |e| e },
152
+ 'PageToken' => page_token,
153
+ 'Page' => page_number,
154
+ 'PageSize' => page_size,
155
+ })
156
+
157
+ response = @version.page('GET', @uri, params: params)
158
+
159
+ ContentAndApprovalsPage.new(@version, response, @solution)
160
+ end
161
+
162
+ ##
163
+ # Retrieve a single page of ContentAndApprovalsInstance records from the API.
164
+ # Request is executed immediately.
165
+ # @param [String] target_url API-generated URL for the requested results page
166
+ # @return [Page] Page of ContentAndApprovalsInstance
167
+ def get_page(target_url)
168
+ response = @version.domain.request(
169
+ 'GET',
170
+ target_url
171
+ )
172
+ ContentAndApprovalsPage.new(@version, response, @solution)
173
+ end
174
+
175
+
176
+
177
+ # Provide a user friendly representation
178
+ def to_s
179
+ '#<Twilio.Content.V2.ContentAndApprovalsList>'
180
+ end
181
+ end
182
+
183
+ class ContentAndApprovalsPage < Page
184
+ ##
185
+ # Initialize the ContentAndApprovalsPage
186
+ # @param [Version] version Version that contains the resource
187
+ # @param [Response] response Response from the API
188
+ # @param [Hash] solution Path solution for the resource
189
+ # @return [ContentAndApprovalsPage] ContentAndApprovalsPage
190
+ def initialize(version, response, solution)
191
+ super(version, response)
192
+
193
+ # Path Solution
194
+ @solution = solution
195
+ end
196
+
197
+ ##
198
+ # Build an instance of ContentAndApprovalsInstance
199
+ # @param [Hash] payload Payload response from the API
200
+ # @return [ContentAndApprovalsInstance] ContentAndApprovalsInstance
201
+ def get_instance(payload)
202
+ ContentAndApprovalsInstance.new(@version, payload)
203
+ end
204
+
205
+ ##
206
+ # Provide a user friendly representation
207
+ def to_s
208
+ '<Twilio.Content.V2.ContentAndApprovalsPage>'
209
+ end
210
+ end
211
+ class ContentAndApprovalsInstance < InstanceResource
212
+ ##
213
+ # Initialize the ContentAndApprovalsInstance
214
+ # @param [Version] version Version that contains the resource
215
+ # @param [Hash] payload payload that contains response from Twilio
216
+ # @param [String] account_sid The SID of the
217
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this ContentAndApprovals
218
+ # resource.
219
+ # @param [String] sid The SID of the Call resource to fetch.
220
+ # @return [ContentAndApprovalsInstance] ContentAndApprovalsInstance
221
+ def initialize(version, payload )
222
+ super(version)
223
+
224
+ # Marshaled Properties
225
+ @properties = {
226
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
227
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
228
+ 'sid' => payload['sid'],
229
+ 'account_sid' => payload['account_sid'],
230
+ 'friendly_name' => payload['friendly_name'],
231
+ 'language' => payload['language'],
232
+ 'variables' => payload['variables'],
233
+ 'types' => payload['types'],
234
+ 'approval_requests' => payload['approval_requests'],
235
+ }
236
+ end
237
+
238
+
239
+ ##
240
+ # @return [Time] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
241
+ def date_created
242
+ @properties['date_created']
243
+ end
244
+
245
+ ##
246
+ # @return [Time] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
247
+ def date_updated
248
+ @properties['date_updated']
249
+ end
250
+
251
+ ##
252
+ # @return [String] The unique string that that we created to identify the Content resource.
253
+ def sid
254
+ @properties['sid']
255
+ end
256
+
257
+ ##
258
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/usage/api/account) that created Content resource.
259
+ def account_sid
260
+ @properties['account_sid']
261
+ end
262
+
263
+ ##
264
+ # @return [String] A string name used to describe the Content resource. Not visible to the end recipient.
265
+ def friendly_name
266
+ @properties['friendly_name']
267
+ end
268
+
269
+ ##
270
+ # @return [String] Two-letter (ISO 639-1) language code (e.g., en) identifying the language the Content resource is in.
271
+ def language
272
+ @properties['language']
273
+ end
274
+
275
+ ##
276
+ # @return [Hash] Defines the default placeholder values for variables included in the Content resource. e.g. {\"1\": \"Customer_Name\"}.
277
+ def variables
278
+ @properties['variables']
279
+ end
280
+
281
+ ##
282
+ # @return [Hash] The [Content types](https://www.twilio.com/docs/content/content-types-overview) (e.g. twilio/text) for this Content resource.
283
+ def types
284
+ @properties['types']
285
+ end
286
+
287
+ ##
288
+ # @return [Hash] The submitted information and approval request status of the Content resource.
289
+ def approval_requests
290
+ @properties['approval_requests']
291
+ end
292
+
293
+ ##
294
+ # Provide a user friendly representation
295
+ def to_s
296
+ "<Twilio.Content.V2.ContentAndApprovalsInstance>"
297
+ end
298
+
299
+ ##
300
+ # Provide a detailed, user friendly representation
301
+ def inspect
302
+ "<Twilio.Content.V2.ContentAndApprovalsInstance>"
303
+ end
304
+ end
305
+
306
+ end
307
+ end
308
+ end
309
+ end
@@ -0,0 +1,46 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Content
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+ module Twilio
16
+ module REST
17
+ class Content
18
+ class V2 < Version
19
+ ##
20
+ # Initialize the V2 version of Content
21
+ def initialize(domain)
22
+ super
23
+ @version = 'v2'
24
+ @contents = nil
25
+ @content_and_approvals = nil
26
+ end
27
+
28
+ ##
29
+ # @return [Twilio::REST::Content::V2::ContentList]
30
+ def contents
31
+ @contents ||= ContentList.new self
32
+ end
33
+ ##
34
+ # @return [Twilio::REST::Content::V2::ContentAndApprovalsList]
35
+ def content_and_approvals
36
+ @content_and_approvals ||= ContentAndApprovalsList.new self
37
+ end
38
+ ##
39
+ # Provide a user friendly representation
40
+ def to_s
41
+ '<Twilio::REST::Content::V2>';
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -22,16 +22,21 @@ module Twilio
22
22
  @host = "content.twilio.com"
23
23
  @port = 443
24
24
  @v1 = nil
25
+ @v2 = nil
25
26
  end
26
27
 
27
28
  def v1
28
29
  @v1 ||= Content::V1.new self
29
30
  end
30
31
 
32
+ def v2
33
+ @v2 ||= Content::V2.new self
34
+ end
35
+
31
36
  ##
32
37
  # Provide a user friendly representation
33
38
  def to_s
34
- '<Twilio::REST::Content::V1>';
39
+ '<Twilio::REST::Content>';
35
40
  end
36
41
  end
37
42
  end
@@ -38,7 +38,7 @@ module Twilio
38
38
  # @return [InteractionInstance] Created InteractionInstance
39
39
  def create(
40
40
  channel: nil,
41
- routing: nil,
41
+ routing: :unset,
42
42
  interaction_context_sid: :unset
43
43
  )
44
44
 
@@ -273,6 +273,7 @@ module Twilio
273
273
  'changelog' => payload['changelog'],
274
274
  'private' => payload['private'],
275
275
  'archived' => payload['archived'],
276
+ 'validated' => payload['validated'],
276
277
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
277
278
  'url' => payload['url'],
278
279
  }
@@ -330,7 +331,7 @@ module Twilio
330
331
  end
331
332
 
332
333
  ##
333
- # @return [Boolean] Whether to inject credentials while accessing this Plugin Version. The default value is false.
334
+ # @return [Boolean] Whether the Flex Plugin Version is validated. The default value is false.
334
335
  def private
335
336
  @properties['private']
336
337
  end
@@ -341,6 +342,12 @@ module Twilio
341
342
  @properties['archived']
342
343
  end
343
344
 
345
+ ##
346
+ # @return [Boolean]
347
+ def validated
348
+ @properties['validated']
349
+ end
350
+
344
351
  ##
345
352
  # @return [Time] The date and time in GMT when the Flex Plugin Version was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
346
353
  def date_created