twilio-ruby 7.5.2 → 7.6.0

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: d712ec9531d94615ce16b7b859693eb92efe8aef
4
- data.tar.gz: 81f4f2fe625f922615d0874cfe652058d6419229
3
+ metadata.gz: 5c84f48a652b0a72ebf4e7b6654813a215f94ed7
4
+ data.tar.gz: '04808d5c430749e3a35f0b5098b250a0fab1d476'
5
5
  SHA512:
6
- metadata.gz: 33d089a34b55b75c13a3643d14b02183c368906770af28917ef9a8441abffd73afb88c3495b9a6bf7a41868bc36372c18999fc04ff4f40376a8a4cb552bbe982
7
- data.tar.gz: 103dbb5c6885d46b382df7083ad299fb278392af5c9326fb63ec1e66fb0ce5af1be8ade1b2d4598c1b71b684f98af6c631d16c03f2fd8389c2f6b47dfc0529ba
6
+ metadata.gz: 3e9e6004baa7bb7d91fbec42f3dfbe73d1bf094d5c7452cdc64e078a4510ee2909da7778209b37061b8331455ddd058604cdefb062394256ecd8d3ebb15bfa3c
7
+ data.tar.gz: 11bb382b74ad1a2327aacfe4f1a061e8bce8056f0bb6c0b8cc425fb3d8769ec6db7c1cf258289ae8186c8113bf76a224bb4d81b95221c6bf64c3cc5d78f72bd7
data/CHANGES.md CHANGED
@@ -1,6 +1,27 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2025-05-05] Version 7.6.0
5
+ --------------------------
6
+ **Library - Chore**
7
+ - [PR #742](https://github.com/twilio/twilio-ruby/pull/742): remove ostruct and benchmark from gemspec. Thanks to [@oehlschl](https://github.com/oehlschl)!
8
+
9
+ **Api**
10
+ - Add `response_key` for `Usage Triggers` fetch endpoint.
11
+
12
+ **Flex**
13
+ - Add Update Interaction API
14
+ - Adding `webhook_ttid` as optional parameter in Interactions API
15
+
16
+ **Serverless**
17
+ - Add node22 as a valid Build runtime
18
+ - Add node20 as a valid Build runtime
19
+
20
+ **Video**
21
+ - removed `transcribe_participants_on_connect` and `transcriptions_configuration` from the room resource **(breaking change)**
22
+ - Added `transcribe_participants_on_connect` and `transcriptions_configuration` to the room resource
23
+
24
+
4
25
  [2025-04-07] Version 7.5.2
5
26
  --------------------------
6
27
  **Studio**
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', '~> 7.5.2'
42
+ gem 'twilio-ruby', '~> 7.6.0'
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 7.5.2
48
+ gem install twilio-ruby -v 7.6.0
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -42,7 +42,7 @@ module Twilio
42
42
  # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
43
43
  # @param [Array[String]] status_callback_event The call progress events that we will send to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and `completed`. If no event is specified, we send the `completed` status. If you want to receive multiple events, specify each one in a separate `status_callback_event` parameter. See the code sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). If an `application_sid` is present, this parameter is ignored.
44
44
  # @param [String] status_callback_method The HTTP method we should use when calling the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
45
- # @param [String] send_digits A string of keys to dial after connecting to the number, maximum of 32 digits. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example, if you connected to a company phone number and wanted to pause for one second, and then dial extension 1234 followed by the pound key, the value of this parameter would be `ww1234#`. Remember to URL-encode this string, since the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored.
45
+ # @param [String] send_digits The string of keys to dial after connecting to the number, with a maximum length of 32 digits. Valid digits in the string include any digit (`0`-`9`), '`A`', '`B`', '`C`', '`D`', '`#`', and '`*`'. You can also use '`w`' to insert a half-second pause and '`W`' to insert a one-second pause. For example, to pause for one second after connecting and then dial extension 1234 followed by the # key, set this parameter to `W1234#`. Be sure to URL-encode this string because the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored.
46
46
  # @param [String] timeout The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is `60` seconds and the maximum is `600` seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.
47
47
  # @param [Boolean] record Whether to record the call. Can be `true` to record the phone call, or `false` to not. The default is `false`. The `recording_url` is sent to the `status_callback` URL.
48
48
  # @param [String] recording_channels The number of channels in the final recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both legs of the call in a single channel of the recording file. `dual` records each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call.
@@ -47,7 +47,7 @@ module Twilio
47
47
  # @param [String] beep Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
48
48
  # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
49
49
  # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
50
- # @param [String] wait_url The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
50
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
51
51
  # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
52
52
  # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
53
53
  # @param [String] max_participants The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
@@ -374,7 +374,7 @@ module Twilio
374
374
  # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
375
375
  # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
376
376
  # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
377
- # @param [String] wait_url The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
377
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
378
378
  # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
379
379
  # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
380
380
  # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
@@ -633,7 +633,7 @@ module Twilio
633
633
  # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
634
634
  # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
635
635
  # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
636
- # @param [String] wait_url The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
636
+ # @param [String] wait_url The URL that Twilio calls using the `wait_method` before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting `wait_url` to `''`. For more details on the allowable verbs within the `waitUrl`, see the `waitUrl` attribute in the [<Conference> TwiML instruction](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
637
637
  # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
638
638
  # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
639
639
  # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
@@ -35,17 +35,20 @@ module Twilio
35
35
  # @param [Object] channel The Interaction's channel.
36
36
  # @param [Object] routing The Interaction's routing logic.
37
37
  # @param [String] interaction_context_sid The Interaction context sid is used for adding a context lookup sid
38
+ # @param [String] webhook_ttid The unique identifier for Interaction level webhook
38
39
  # @return [InteractionInstance] Created InteractionInstance
39
40
  def create(
40
41
  channel: nil,
41
42
  routing: :unset,
42
- interaction_context_sid: :unset
43
+ interaction_context_sid: :unset,
44
+ webhook_ttid: :unset
43
45
  )
44
46
 
45
47
  data = Twilio::Values.of({
46
48
  'Channel' => Twilio.serialize_object(channel),
47
49
  'Routing' => Twilio.serialize_object(routing),
48
50
  'InteractionContextSid' => interaction_context_sid,
51
+ 'WebhookTtid' => webhook_ttid,
49
52
  })
50
53
 
51
54
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -106,6 +109,32 @@ module Twilio
106
109
  )
