twilio-ruby 6.12.0 → 6.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48762986794b273b7af2af37ea08f77c99c93049
4
- data.tar.gz: 530db27d0d445c24427e75f5a311c2df08d06450
3
+ metadata.gz: 4ee4da7ce236e476901cca417a590ffbcc5dd90d
4
+ data.tar.gz: 7e0d20132c3cb96f03f2c6e3d42a9074ebf357fc
5
5
  SHA512:
6
- metadata.gz: 755b266ac2babc4897404c111b3543c3e2a5ba1bba2bb8b23075c57a0ac516be358d934abf2a6b87e484c65559c3ccce767add26eb45feace176869d2ec1b8e5
7
- data.tar.gz: 39b18ed0075bc5417d16cf2595d2e5e0e62caf2c520d1c72ce5d09231f767396134adbb6e320dbf288da2a92f72b0a67f7997fdf6b57b0b0d475473306aff8ff
6
+ metadata.gz: 4a7a0c2959b45c56f2ee701ecca64a21a6ec596e2a8b36c1761b32ce58e0669fecd3f2c61d0f749b5bcd8bea34c52e3e898231e3dad8eec421cd8b1637807575
7
+ data.tar.gz: 529e0dd106814e77a1b0b8588da5b7077dbe12a18ccfd69383e7caa7df23e75e41ba3bb7172c24c67bbd167a6aac101b19fc3f70785be0d31c09c231c3304627
data/CHANGES.md CHANGED
@@ -1,6 +1,32 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2024-03-12] Version 6.12.1
5
+ ---------------------------
6
+ **Api**
7
+ - Correct precedence documentation for application_sid vs status_callback in message creation
8
+ - Mark MaxPrice as deprecated
9
+
10
+ **Flex**
11
+ - Making `plugins` visibility to public
12
+
13
+ **Messaging**
14
+ - Add new `errors` attribute to the Brand Registration resource.
15
+ - Mark `brand_feedback` attribute as deprecated.
16
+ - Mark `failure_reason` attribute as deprecated.
17
+ - The new `errors` attribute is expected to provide additional information about Brand registration failures and feedback (if any has been provided by The Campaign Registry). Consumers should use this attribute instead of `brand_feedback` and `failure_reason`.
18
+
19
+ **Numbers**
20
+ - Correcting mount_name for porting port in fetch API
21
+
22
+ **Trusthub**
23
+ - Add new field in statusCallbackUrl in compliance_registration.
24
+ - Add new field in isvRegisteringForSelfOrTenant in compliance_registration.
25
+
26
+ **Twiml**
27
+ - Expanded description of Action parameter for Message verb
28
+
29
+
4
30
  [2024-02-27] Version 6.12.0
5
31
  ---------------------------
6
32
  **Library - Chore**
data/README.md CHANGED
@@ -39,13 +39,13 @@ This library supports the following Ruby implementations:
39
39
  To install using [Bundler][bundler] grab the latest stable version:
40
40
 
41
41
  ```ruby
42
- gem 'twilio-ruby', '~> 6.12.0'
42
+ gem 'twilio-ruby', '~> 6.12.1'
43
43
  ```
44
44
 
45
45
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
46
46
 
