twilio-ruby 6.12.0 → 6.12.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.
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
+