107
110
  end
108
111
 
112
+ ##
113
+ # Update the InteractionInstance
114
+ # @param [String] webhook_ttid The unique identifier for Interaction level webhook
115
+ # @return [InteractionInstance] Updated InteractionInstance
116
+ def update(
117
+ webhook_ttid: :unset
118
+ )
119
+
120
+ data = Twilio::Values.of({
121
+ 'WebhookTtid' => webhook_ttid,
122
+ })
123
+
124
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
125
+
126
+
127
+
128
+
129
+
130
+ payload = @version.update('POST', @uri, data: data, headers: headers)
131
+ InteractionInstance.new(
132
+ @version,
133
+ payload,
134
+ sid: @solution[:sid],
135
+ )
136
+ end
137
+
109
138
  ##
110
139
  # Access the channels
111
140
  # @return [InteractionChannelList]
@@ -190,6 +219,7 @@ module Twilio
190
219
  'url' => payload['url'],
191
220
  'links' => payload['links'],
192
221
  'interaction_context_sid' => payload['interaction_context_sid'],
222
+ 'webhook_ttid' => payload['webhook_ttid'],
193
223
  }
194
224
 
195
225
  # Context
@@ -244,6 +274,12 @@ module Twilio
244
274
  @properties['interaction_context_sid']
245
275
  end
246
276
 
277
+ ##
278
+ # @return [String]
279
+ def webhook_ttid
280
+ @properties['webhook_ttid']
281
+ end
282
+
247
283
  ##
248
284
  # Fetch the InteractionInstance
249
285
  # @return [InteractionInstance] Fetched InteractionInstance
@@ -252,6 +288,19 @@ module Twilio
252
288
  context.fetch
253
289
  end
254
290
 
291
+ ##
292
+ # Update the InteractionInstance
293
+ # @param [String] webhook_ttid The unique identifier for Interaction level webhook
294
+ # @return [InteractionInstance] Updated InteractionInstance
295
+ def update(
296
+ webhook_ttid: :unset
297
+ )
298
+
299
+ context.update(
300
+ webhook_ttid: webhook_ttid,
301
+ )
302
+ end
303
+
255
304
  ##
256
305
  # Access the channels
257
306
  # @return [channels] channels
