twilio-ruby 7.6.0 → 7.6.2
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 +4 -4
- data/.github/workflows/test-and-deploy.yml +2 -2
- data/CHANGES.md +28 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/http/client_token_manager.rb +2 -2
- data/lib/twilio-ruby/http/org_token_manager.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +5 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +1 -1
- data/lib/twilio-ruby/rest/content/v1/content.rb +11 -2
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +3 -19
- data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +0 -64
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +3 -3
- data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +20 -20
- data/lib/twilio-ruby/rest/numbers/v1.rb +6 -6
- data/lib/twilio-ruby/rest/verify/v2/service.rb +1 -1
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +1 -1
- data/lib/twilio-ruby/twiml/voice_response.rb +24 -14
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f321f5183bb9ab541e4744c4a2a213cc0946181
|
4
|
+
data.tar.gz: e7985074741cbbf76e57097bad449f6414438285
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1d83e1a70972240293d5515935f372a84a7bdf226da8f5529707f331abd74024039105156a3288f17d78ed2bb2862fb0e06aa1dde66d283b86dd7e8e6c88997
|
7
|
+
data.tar.gz: 6bd6e7ca9ea2d99e9863f3859aaea80ea3e015988be4f39d4951a06233fc52665715ca8e54b01899a8f22f47dc156ed00435de5f5942a0e52499f5f996359746
|
@@ -17,7 +17,7 @@ jobs:
|
|
17
17
|
timeout-minutes: 20
|
18
18
|
strategy:
|
19
19
|
matrix:
|
20
|
-
ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '
|
20
|
+
ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', 'jruby-9.3', 'jruby-9.4' ]
|
21
21
|
steps:
|
22
22
|
- name: Checkout twilio-ruby
|
23
23
|
uses: actions/checkout@v3
|
@@ -40,7 +40,7 @@ jobs:
|
|
40
40
|
|
41
41
|
- name: Run linter
|
42
42
|
run: bundle exec rubocop -d --cache true --parallel
|
43
|
-
if: ${{ matrix.ruby != '2.4'
|
43
|
+
if: ${{ matrix.ruby != '2.4'}}
|
44
44
|
|
45
45
|
- name: Run Unit Tests
|
46
46
|
run: make test
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,34 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
[2025-05-29] Version 7.6.2
|
5
|
+
--------------------------
|
6
|
+
**Library - Chore**
|
7
|
+
- [PR #749](https://github.com/twilio/twilio-ruby/pull/749): move from preview_iam to iam token endpoint. Thanks to [@manisha1997](https://github.com/manisha1997)!
|
8
|
+
- [PR #748](https://github.com/twilio/twilio-ruby/pull/748): removing ruby-head from CI. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
|
9
|
+
|
10
|
+
**Api**
|
11
|
+
- Added several usage category enums to `usage_record` API
|
12
|
+
|
13
|
+
**Numbers**
|
14
|
+
- Update the porting documentation
|
15
|
+
|
16
|
+
**Verify**
|
17
|
+
- Update `ienum` type for Channels in Verify Attempts API
|
18
|
+
|
19
|
+
|
20
|
+
[2025-05-13] Version 7.6.1
|
21
|
+
--------------------------
|
22
|
+
**Accounts**
|
23
|
+
- Changes to add date_of_consent param in Bulk Consent API
|
24
|
+
|
25
|
+
**Api**
|
26
|
+
- Change `friendly_name`, `date_created` and `date_updated` properties to type `string`.
|
27
|
+
|
28
|
+
**Twiml**
|
29
|
+
- Update twiml definition for `<ConversationRelay>` and `<Assistant>`
|
30
|
+
|
31
|
+
|
4
32
|
[2025-05-05] Version 7.6.0
|
5
33
|
--------------------------
|
6
34
|
**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', '~> 7.6.
|
42
|
+
gem 'twilio-ruby', '~> 7.6.2'
|
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.6.
|
48
|
+
gem install twilio-ruby -v 7.6.2
|
49
49
|
```
|
50
50
|
|
51
51
|
To build and install the development branch yourself from the latest source:
|
@@ -19,8 +19,8 @@ module Twilio
|
|
19
19
|
|
20
20
|
def fetch_access_token
|
21
21
|
client = Twilio::REST::Client.new
|
22
|
-
token_instance = client.
|
23
|
-
|
22
|
+
token_instance = client.iam.v1.token.create(grant_type: @grant_type,
|
23
|
+
client_id: @client_id, client_secret: @client_secret)
|
24
24
|
token_instance.access_token
|
25
25
|
end
|
26
26
|
end
|
@@ -19,8 +19,8 @@ module Twilio
|
|
19
19
|
|
20
20
|
def fetch_access_token
|
21
21
|
client = Twilio::REST::Client.new
|
22
|
-
token_instance = client.
|
23
|
-
|
22
|
+
token_instance = client.iam.v1.token.create(grant_type: @grant_type,
|
23
|
+
client_id: @client_id, client_secret: @client_secret)
|
24
24
|
token_instance.access_token
|
25
25
|
end
|
26
26
|
end
|
@@ -32,7 +32,7 @@ module Twilio
|
|
32
32
|
end
|
33
33
|
##
|
34
34
|
# Create the BulkConsentsInstance
|
35
|
-
# @param [Array[Hash]] items This is a list of objects that describes a contact's opt-in status. Each object contains the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID used to uniquely map the request item with the response item; `sender_id`, which can be either a valid messaging service SID or a from phone number; `status`, a string representing the consent status. Can be one of [`opt-in`, `opt-out`];
|
35
|
+
# @param [Array[Hash]] items This is a list of objects that describes a contact's opt-in status. Each object contains the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID used to uniquely map the request item with the response item; `sender_id`, which can be either a valid messaging service SID or a from phone number; `status`, a string representing the consent status. Can be one of [`opt-in`, `opt-out`]; `source`, a string indicating the medium through which the consent was collected. Can be one of [`website`, `offline`, `opt-in-message`, `opt-out-message`, `others`]; `date_of_consent`, an optional datetime string field in ISO-8601 format that captures the exact date and time when the user gave or revoked consent. If not provided, it will be empty.
|
36
36
|
# @return [BulkConsentsInstance] Created BulkConsentsInstance
|
37
37
|
def create(
|
38
38
|
items: nil
|
@@ -181,8 +181,8 @@ module Twilio
|
|
181
181
|
'voice_fallback_method' => payload['voice_fallback_method'],
|
182
182
|
'voice_fallback_url' => payload['voice_fallback_url'],
|
183
183
|
'voice_caller_id_lookup' => payload['voice_caller_id_lookup'],
|
184
|
-
'date_created' =>
|
185
|
-
'date_updated' =>
|
184
|
+
'date_created' => payload['date_created'],
|
185
|
+
'date_updated' => payload['date_updated'],
|
186
186
|
'sms_fallback_method' => payload['sms_fallback_method'],
|
187
187
|
'sms_fallback_url' => payload['sms_fallback_url'],
|
188
188
|
'sms_method' => payload['sms_method'],
|
@@ -257,13 +257,13 @@ module Twilio
|
|
257
257
|
end
|
258
258
|
|
259
259
|
##
|
260
|
-
# @return [
|
260
|
+
# @return [String] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
|
261
261
|
def date_created
|
262
262
|
@properties['date_created']
|
263
263
|
end
|
264
264
|
|
265
265
|
##
|
266
|
-
# @return [
|
266
|
+
# @return [String] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
|
267
267
|
def date_updated
|
268
268
|
@properties['date_updated']
|
269
269
|
end
|
@@ -299,7 +299,7 @@ module Twilio
|
|
299
299
|
end
|
300
300
|
|
301
301
|
##
|
302
|
-
# @return [
|
302
|
+
# @return [ApiV2010AccountAddressDependentPhoneNumberCapabilities]
|
303
303
|
def capabilities
|
304
304
|
@properties['capabilities']
|
305
305
|
end
|
@@ -48,7 +48,7 @@ module Twilio
|
|
48
48
|
# @param [String] speech_model Recognition model used by the transcription engine, among those supported by the provider
|
49
49
|
# @param [String] hints A Phrase contains words and phrase \\\"hints\\\" so that the speech recognition engine is more likely to recognize them.
|
50
50
|
# @param [Boolean] enable_automatic_punctuation The provider will add punctuation to recognition result
|
51
|
-
# @param [String] intelligence_service The SID or unique name of the [
|
51
|
+
# @param [String] intelligence_service The SID or unique name of the [Intelligence Service](https://www.twilio.com/docs/conversational-intelligence/api/service-resource) for persisting transcripts and running post-call Language Operators .
|
52
52
|
# @return [TranscriptionInstance] Created TranscriptionInstance
|
53
53
|
def create(
|
54
54
|
name: :unset,
|
@@ -41,13 +41,15 @@ module Twilio
|
|
41
41
|
# @param [url]: [String]
|
42
42
|
# @param [phone]: [String]
|
43
43
|
# @param [code]: [String]
|
44
|
-
|
44
|
+
# @param [id]: [String]
|
45
|
+
attr_accessor :type, :title, :url, :phone, :code, :id
|
45
46
|
def initialize(payload)
|
46
47
|
@type = payload["type"]
|
47
48
|
@title = payload["title"]
|
48
49
|
@url = payload["url"]
|
49
50
|
@phone = payload["phone"]
|
50
51
|
@code = payload["code"]
|
52
|
+
@id = payload["id"]
|
51
53
|
end
|
52
54
|
def to_json(options = {})
|
53
55
|
{
|
@@ -56,6 +58,7 @@ module Twilio
|
|
56
58
|
"url": @url,
|
57
59
|
"phone": @phone,
|
58
60
|
"code": @code,
|
61
|
+
"id": @id,
|
59
62
|
}.to_json(options)
|
60
63
|
end
|
61
64
|
end
|
@@ -397,17 +400,23 @@ module Twilio
|
|
397
400
|
# @param [latitude]: [Float]
|
398
401
|
# @param [longitude]: [Float]
|
399
402
|
# @param [label]: [String]
|
400
|
-
|
403
|
+
# @param [id]: [String]
|
404
|
+
# @param [address]: [String]
|
405
|
+
attr_accessor :latitude, :longitude, :label, :id, :address
|
401
406
|
def initialize(payload)
|
402
407
|
@latitude = payload["latitude"]
|
403
408
|
@longitude = payload["longitude"]
|
404
409
|
@label = payload["label"]
|
410
|
+
@id = payload["id"]
|
411
|
+
@address = payload["address"]
|
405
412
|
end
|
406
413
|
def to_json(options = {})
|
407
414
|
{
|
408
415
|
"latitude": @latitude,
|
409
416
|
"longitude": @longitude,
|
410
417
|
"label": @label,
|
418
|
+
"id": @id,
|
419
|
+
"address": @address,
|
411
420
|
}.to_json(options)
|
412
421
|
end
|
413
422
|
end
|
@@ -35,20 +35,17 @@ module Twilio
|
|
35
35
|
# @param [String] description A human readable description for the Subscription **This value should not contain PII.**
|
36
36
|
# @param [String] sink_sid The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.
|
37
37
|
# @param [Array[Hash]] types An array of objects containing the subscribed Event Types
|
38
|
-
# @param [Boolean] receive_events_from_subaccounts Receive events from all children accounts in the parent account subscription.
|
39
38
|
# @return [SubscriptionInstance] Created SubscriptionInstance
|
40
39
|
def create(
|
41
40
|
description: nil,
|
42
41
|
sink_sid: nil,
|
43
|
-
types: nil
|
44
|
-
receive_events_from_subaccounts: :unset
|
42
|
+
types: nil
|
45
43
|
)
|
46
44
|
|
47
45
|
data = Twilio::Values.of({
|
48
46
|
'Description' => description,
|
49
47
|
'SinkSid' => sink_sid,
|
50
48
|
'Types' => Twilio.serialize_list(types) { |e| Twilio.serialize_object(e) },
|
51
|
-
'ReceiveEventsFromSubaccounts' => receive_events_from_subaccounts,
|
52
49
|
})
|
53
50
|
|
54
51
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
@@ -218,18 +215,15 @@ module Twilio
|
|
218
215
|
# Update the SubscriptionInstance
|
219
216
|
# @param [String] description A human readable description for the Subscription.
|
220
217
|
# @param [String] sink_sid The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.
|
221
|
-
# @param [Boolean] receive_events_from_subaccounts Receive events from all children accounts in the parent account subscription.
|
222
218
|
# @return [SubscriptionInstance] Updated SubscriptionInstance
|
223
219
|
def update(
|
224
220
|
description: :unset,
|
225
|
-
sink_sid: :unset
|
226
|
-
receive_events_from_subaccounts: :unset
|
221
|
+
sink_sid: :unset
|
227
222
|
)
|
228
223
|
|
229
224
|
data = Twilio::Values.of({
|
230
225
|
'Description' => description,
|
231
226
|
'SinkSid' => sink_sid,
|
232
|
-
'ReceiveEventsFromSubaccounts' => receive_events_from_subaccounts,
|
233
227
|
})
|
234
228
|
|
235
229
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
@@ -332,7 +326,6 @@ module Twilio
|
|
332
326
|
'sink_sid' => payload['sink_sid'],
|
333
327
|
'url' => payload['url'],
|
334
328
|
'links' => payload['links'],
|
335
|
-
'receive_events_from_subaccounts' => payload['receive_events_from_subaccounts'],
|
336
329
|
}
|
337
330
|
|
338
331
|
# Context
|
@@ -399,12 +392,6 @@ module Twilio
|
|
399
392
|
@properties['links']
|
400
393
|
end
|
401
394
|
|
402
|
-
##
|
403
|
-
# @return [Boolean] Receive events from all children accounts in the parent account subscription.
|
404
|
-
def receive_events_from_subaccounts
|
405
|
-
@properties['receive_events_from_subaccounts']
|
406
|
-
end
|
407
|
-
|
408
395
|
##
|
409
396
|
# Delete the SubscriptionInstance
|
410
397
|
# @return [Boolean] True if delete succeeds, false otherwise
|
@@ -425,18 +412,15 @@ module Twilio
|
|
425
412
|
# Update the SubscriptionInstance
|
426
413
|
# @param [String] description A human readable description for the Subscription.
|
427
414
|
# @param [String] sink_sid The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.
|
428
|
-
# @param [Boolean] receive_events_from_subaccounts Receive events from all children accounts in the parent account subscription.
|
429
415
|
# @return [SubscriptionInstance] Updated SubscriptionInstance
|
430
416
|
def update(
|
431
417
|
description: :unset,
|
432
|
-
sink_sid: :unset
|
433
|
-
receive_events_from_subaccounts: :unset
|
418
|
+
sink_sid: :unset
|
434
419
|
)
|
435
420
|
|
436
421
|
context.update(
|
437
422
|
description: description,
|
438
423
|
sink_sid: sink_sid,
|
439
|
-
receive_events_from_subaccounts: receive_events_from_subaccounts,
|
440
424
|
)
|
441
425
|
end
|
442
426
|
|
@@ -19,38 +19,6 @@ module Twilio
|
|
19
19
|
class V2 < Version
|
20
20
|
class ChannelsSenderList < ListResource
|
21
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
22
|
class MessagingV2ChannelsSenderRequestsCreate
|
55
23
|
# @param [sender_id]: [String] The ID of this Sender prefixed with the channel, e.g., `whatsapp:E.164`
|
56
24
|
# @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
|
@@ -93,38 +61,6 @@ module Twilio
|
|
93
61
|
end
|
94
62
|
|
95
63
|
|
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
64
|
class MessagingV2ChannelsSenderRequestsCreate
|
129
65
|
# @param [sender_id]: [String] The ID of this Sender prefixed with the channel, e.g., `whatsapp:E.164`
|
130
66
|
# @param [configuration]: [ChannelsSenderList.MessagingV2ChannelsSenderConfiguration]
|
@@ -220,19 +220,19 @@ module Twilio
|
|
220
220
|
end
|
221
221
|
|
222
222
|
##
|
223
|
-
# @return [Date] Target date to port the number. We cannot guarantee that this date will be honored by the other carriers, please work with Ops to get a confirmation of the firm order commitment (FOC) date. Expected format is ISO Local Date, example: ‘2011-12-03`. This date must be at least 7 days in the future for US ports and 10 days in the future for Japanese ports.
|
223
|
+
# @return [Date] Target date to port the number. We cannot guarantee that this date will be honored by the other carriers, please work with Ops to get a confirmation of the firm order commitment (FOC) date. Expected format is ISO Local Date, example: ‘2011-12-03`. This date must be at least 7 days in the future for US ports and 10 days in the future for Japanese ports. We can't guarantee the exact date and time, as this depends on the losing carrier
|
224
224
|
def target_port_in_date
|
225
225
|
@properties['target_port_in_date']
|
226
226
|
end
|
227
227
|
|
228
228
|
##
|
229
|
-
# @return [String] The earliest time that the port should occur on the target port in date. Expected format is ISO Offset Time, example: ‘10:15:00-08:00'.
|
229
|
+
# @return [String] The earliest time that the port should occur on the target port in date. Expected format is ISO Offset Time, example: ‘10:15:00-08:00'. We can't guarantee the exact date and time, as this depends on the losing carrier
|
230
230
|
def target_port_in_time_range_start
|
231
231
|
@properties['target_port_in_time_range_start']
|
232
232
|
end
|
233
233
|
|
234
234
|
##
|
235
|
-
# @return [String] The latest time that the port should occur on the target port in date. Expected format is ISO Offset Time, example: ‘10:15:00-08:00'.
|
235
|
+
# @return [String] The latest time that the port should occur on the target port in date. Expected format is ISO Offset Time, example: ‘10:15:00-08:00'. We can't guarantee the exact date and time, as this depends on the losing carrier
|
236
236
|
def target_port_in_time_range_end
|
237
237
|
@properties['target_port_in_time_range_end']
|
238
238
|
end
|
@@ -17,12 +17,12 @@ module Twilio
|
|
17
17
|
module REST
|
18
18
|
class Numbers < NumbersBase
|
19
19
|
class V1 < Version
|
20
|
-
class
|
20
|
+
class WebhookList < ListResource
|
21
21
|
|
22
22
|
##
|
23
|
-
# Initialize the
|
23
|
+
# Initialize the WebhookList
|
24
24
|
# @param [Version] version Version that contains the resource
|
25
|
-
# @return [
|
25
|
+
# @return [WebhookList] WebhookList
|
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
|
35
|
-
# @return [
|
34
|
+
# Fetch the WebhookInstance
|
35
|
+
# @return [WebhookInstance] Fetched WebhookInstance
|
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
|
-
|
45
|
+
WebhookInstance.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.
|
56
|
+
'#<Twilio.Numbers.V1.WebhookList>'
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
class
|
60
|
+
class WebhookPage < Page
|
61
61
|
##
|
62
|
-
# Initialize the
|
62
|
+
# Initialize the WebhookPage
|
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 [
|
66
|
+
# @return [WebhookPage] WebhookPage
|
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
|
75
|
+
# Build an instance of WebhookInstance
|
76
76
|
# @param [Hash] payload Payload response from the API
|
77
|
-
# @return [
|
77
|
+
# @return [WebhookInstance] WebhookInstance
|
78
78
|
def get_instance(payload)
|
79
|
-
|
79
|
+
WebhookInstance.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.
|
85
|
+
'<Twilio.Numbers.V1.WebhookPage>'
|
86
86
|
end
|
87
87
|
end
|
88
|
-
class
|
88
|
+
class WebhookInstance < InstanceResource
|
89
89
|
##
|
90
|
-
# Initialize the
|
90
|
+
# Initialize the WebhookInstance
|
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
|
94
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Webhook
|
95
95
|
# resource.
|
96
96
|
# @param [String] sid The SID of the Call resource to fetch.
|
97
|
-
# @return [
|
97
|
+
# @return [WebhookInstance] WebhookInstance
|
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.
|
152
|
+
"<Twilio.Numbers.V1.WebhookInstance>"
|
153
153
|
end
|
154
154
|
|
155
155
|
##
|
156
156
|
# Provide a detailed, user friendly representation
|
157
157
|
def inspect
|
158
|
-
"<Twilio.Numbers.V1.
|
158
|
+
"<Twilio.Numbers.V1.WebhookInstance>"
|
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
|
32
31
|
@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
|
-
##
|
143
138
|
# @return [Twilio::REST::Numbers::V1::SigningRequestConfigurationList]
|
144
139
|
def signing_request_configurations
|
145
140
|
@signing_request_configurations ||= SigningRequestConfigurationList.new self
|
146
141
|
end
|
147
142
|
##
|
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>';
|
@@ -580,7 +580,7 @@ module Twilio
|
|
580
580
|
end
|
581
581
|
|
582
582
|
##
|
583
|
-
# @return [String] The name that appears in the body of your verification messages. It can be up to 30 characters long and can include letters, numbers, spaces, dashes, underscores. Phone numbers, special characters or links are NOT allowed. **This value should not contain PII.**
|
583
|
+
# @return [String] The name that appears in the body of your verification messages. It can be up to 30 characters long and can include letters, numbers, spaces, dashes, underscores. Phone numbers, special characters or links are NOT allowed. It cannot contain more than 4 (consecutive or non-consecutive) digits. **This value should not contain PII.**
|
584
584
|
def friendly_name
|
585
585
|
@properties['friendly_name']
|
586
586
|
end
|
@@ -194,7 +194,7 @@ module Twilio
|
|
194
194
|
end
|
195
195
|
|
196
196
|
##
|
197
|
-
# @return [
|
197
|
+
# @return [String] Percentage of the confirmed messages over the total, defined by (total_converted/total_attempts)*100.
|
198
198
|
def conversion_rate_percentage
|
199
199
|
@properties['conversion_rate_percentage']
|
200
200
|
end
|
@@ -1978,13 +1978,18 @@ module Twilio
|
|
1978
1978
|
# dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
|
1979
1979
|
# welcome_greeting:: The sentence to be played automatically when the session is connected
|
1980
1980
|
# partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
|
1981
|
-
#
|
1982
|
-
#
|
1983
|
-
#
|
1984
|
-
#
|
1985
|
-
#
|
1986
|
-
|
1987
|
-
|
1981
|
+
# welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
|
1982
|
+
# interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
|
1983
|
+
# preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
|
1984
|
+
# hints:: Phrases to help better accuracy in speech recognition of these pharases
|
1985
|
+
# intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
|
1986
|
+
# report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
|
1987
|
+
# elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
|
1988
|
+
# interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
|
1989
|
+
# debug:: Multiple debug options to be used for troubleshooting
|
1990
|
+
# keyword_args:: additional attributes
|
1991
|
+
def conversation_relay(url: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
|
1992
|
+
conversation_relay = ConversationRelay.new(url: url, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
|
1988
1993
|
|
1989
1994
|
yield(conversation_relay) if block_given?
|
1990
1995
|
append(conversation_relay)
|
@@ -2004,13 +2009,18 @@ module Twilio
|
|
2004
2009
|
# dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
|
2005
2010
|
# welcome_greeting:: The sentence to be played automatically when the session is connected
|
2006
2011
|
# partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
|
2007
|
-
#
|
2008
|
-
#
|
2009
|
-
#
|
2010
|
-
#
|
2011
|
-
#
|
2012
|
-
|
2013
|
-
|
2012
|
+
# welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
|
2013
|
+
# interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
|
2014
|
+
# preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
|
2015
|
+
# hints:: Phrases to help better accuracy in speech recognition of these pharases
|
2016
|
+
# intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
|
2017
|
+
# report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
|
2018
|
+
# elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
|
2019
|
+
# interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
|
2020
|
+
# debug:: Multiple debug options to be used for troubleshooting
|
2021
|
+
# keyword_args:: additional attributes
|
2022
|
+
def assistant(id: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
|
2023
|
+
assistant = Assistant.new(id: id, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
|
2014
2024
|
|
2015
2025
|
yield(assistant) if block_given?
|
2016
2026
|
append(assistant)
|
data/lib/twilio-ruby/version.rb
CHANGED
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.6.
|
4
|
+
version: 7.6.2
|
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-05-
|
11
|
+
date: 2025-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -633,8 +633,8 @@ files:
|
|
633
633
|
- lib/twilio-ruby/rest/numbers/v1/porting_portability.rb
|
634
634
|
- lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb
|
635
635
|
- lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb
|
636
|
-
- lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_fetch.rb
|
637
636
|
- lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb
|
637
|
+
- lib/twilio-ruby/rest/numbers/v1/webhook.rb
|
638
638
|
- lib/twilio-ruby/rest/numbers/v2.rb
|
639
639
|
- lib/twilio-ruby/rest/numbers/v2/authorization_document.rb
|
640
640
|
- lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb
|