twilio-ruby 7.0.2 → 7.1.1

Sign up to get free protection for your applications and to get access to all the features.
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