@@ -0,0 +1,556 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Messaging
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 Messaging < MessagingBase
19
+ class V2 < Version
20
+ class ChannelsSenderList < ListResource
21
+
22
+ class MessagingV2ChannelsSenderProfileEmails
23
+ # @param [email]: [String] The email of the sender.
24
+ # @param [label]: [String] The label of the sender.
25
+ attr_accessor :email, :label
26
+ def initialize(payload)
27
+ @email = payload["email"]
28
+ @label = payload["label"]
29
+ end
30
+ def to_json(options = {})
31
+ {
32
+ "email": @email,
33
+ "label": @label,
34
+ }.to_json(options)
35
+ end
36
+ end
37
+
38
+ class MessagingV2ChannelsSenderProfileWebsites
39
+ # @param [label]: [String] The label of the sender.
40
+ # @param [website]: [String] The website of the sender.
41
+ attr_accessor :label, :website
42
+ def initialize(payload)
43
+ @label = payload["label"]
44
+ @website = payload["website"]
45
+ end
46
+ def to_json(options = {})
47
+ {
48
+ "label": @label,
49
+ "website": @website,
50
+ }.to_json(options)
51
+ end
52
+ end
53
+
54
+ class MessagingV2ChannelsSenderRequestsCreate
55
+ # @param [sender_id]: [String] The ID of this Sender prefixed with the channel, e.g., `whatsapp:E.164`
56
+ # @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
57
+ # @param [webhook]: [ChannelsSenderList.MessagingV2ChannelsSenderWebhook]
58
+ # @param [profile]: [ChannelsSenderList.MessagingV2ChannelsSenderProfile]
59
+ attr_accessor :sender_id, :configuration, :webhook, :profile
60
+ def initialize(payload)
61
+ @sender_id = payload["sender_id"]
62
+ @configuration = payload["configuration"]
63
+ @webhook = payload["webhook"]
64
+ @profile = payload["profile"]
65
+ end
66
+ def to_json(options = {})
67
+ {
68
+ "sender_id": @sender_id,
69
+ "configuration": @configuration,
70
+ "webhook": @webhook,
71
+ "profile": @profile,
72
+ }.to_json(options)
73
+ end
74
+ end
75
+
76
+ class MessagingV2ChannelsSenderRequestsUpdate
77
+ # @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
78
+ # @param [webhook]: [ChannelsSenderList.MessagingV2ChannelsSenderWebhook]
79
+ # @param [profile]: [ChannelsSenderList.MessagingV2ChannelsSenderProfile]
80
+ attr_accessor :configuration, :webhook, :profile
81
+ def initialize(payload)
82
+ @configuration = payload["configuration"]
83
+ @webhook = payload["webhook"]
84
+ @profile = payload["profile"]
85
+ end
86
+ def to_json(options = {})
87
+ {
88
+ "configuration": @configuration,
89
+ "webhook": @webhook,
90
+ "profile": @profile,
91
+ }.to_json(options)
92
+ end
93
+ end
94
+
95
+
96
+ class MessagingV2ChannelsSenderProfileEmails
97
+ # @param [email]: [String] The email of the sender.
98
+ # @param [label]: [String] The label of the sender.
99
+ attr_accessor :email, :label
100
+ def initialize(payload)
101
+ @email = payload["email"]
102
+ @label = payload["label"]
103
+ end
104
+ def to_json(options = {})
105
+ {
106
+ "email": @email,
107
+ "label": @label,
108
+ }.to_json(options)
109
+ end
110
+ end
111
+
112
+ class MessagingV2ChannelsSenderProfileWebsites
113
+ # @param [label]: [String] The label of the sender.
114
+ # @param [website]: [String] The website of the sender.
115
+ attr_accessor :label, :website
116
+ def initialize(payload)
117
+ @label = payload["label"]
118
+ @website = payload["website"]
119
+ end
120
+ def to_json(options = {})
121
+ {
122
+ "label": @label,
123
+ "website": @website,
124
+ }.to_json(options)
125
+ end
126
+ end
127
+
128
+ class MessagingV2ChannelsSenderRequestsCreate
129
+ # @param [sender_id]: [String] The ID of this Sender prefixed with the channel, e.g., `whatsapp:E.164`
130
+ # @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
131
+ # @param [webhook]: [ChannelsSenderList.MessagingV2ChannelsSenderWebhook]
132
+ # @param [profile]: [ChannelsSenderList.MessagingV2ChannelsSenderProfile]
133
+ attr_accessor :sender_id, :configuration, :webhook, :profile
134
+ def initialize(payload)
135
+ @sender_id = payload["sender_id"]
136
+ @configuration = payload["configuration"]
137
+ @webhook = payload["webhook"]
138
+ @profile = payload["profile"]
139
+ end
140
+ def to_json(options = {})
141
+ {
142
+ "sender_id": @sender_id,
143
+ "configuration": @configuration,
144
+ "webhook": @webhook,
145
+ "profile": @profile,
146
+ }.to_json(options)
147
+ end
148
+ end
149
+
150
+ class MessagingV2ChannelsSenderRequestsUpdate
151
+ # @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
152
+ # @param [webhook]: [ChannelsSenderList.MessagingV2ChannelsSenderWebhook]
153
+ # @param [profile]: [ChannelsSenderList.MessagingV2ChannelsSenderProfile]
154
+ attr_accessor :configuration, :webhook, :profile
155
+ def initialize(payload)
156
+ @configuration = payload["configuration"]
157
+ @webhook = payload["webhook"]
158
+ @profile = payload["profile"]
159
+ end
160
+ def to_json(options = {})
161
+ {
162
+ "configuration": @configuration,
163
+ "webhook": @webhook,
164
+ "profile": @profile,
165
+ }.to_json(options)
166
+ end
167
+ end
168
+
169
+
170
+ ##
171
+ # Initialize the ChannelsSenderList
172
+ # @param [Version] version Version that contains the resource
173
+ # @return [ChannelsSenderList] ChannelsSenderList
174
+ def initialize(version)
175
+ super(version)
176
+ # Path Solution
177
+ @solution = { }
178
+ @uri = "/Channels/Senders"
179
+
180
+ end
181
+ ##
182
+ # Create the ChannelsSenderInstance
183
+ # @param [MessagingV2ChannelsSenderRequestsCreate] messaging_v2_channels_sender_requests_create
184
+ # @return [ChannelsSenderInstance] Created ChannelsSenderInstance
185
+ def create(messaging_v2_channels_sender_requests_create: nil
186
+ )
187
+
188
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
189
+ headers['Content-Type'] = 'application/json'
190
+
191
+
192
+
193
+
194
+ payload = @version.create('POST', @uri, headers: headers, data: messaging_v2_channels_sender_requests_create.to_json)
195
+ ChannelsSenderInstance.new(
196
+ @version,
197
+ payload,
198
+ )
199
+ end
200
+
201
+
202
+ ##
203
+ # Lists ChannelsSenderInstance records from the API as a list.
204
+ # Unlike stream(), this operation is eager and will load `limit` records into
205
+ # memory before returning.
206
+ # @param [String] channel
207
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
208
+ # guarantees to never return more than limit. Default is no limit
209
+ # @param [Integer] page_size Number of records to fetch per request, when
210
+ # not set will use the default value of 50 records. If no page_size is defined
211
+ # but a limit is defined, stream() will attempt to read the limit with the most
212
+ # efficient page size, i.e. min(limit, 1000)
213
+ # @return [Array] Array of up to limit results
214
+ def list(channel: nil, limit: nil, page_size: nil)
215
+ self.stream(
216
+ channel: channel,
217
+ limit: limit,
218
+ page_size: page_size
219
+ ).entries
220
+ end
221
+
222
+ ##
223
+ # Streams Instance records from the API as an Enumerable.
224
+ # This operation lazily loads records as efficiently as possible until the limit
225
+ # is reached.
226
+ # @param [String] channel
227
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
228
+ # guarantees to never return more than limit. Default is no limit
229
+ # @param [Integer] page_size Number of records to fetch per request, when
230
+ # not set will use the default value of 50 records. If no page_size is defined
231
+ # but a limit is defined, stream() will attempt to read the limit with the most
232
+ # efficient page size, i.e. min(limit, 1000)
233
+ # @return [Enumerable] Enumerable that will yield up to limit results
234
+ def stream(channel: nil, limit: nil, page_size: nil)
235
+ limits = @version.read_limits(limit, page_size)
236
+
237
+ page = self.page(
238
+ channel: channel,
239
+ page_size: limits[:page_size], )
240
+
241
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
242
+ end
243
+
244
+ ##
245
+ # When passed a block, yields ChannelsSenderInstance records from the API.
246
+ # This operation lazily loads records as efficiently as possible until the limit
247
+ # is reached.
248
+ def each
249
+ limits = @version.read_limits
250
+
251
+ page = self.page(page_size: limits[:page_size], )
252
+
253
+ @version.stream(page,
254
+ limit: limits[:limit],
255
+ page_limit: limits[:page_limit]).each {|x| yield x}
256
+ end
257
+
258
+ ##
259
+ # Retrieve a single page of ChannelsSenderInstance records from the API.
260
+ # Request is executed immediately.
261
+ # @param [String] channel
262
+ # @param [String] page_token PageToken provided by the API
263
+ # @param [Integer] page_number Page Number, this value is simply for client state
264
+ # @param [Integer] page_size Number of records to return, defaults to 50
265
+ # @return [Page] Page of ChannelsSenderInstance
266
+ def page(channel: nil, page_token: :unset, page_number: :unset, page_size: :unset)
267
+ params = Twilio::Values.of({
268
+ 'Channel' => channel,
269
+ 'PageToken' => page_token,
270
+ 'Page' => page_number,
271
+ 'PageSize' => page_size,
272
+ })
273
+ headers = Twilio::Values.of({})
274
+
275
+
276
+
277
+ response = @version.page('GET', @uri, params: params, headers: headers)
278
+
279
+ ChannelsSenderPage.new(@version, response, @solution)
280
+ end
281
+
282
+ ##
283
+ # Retrieve a single page of ChannelsSenderInstance records from the API.
284
+ # Request is executed immediately.
285
+ # @param [String] target_url API-generated URL for the requested results page
286
+ # @return [Page] Page of ChannelsSenderInstance
287
+ def get_page(target_url)
288
+ response = @version.domain.request(
289
+ 'GET',
290
+ target_url
291
+ )
292
+ ChannelsSenderPage.new(@version, response, @solution)
293
+ end
294
+
295
+
296
+
297
+ # Provide a user friendly representation
298
+ def to_s
299
+ '#<Twilio.Messaging.V2.ChannelsSenderList>'
300
+ end
301
+ end
302
+
303
+
304
+ class ChannelsSenderContext < InstanceContext
305
+ ##
306
+ # Initialize the ChannelsSenderContext
307
+ # @param [Version] version Version that contains the resource
308
+ # @param [String] sid A 34 character string that uniquely identifies this Sender.
309
+ # @return [ChannelsSenderContext] ChannelsSenderContext
310
+ def initialize(version, sid)
311
+ super(version)
312
+
313
+ # Path Solution
314
+ @solution = { sid: sid, }
315
+ @uri = "/Channels/Senders/#{@solution[:sid]}"
316
+
317
+
318
+ end
319
+ ##
320
+ # Delete the ChannelsSenderInstance
321
+ # @return [Boolean] True if delete succeeds, false otherwise
322
+ def delete
323
+
324
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
325
+
326
+
327
+
328
+ @version.delete('DELETE', @uri, headers: headers)
329
+ end
330
+
331
+ ##
332
+ # Fetch the ChannelsSenderInstance
333
+ # @return [ChannelsSenderInstance] Fetched ChannelsSenderInstance
334
+ def fetch
335
+
336
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
337
+
338
+
339
+
340
+
341
+
342
+ payload = @version.fetch('GET', @uri, headers: headers)
343
+ ChannelsSenderInstance.new(
344
+ @version,
345
+ payload,
346
+ sid: @solution[:sid],
347
+ )
348
+ end
349
+
350
+ ##
351
+ # Update the ChannelsSenderInstance
352
+ # @param [MessagingV2ChannelsSenderRequestsUpdate] messaging_v2_channels_sender_requests_update
353
+ # @return [ChannelsSenderInstance] Updated ChannelsSenderInstance
354
+ def update(messaging_v2_channels_sender_requests_update: :unset
355
+ )
356
+
357
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
358
+ headers['Content-Type'] = 'application/json'
359
+
360
+
361
+
362
+
363
+ payload = @version.update('POST', @uri, headers: headers, data: messaging_v2_channels_sender_requests_update.to_json)
364
+ ChannelsSenderInstance.new(
365
+ @version,
366
+ payload,
367
+ sid: @solution[:sid],
368
+ )
369
+ end
370
+
371
+
372
+ ##
373
+ # Provide a user friendly representation
374
+ def to_s
375
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
376
+ "#<Twilio.Messaging.V2.ChannelsSenderContext #{context}>"
377
+ end
378
+
379
+ ##
380
+ # Provide a detailed, user friendly representation
381
+ def inspect
382
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
383
+ "#<Twilio.Messaging.V2.ChannelsSenderContext #{context}>"
384
+ end
385
+ end
386
+
387
+ class ChannelsSenderPage < Page
388
+ ##
389
+ # Initialize the ChannelsSenderPage
390
+ # @param [Version] version Version that contains the resource
391
+ # @param [Response] response Response from the API
392
+ # @param [Hash] solution Path solution for the resource
393
+ # @return [ChannelsSenderPage] ChannelsSenderPage
394
+ def initialize(version, response, solution)
395
+ super(version, response)
396
+
397
+ # Path Solution
398
+ @solution = solution
399
+ end
400
+
401
+ ##
402
+ # Build an instance of ChannelsSenderInstance
403
+ # @param [Hash] payload Payload response from the API
404
+ # @return [ChannelsSenderInstance] ChannelsSenderInstance
405
+ def get_instance(payload)
406
+ ChannelsSenderInstance.new(@version, payload)
407
+ end
408
+
409
+ ##
410
+ # Provide a user friendly representation
411
+ def to_s
412
+ '<Twilio.Messaging.V2.ChannelsSenderPage>'
413
+ end
414
+ end
415
+ class ChannelsSenderInstance < InstanceResource
416
+ ##
417
+ # Initialize the ChannelsSenderInstance
418
+ # @param [Version] version Version that contains the resource
419
+ # @param [Hash] payload payload that contains response from Twilio
420
+ # @param [String] account_sid The SID of the
421
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this ChannelsSender
422
+ # resource.
423
+ # @param [String] sid The SID of the Call resource to fetch.
424
+ # @return [ChannelsSenderInstance] ChannelsSenderInstance
425
+ def initialize(version, payload , sid: nil)
426
+ super(version)
427
+
428
+ # Marshaled Properties
429
+ @properties = {
430
+ 'sid' => payload['sid'],
431
+ 'status' => payload['status'],
432
+ 'sender_id' => payload['sender_id'],
433
+ 'configuration' => payload['configuration'],
434
+ 'webhook' => payload['webhook'],
435
+ 'profile' => payload['profile'],
436
+ 'properties' => payload['properties'],
437
+ 'offline_reasons' => payload['offline_reasons'],
438
+ 'url' => payload['url'],
439
+ }
440
+
441
+ # Context
442
+ @instance_context = nil
443
+ @params = { 'sid' => sid || @properties['sid'] , }
444
+ end
445
+
446
+ ##
447
+ # Generate an instance context for the instance, the context is capable of
448
+ # performing various actions. All instance actions are proxied to the context
449
+ # @return [ChannelsSenderContext] CallContext for this CallInstance
450
+ def context
451
+ unless @instance_context
452
+ @instance_context = ChannelsSenderContext.new(@version , @params['sid'])
453
+ end
454
+ @instance_context
455
+ end
456
+
457
+ ##
458
+ # @return [String] A 34 character string that uniquely identifies this Sender.
459
+ def sid
460
+ @properties['sid']
461
+ end
462
+
463
+ ##
464
+ # @return [Status]
465
+ def status
466
+ @properties['status']
467
+ end
468
+
469
+ ##
470
+ # @return [String] The ID of this Sender prefixed with the channel, e.g., `whatsapp:E.164`
471
+ def sender_id
472
+ @properties['sender_id']
473
+ end
474
+
475
+ ##
476
+ # @return [MessagingV2ChannelsSenderConfiguration]
477
+ def configuration
478
+ @properties['configuration']
479
+ end
480
+
481
+ ##
482
+ # @return [MessagingV2ChannelsSenderWebhook]
483
+ def webhook
484
+ @properties['webhook']
485
+ end
486
+
487
+ ##
488
+ # @return [MessagingV2ChannelsSenderProfile]
489
+ def profile
490
+ @properties['profile']
491
+ end
492
+
493
+ ##
494
+ # @return [MessagingV2ChannelsSenderProperties]
495
+ def properties
496
+ @properties['properties']
497
+ end
498
+
499
+ ##
500
+ # @return [Array<MessagingV2ChannelsSenderOfflineReasonsItems>] Reasons why the sender is offline., e.g., [{\"code\": \"21211400\", \"message\": \"Whatsapp business account is banned by provider {provider_name} | Credit line is assigned to another BSP\", \"more_info\": \"https://www.twilio.com/docs/errors/21211400\"}]
501
+ def offline_reasons
502
+ @properties['offline_reasons']
503
+ end
504
+
505
+ ##
506
+ # @return [String] The URL of this resource, relative to `https://messaging.twilio.com`.
507
+ def url
508
+ @properties['url']
509
+ end
510
+
511
+ ##
512
+ # Delete the ChannelsSenderInstance
513
+ # @return [Boolean] True if delete succeeds, false otherwise
514
+ def delete
515
+
516
+ context.delete
517
+ end
518
+
519
+ ##
520
+ # Fetch the ChannelsSenderInstance
521
+ # @return [ChannelsSenderInstance] Fetched ChannelsSenderInstance
522
+ def fetch
523
+
524
+ context.fetch
525
+ end
526
+
527
+ ##
528
+ # Update the ChannelsSenderInstance
529
+ # @param [MessagingV2ChannelsSenderRequestsUpdate] messaging_v2_channels_sender_requests_update
530
+ # @return [ChannelsSenderInstance] Updated ChannelsSenderInstance
531
+ def update(messaging_v2_channels_sender_requests_update: :unset
532
+ )
533
+
534
+ context.update(
535
+ )
536
+ end
537
+
538
+ ##
539
+ # Provide a user friendly representation
540
+ def to_s
541
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
542
+ "<Twilio.Messaging.V2.ChannelsSenderInstance #{values}>"
543
+ end
544
+
545
+ ##
546
+ # Provide a detailed, user friendly representation
547
+ def inspect
548
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
549
+ "<Twilio.Messaging.V2.ChannelsSenderInstance #{values}>"
550
+ end
551
+ end
552
+
553
+ end
554
+ end
555
+ end
556
+ end
@@ -0,0 +1,49 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Messaging
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 Messaging
18
+ class V2 < Version
19
+ ##
20
+ # Initialize the V2 version of Messaging
21
+ def initialize(domain)
22
+ super
23
+ @version = 'v2'
24
+ @channels_senders = nil
25
+ end
26
+
27
+ ##
28
+ # @param [String] sid A 34 character string that uniquely identifies this Sender.
29
+ # @return [Twilio::REST::Messaging::V2::ChannelsSenderContext] if sid was passed.
30
+ # @return [Twilio::REST::Messaging::V2::ChannelsSenderList]
31
+ def channels_senders(sid=:unset)
32
+ if sid.nil?
33
+ raise ArgumentError, 'sid cannot be nil'
34
+ end
35
+ if sid == :unset
36
+ @channels_senders ||= ChannelsSenderList.new self
37
+ else
38
+ ChannelsSenderContext.new(self, sid)
39
+ end
40
+ end
41
+ ##
42
+ # Provide a user friendly representation
43
+ def to_s
44
+ '<Twilio::REST::Messaging::V2>';
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -22,16 +22,21 @@ module Twilio
22
22
  @host = "messaging.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 ||= Messaging::V1.new self