47
47
  ```bash
48
- gem install twilio-ruby -v 6.12.0
48
+ gem install twilio-ruby -v 6.12.1
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -36,8 +36,8 @@ module Twilio
36
36
  # Create the MessageInstance
37
37
  # @param [String] to The recipient's phone number in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (for SMS/MMS) or [channel address](https://www.twilio.com/docs/messaging/channels), e.g. `whatsapp:+15552229999`.
38
38
  # @param [String] status_callback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
39
- # @param [String] application_sid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). If this parameter is provided, the `status_callback` parameter of this request is ignored; [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL.
40
- # @param [Float] max_price The maximum price in US dollars that you are willing to pay for this Message's delivery. The value can have up to four decimal places. When the `max_price` parameter is provided, the cost of a message is checked before it is sent. If the cost exceeds `max_price`, the message is not sent and the Message `status` is `failed`.
39
+ # @param [String] application_sid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
40
+ # @param [Float] max_price [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
41
41
  # @param [Boolean] provide_feedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
42
42
  # @param [String] attempt Total number of attempts made (including this request) to send the message regardless of the provider used
43
43
  # @param [String] validity_period The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
@@ -0,0 +1,384 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Flex
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 FlexApi < FlexApiBase
19
+ class V1 < Version
20
+ class PluginContext < InstanceContext
21
+
22
+ class PluginVersionsList < ListResource
23
+
24
+ ##
25
+ # Initialize the PluginVersionsList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [PluginVersionsList] PluginVersionsList
28
+ def initialize(version, plugin_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { plugin_sid: plugin_sid }
32
+ @uri = "/PluginService/Plugins/#{@solution[:plugin_sid]}/Versions"
33
+
34
+ end
35
+ ##
36
+ # Create the PluginVersionsInstance
37
+ # @param [String] version The Flex Plugin Version's version.
38
+ # @param [String] plugin_url The URL of the Flex Plugin Version bundle
39
+ # @param [String] changelog The changelog of the Flex Plugin Version.
40
+ # @param [Boolean] private Whether this Flex Plugin Version requires authorization.
41
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
42
+ # @return [PluginVersionsInstance] Created PluginVersionsInstance
43
+ def create(
44
+ version: nil,
45
+ plugin_url: nil,
46
+ changelog: :unset,
47
+ private: :unset,
48
+ flex_metadata: :unset
49
+ )
50
+
51
+ data = Twilio::Values.of({
52
+ 'Version' => version,
53
+ 'PluginUrl' => plugin_url,
54
+ 'Changelog' => changelog,
55
+ 'Private' => private,
56
+ })
57
+
58
+
59
+ headers = Twilio::Values.of({ 'Flex-Metadata' => flex_metadata, })
60
+ payload = @version.create('POST', @uri, data: data, headers: headers)
61
+ PluginVersionsInstance.new(
62
+ @version,
63
+ payload,
64
+ plugin_sid: @solution[:plugin_sid],
65
+ )
66
+ end
67
+
68
+
69
+ ##
70
+ # Lists PluginVersionsInstance records from the API as a list.
71
+ # Unlike stream(), this operation is eager and will load `limit` records into
72
+ # memory before returning.
73
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
74
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
75
+ # guarantees to never return more than limit. Default is no limit
76
+ # @param [Integer] page_size Number of records to fetch per request, when
77
+ # not set will use the default value of 50 records. If no page_size is defined
78
+ # but a limit is defined, stream() will attempt to read the limit with the most
79
+ # efficient page size, i.e. min(limit, 1000)
80
+ # @return [Array] Array of up to limit results
81
+ def list(flex_metadata: :unset, limit: nil, page_size: nil)
82
+ self.stream(
83
+ flex_metadata: flex_metadata,
84
+ limit: limit,
85
+ page_size: page_size
86
+ ).entries
87
+ end
88
+
89
+ ##
90
+ # Streams Instance records from the API as an Enumerable.
91
+ # This operation lazily loads records as efficiently as possible until the limit
92
+ # is reached.
93
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
94
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
95
+ # guarantees to never return more than limit. Default is no limit
96
+ # @param [Integer] page_size Number of records to fetch per request, when
97
+ # not set will use the default value of 50 records. If no page_size is defined
98
+ # but a limit is defined, stream() will attempt to read the limit with the most
99
+ # efficient page size, i.e. min(limit, 1000)
100
+ # @return [Enumerable] Enumerable that will yield up to limit results
101
+ def stream(flex_metadata: :unset, limit: nil, page_size: nil)
102
+ limits = @version.read_limits(limit, page_size)
103
+
104
+ page = self.page(
105
+ flex_metadata: flex_metadata,
106
+ page_size: limits[:page_size], )
107
+
108
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
109
+ end
110
+
111
+ ##
112
+ # When passed a block, yields PluginVersionsInstance records from the API.
113
+ # This operation lazily loads records as efficiently as possible until the limit
114
+ # is reached.
115
+ def each
116
+ limits = @version.read_limits
117
+
118
+ page = self.page(page_size: limits[:page_size], )
119
+
120
+ @version.stream(page,
121
+ limit: limits[:limit],
122
+ page_limit: limits[:page_limit]).each {|x| yield x}
123
+ end
124
+
125
+ ##
126
+ # Retrieve a single page of PluginVersionsInstance records from the API.
127
+ # Request is executed immediately.
128
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
129
+ # @param [String] page_token PageToken provided by the API
130
+ # @param [Integer] page_number Page Number, this value is simply for client state
131
+ # @param [Integer] page_size Number of records to return, defaults to 50
132
+ # @return [Page] Page of PluginVersionsInstance
133
+ def page(flex_metadata: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
134
+ params = Twilio::Values.of({
135
+ 'Flex-Metadata' => flex_metadata,
136
+ 'PageToken' => page_token,
137
+ 'Page' => page_number,
138
+ 'PageSize' => page_size,
139
+ })
140
+
141
+ response = @version.page('GET', @uri, params: params)
142
+
143
+ PluginVersionsPage.new(@version, response, @solution)
144
+ end
145
+
146
+ ##
147
+ # Retrieve a single page of PluginVersionsInstance records from the API.
148
+ # Request is executed immediately.
149
+ # @param [String] target_url API-generated URL for the requested results page
150
+ # @return [Page] Page of PluginVersionsInstance
151
+ def get_page(target_url)
152
+ response = @version.domain.request(
153
+ 'GET',
154
+ target_url
155
+ )
156
+ PluginVersionsPage.new(@version, response, @solution)
157
+ end
158
+
159
+
160
+
161
+ # Provide a user friendly representation
162
+ def to_s
163
+ '#<Twilio.FlexApi.V1.PluginVersionsList>'
164
+ end
165
+ end
166
+
167
+
168
+ class PluginVersionsContext < InstanceContext
169
+ ##
170
+ # Initialize the PluginVersionsContext
171
+ # @param [Version] version Version that contains the resource
172
+ # @param [String] plugin_sid The SID of the Flex Plugin the resource to belongs to.
173
+ # @param [String] sid The SID of the Flex Plugin Version resource to fetch.
174
+ # @return [PluginVersionsContext] PluginVersionsContext
175
+ def initialize(version, plugin_sid, sid)
176
+ super(version)
177
+
178
+ # Path Solution
179
+ @solution = { plugin_sid: plugin_sid, sid: sid, }
180
+ @uri = "/PluginService/Plugins/#{@solution[:plugin_sid]}/Versions/#{@solution[:sid]}"
181
+
182
+
183
+ end
184
+ ##
185
+ # Fetch the PluginVersionsInstance
186
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
187
+ # @return [PluginVersionsInstance] Fetched PluginVersionsInstance
188
+ def fetch(
189
+ flex_metadata: :unset
190
+ )
191
+
192
+
193
+ headers = Twilio::Values.of({ 'Flex-Metadata' => flex_metadata, })
194
+ payload = @version.fetch('GET', @uri, headers: headers)
195
+ PluginVersionsInstance.new(
196
+ @version,
197
+ payload,
198
+ plugin_sid: @solution[:plugin_sid],
199
+ sid: @solution[:sid],
200
+ )
201
+ end
202
+
203
+
204
+ ##
205
+ # Provide a user friendly representation
206
+ def to_s
207
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
208
+ "#<Twilio.FlexApi.V1.PluginVersionsContext #{context}>"
209
+ end
210
+
211
+ ##
212
+ # Provide a detailed, user friendly representation
213
+ def inspect
214
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
215
+ "#<Twilio.FlexApi.V1.PluginVersionsContext #{context}>"
216
+ end
217
+ end
218
+
219
+ class PluginVersionsPage < Page
220
+ ##
221
+ # Initialize the PluginVersionsPage
222
+ # @param [Version] version Version that contains the resource
223
+ # @param [Response] response Response from the API
224
+ # @param [Hash] solution Path solution for the resource
225
+ # @return [PluginVersionsPage] PluginVersionsPage
226
+ def initialize(version, response, solution)
227
+ super(version, response)
228
+
229
+ # Path Solution
230
+ @solution = solution
231
+ end
232
+
233
+ ##
234
+ # Build an instance of PluginVersionsInstance
235
+ # @param [Hash] payload Payload response from the API
236
+ # @return [PluginVersionsInstance] PluginVersionsInstance
237
+ def get_instance(payload)
238
+ PluginVersionsInstance.new(@version, payload, plugin_sid: @solution[:plugin_sid])
239
+ end
240
+
241
+ ##
242
+ # Provide a user friendly representation
243
+ def to_s
244
+ '<Twilio.FlexApi.V1.PluginVersionsPage>'
245
+ end
246
+ end
247
+ class PluginVersionsInstance < InstanceResource
248
+ ##
249
+ # Initialize the PluginVersionsInstance
250
+ # @param [Version] version Version that contains the resource
251
+ # @param [Hash] payload payload that contains response from Twilio
252
+ # @param [String] account_sid The SID of the
253
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this PluginVersions
254
+ # resource.
255
+ # @param [String] sid The SID of the Call resource to fetch.
256
+ # @return [PluginVersionsInstance] PluginVersionsInstance
257
+ def initialize(version, payload , plugin_sid: nil, sid: nil)
258
+ super(version)
259
+
260
+ # Marshaled Properties
261
+ @properties = {
262
+ 'sid' => payload['sid'],
263
+ 'plugin_sid' => payload['plugin_sid'],
264
+ 'account_sid' => payload['account_sid'],
265
+ 'version' => payload['version'],
266
+ 'plugin_url' => payload['plugin_url'],
267
+ 'changelog' => payload['changelog'],
268
+ 'private' => payload['private'],
269
+ 'archived' => payload['archived'],
270
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
271
+ 'url' => payload['url'],
272
+ }
273
+
274
+ # Context
275
+ @instance_context = nil
276
+ @params = { 'plugin_sid' => plugin_sid || @properties['plugin_sid'] ,'sid' => sid || @properties['sid'] , }
277
+ end
278
+
279
+ ##
280
+ # Generate an instance context for the instance, the context is capable of
281
+ # performing various actions. All instance actions are proxied to the context
282
+ # @return [PluginVersionsContext] CallContext for this CallInstance
283
+ def context
284
+ unless @instance_context
285
+ @instance_context = PluginVersionsContext.new(@version , @params['plugin_sid'], @params['sid'])
286
+ end
287
+ @instance_context
288
+ end
289
+
290
+ ##
291
+ # @return [String] The unique string that we created to identify the Flex Plugin Version resource.
292
+ def sid
293
+ @properties['sid']
294
+ end
295
+
296
+ ##
297
+ # @return [String] The SID of the Flex Plugin resource this Flex Plugin Version belongs to.
298
+ def plugin_sid
299
+ @properties['plugin_sid']
300
+ end
301
+
302
+ ##
303
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Flex Plugin Version resource and owns this resource.
304
+ def account_sid
305
+ @properties['account_sid']
306
+ end
307
+
308
+ ##
309
+ # @return [String] The unique version of this Flex Plugin Version.
310
+ def version
311
+ @properties['version']
312
+ end
313
+
314
+ ##
315
+ # @return [String] The URL of where the Flex Plugin Version JavaScript bundle is hosted on.
316
+ def plugin_url
317
+ @properties['plugin_url']
318
+ end
319
+
320
+ ##
321
+ # @return [String] A changelog that describes the changes this Flex Plugin Version brings.
322
+ def changelog
323
+ @properties['changelog']
324
+ end
325
+
326
+ ##
327
+ # @return [Boolean] Whether to inject credentials while accessing this Plugin Version. The default value is false.
328
+ def private
329
+ @properties['private']
330
+ end
331
+
332
+ ##
333
+ # @return [Boolean] Whether the Flex Plugin Version is archived. The default value is false.
334
+ def archived
335
+ @properties['archived']
336
+ end
337
+
338
+ ##
339
+ # @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.
340
+ def date_created
341
+ @properties['date_created']
342
+ end
343
+
344
+ ##
345
+ # @return [String] The absolute URL of the Flex Plugin Version resource.
346
+ def url
347
+ @properties['url']
348
+ end
349
+
350
+ ##
351
+ # Fetch the PluginVersionsInstance
352
+ # @param [String] flex_metadata The Flex-Metadata HTTP request header
353
+ # @return [PluginVersionsInstance] Fetched PluginVersionsInstance
354
+ def fetch(
355
+ flex_metadata: :unset
356
+ )
357
+
358
+ context.fetch(
359
+ flex_metadata: flex_metadata,
360
+ )
361
+ end
362
+
363
+ ##
364
+ # Provide a user friendly representation
365
+ def to_s
366
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
367
+ "<Twilio.FlexApi.V1.PluginVersionsInstance #{values}>"
368
+ end
369
+
370
+ ##
371
+ # Provide a detailed, user friendly representation
372
+ def inspect
373
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
374
+ "<Twilio.FlexApi.V1.PluginVersionsInstance #{values}>"
375
+ end
376
+ end
377
+
378
+ end
379
+ end
380
+ end
381
+ end
382
+ end
383
+
384
+