29
30
  end
30
31
 
32
+ def v2
33
+ @v2 ||= Messaging::V2.new self
34
+ end
35
+
31
36
  ##
32
37
  # Provide a user friendly representation
33
38
  def to_s
34
- '<Twilio::REST::Messaging::V1>';
39
+ '<Twilio::REST::Messaging>';
35
40
  end
36
41
  end
37
42
  end
@@ -17,12 +17,12 @@ module Twilio
17
17
  module REST
18
18
  class Numbers < NumbersBase
19
19
  class V1 < Version
20
- class WebhookList < ListResource
20
+ class PortingWebhookConfigurationFetchList < ListResource
21
21
 
22
22
  ##
23
- # Initialize the WebhookList
23
+ # Initialize the PortingWebhookConfigurationFetchList
24
24
  # @param [Version] version Version that contains the resource
25
- # @return [WebhookList] WebhookList
25
+ # @return [PortingWebhookConfigurationFetchList] PortingWebhookConfigurationFetchList
26
26
  def initialize(version)
27
27
  super(version)
28
28
  # Path Solution
@@ -31,8 +31,8 @@ module Twilio
31
31
 
32
32
  end
33
33
  ##
34
- # Fetch the WebhookInstance
35
- # @return [WebhookInstance] Fetched WebhookInstance
34
+ # Fetch the PortingWebhookConfigurationFetchInstance
35
+ # @return [PortingWebhookConfigurationFetchInstance] Fetched PortingWebhookConfigurationFetchInstance
36
36
  def fetch
37
37
 
38
38
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -42,7 +42,7 @@ module Twilio
42
42
 
43
43
 
44
44
  payload = @version.fetch('GET', @uri, headers: headers)
45
- WebhookInstance.new(
45
+ PortingWebhookConfigurationFetchInstance.new(
46
46
  @version,
47
47
  payload,
48
48
  )
@@ -53,17 +53,17 @@ module Twilio
53
53
 
54
54
  # Provide a user friendly representation
55
55
  def to_s
56
- '#<Twilio.Numbers.V1.WebhookList>'
56
+ '#<Twilio.Numbers.V1.PortingWebhookConfigurationFetchList>'
57
57
  end
58
58
  end
59
59
 
60
- class WebhookPage < Page
60
+ class PortingWebhookConfigurationFetchPage < Page
61
61
  ##
62
- # Initialize the WebhookPage
62
+ # Initialize the PortingWebhookConfigurationFetchPage
63
63
  # @param [Version] version Version that contains the resource
64
64
  # @param [Response] response Response from the API
65
65
  # @param [Hash] solution Path solution for the resource
66
- # @return [WebhookPage] WebhookPage
66
+ # @return [PortingWebhookConfigurationFetchPage] PortingWebhookConfigurationFetchPage
67
67
  def initialize(version, response, solution)
68
68
  super(version, response)
69
69
 
@@ -72,29 +72,29 @@ module Twilio
72
72
  end
73
73
 
74
74
  ##
75
- # Build an instance of WebhookInstance
75
+ # Build an instance of PortingWebhookConfigurationFetchInstance
76
76
  # @param [Hash] payload Payload response from the API
77
- # @return [WebhookInstance] WebhookInstance
77
+ # @return [PortingWebhookConfigurationFetchInstance] PortingWebhookConfigurationFetchInstance
78
78
  def get_instance(payload)
79
- WebhookInstance.new(@version, payload)
79
+ PortingWebhookConfigurationFetchInstance.new(@version, payload)
80
80
  end
81
81
 
82
82
  ##
83
83
  # Provide a user friendly representation
84
84
  def to_s
85
- '<Twilio.Numbers.V1.WebhookPage>'
85
+ '<Twilio.Numbers.V1.PortingWebhookConfigurationFetchPage>'
86
86
  end
87
87
  end
88
- class WebhookInstance < InstanceResource
88
+ class PortingWebhookConfigurationFetchInstance < InstanceResource
89
89
  ##
90
- # Initialize the WebhookInstance
90
+ # Initialize the PortingWebhookConfigurationFetchInstance
91
91
  # @param [Version] version Version that contains the resource
92
92
  # @param [Hash] payload payload that contains response from Twilio
93
93
  # @param [String] account_sid The SID of the
94
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Webhook
94
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this PortingWebhookConfigurationFetch
95
95
  # resource.
96
96
  # @param [String] sid The SID of the Call resource to fetch.
97
- # @return [WebhookInstance] WebhookInstance
97
+ # @return [PortingWebhookConfigurationFetchInstance] PortingWebhookConfigurationFetchInstance
98
98
  def initialize(version, payload )
99
99
  super(version)
100
100
 
@@ -149,13 +149,13 @@ module Twilio
149
149
  ##
150
150
  # Provide a user friendly representation
151
151
  def to_s
152
- "<Twilio.Numbers.V1.WebhookInstance>"
152
+ "<Twilio.Numbers.V1.PortingWebhookConfigurationFetchInstance>"
153
153
  end
154
154
 
155
155
  ##
156
156
  # Provide a detailed, user friendly representation
157
157
  def inspect
158
- "<Twilio.Numbers.V1.WebhookInstance>"
158
+ "<Twilio.Numbers.V1.PortingWebhookConfigurationFetchInstance>"
159
159
  end
160
160
  end
161
161
 
@@ -28,8 +28,8 @@ module Twilio
28
28
  @porting_portabilities = nil
29
29
  @porting_webhook_configurations = nil
30
30
  @porting_webhook_configurations_delete = nil
31
+ @porting_webhook_configuration_fetch = nil
31
32
  @signing_request_configurations = nil
32
- @webhook = nil
33
33
  end
34
34
 
35
35
  ##
@@ -135,16 +135,16 @@ module Twilio
135
135
  end
136
136
  end
137
137
  ##
138
+ # @return [Twilio::REST::Numbers::V1::PortingWebhookConfigurationFetchList]
139
+ def porting_webhook_configuration_fetch
140
+ @porting_webhook_configuration_fetch ||= PortingWebhookConfigurationFetchList.new self
141
+ end
142
+ ##
138
143
  # @return [Twilio::REST::Numbers::V1::SigningRequestConfigurationList]
139
144
  def signing_request_configurations
140
145
  @signing_request_configurations ||= SigningRequestConfigurationList.new self
141
146
  end
142
147
  ##
143
- # @return [Twilio::REST::Numbers::V1::WebhookList]
144
- def webhook
145
- @webhook ||= WebhookList.new self
146
- end
147
- ##
148
148
  # Provide a user friendly representation
149
149
  def to_s
150
150
  '<Twilio::REST::Numbers::V1>';
@@ -39,9 +39,11 @@ module Twilio
39
39
  # @param [String] status_callback_method The HTTP method Twilio should use to call `status_callback`. Can be `POST` or `GET`.
40
40
  # @param [String] max_participants The maximum number of concurrent Participants allowed in the room. The maximum allowed value is 50.
41
41
  # @param [Boolean] record_participants_on_connect Whether to start recording when Participants connect.
42
+ # @param [Boolean] transcribe_participants_on_connect Whether to start transcriptions when Participants connect. If TranscriptionsConfiguration is not provided, default settings will be used.
42
43
  # @param [Array[VideoCodec]] video_codecs An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`.
43
44
  # @param [String] media_region The region for the Room's media server. Can be one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#group-rooms-media-servers).
44
45
  # @param [Object] recording_rules A collection of Recording Rules that describe how to include or exclude matching tracks for recording
46
+ # @param [Object] transcriptions_configuration A collection of properties that describe transcription behaviour. If TranscribeParticipantsOnConnect is set to true and TranscriptionsConfiguration is not provided, default settings will be used.
45
47
  # @param [Boolean] audio_only When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed.
46
48
  # @param [String] max_participant_duration The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
47
49
  # @param [String] empty_room_timeout Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions).
@@ -56,9 +58,11 @@ module Twilio
56
58
  status_callback_method: :unset,
57
59
  max_participants: :unset,
58
60
  record_participants_on_connect: :unset,
61
+ transcribe_participants_on_connect: :unset,
59
62
  video_codecs: :unset,
60
63
  media_region: :unset,
61
64
  recording_rules: :unset,
65
+ transcriptions_configuration: :unset,
62
66
  audio_only: :unset,
63
67
  max_participant_duration: :unset,
64
68
  empty_room_timeout: :unset,
@@ -74,9 +78,11 @@ module Twilio
74
78
  'StatusCallbackMethod' => status_callback_method,
75
79
  'MaxParticipants' => max_participants,
76
80
  'RecordParticipantsOnConnect' => record_participants_on_connect,
81
+ 'TranscribeParticipantsOnConnect' => transcribe_participants_on_connect,
77
82
  'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
78
83
  'MediaRegion' => media_region,
79
84
  'RecordingRules' => Twilio.serialize_object(recording_rules),
85
+ 'TranscriptionsConfiguration' => Twilio.serialize_object(transcriptions_configuration),
80
86
  'AudioOnly' => audio_only,
81
87
  'MaxParticipantDuration' => max_participant_duration,
82
88
  'EmptyRoomTimeout' => empty_room_timeout,
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '7.5.2'
2
+ VERSION = '7.6.0'
3
3
  end
data/twilio-ruby.gemspec CHANGED
@@ -28,8 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency('jwt', '>= 1.5', '< 3.0')
29
29
  spec.add_dependency('nokogiri', '>= 1.6', '< 2.0')
30
30
  spec.add_dependency('faraday', '>= 0.9', '< 3.0')
31
- spec.add_dependency 'ostruct'
32
- spec.add_dependency 'benchmark'
33
31
  # Workaround for RBX <= 2.2.1, should be fixed in next version
34
32
  spec.add_dependency('rubysl') if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
35
33
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.5.2
4
+ version: 7.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-07 00:00:00.000000000 Z
11
+ date: 2025-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -70,34 +70,6 @@ dependencies:
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
72
  version: '3.0'
73
- - !ruby/object:Gem::Dependency
74
- name: ostruct
75
- requirement: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: '0'
80
- type: :runtime
81
- prerelease: false
82
- version_requirements: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: '0'
87
- - !ruby/object:Gem::Dependency
88
- name: benchmark
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- type: :runtime
95
- prerelease: false
96
- version_requirements: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: '0'
101
73
  - !ruby/object:Gem::Dependency
102
74
  name: bundler
103
75
  requirement: !ruby/object:Gem::Requirement
@@ -627,6 +599,8 @@ files:
627
599
  - lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb
628
600
  - lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb
629
601
  - lib/twilio-ruby/rest/messaging/v1/usecase.rb
602
+ - lib/twilio-ruby/rest/messaging/v2.rb
603
+ - lib/twilio-ruby/rest/messaging/v2/channels_sender.rb
630
604
  - lib/twilio-ruby/rest/messaging_base.rb
631
605
  - lib/twilio-ruby/rest/microvisor.rb
632
606
  - lib/twilio-ruby/rest/microvisor/v1.rb
@@ -659,8 +633,8 @@ files:
659
633
  - lib/twilio-ruby/rest/numbers/v1/porting_portability.rb
660
634
  - lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb
661
635
  - lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb
636
+ - lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_fetch.rb
662
637
  - lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb
663
- - lib/twilio-ruby/rest/numbers/v1/webhook.rb
664
638
  - lib/twilio-ruby/rest/numbers/v2.rb
665
639
  - lib/twilio-ruby/rest/numbers/v2/authorization_document.rb
666
640
  - lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb