twilio-ruby 5.73.4 → 5.74.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +33 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +6 -6
- data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +1 -1
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
- data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
- data/lib/twilio-ruby/rest/flex_api.rb +13 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +43 -18
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +1 -1
- data/lib/twilio-ruby/rest/oauth/v1.rb +7 -0
- data/lib/twilio-ruby/rest/oauth.rb +6 -0
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +12 -5
- data/lib/twilio-ruby/twiml/voice_response.rb +21 -21
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f1304a55ded86707fbad7aeae0ab4ae00aee341
|
4
|
+
data.tar.gz: 6f48062af91bc83b1322bb4b4bb8eb2bdd304140
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c26962f53539a87ddbcc81754acb97e154dd437f77ddc92e5fca0308ba8074a5058241629a05f0d03cfdac432187a3f51dd7c6a5f1b190b3888497bf574d91ee
|
7
|
+
data.tar.gz: f79c209c112d8b914d1f625508673a1fef96e83d3e67c1fb8b654e9a21c30e7ce63754f1b6e47d98397dffadf6cd79d988ba3df184fa710dbadc6186a0bcd552
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,39 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
[2022-12-14] Version 5.74.0
|
5
|
+
---------------------------
|
6
|
+
**Api**
|
7
|
+
- Add `street_secondary` param to address create and update
|
8
|
+
- Make `method` optional for user defined message subscription **(breaking change)**
|
9
|
+
|
10
|
+
**Flex**
|
11
|
+
- Flex Conversations is now Generally Available
|
12
|
+
- Adding the ie1 mapping for authorization api, updating service base uri and base url response attribute **(breaking change)**
|
13
|
+
- Change web channels to GA and library visibility to public
|
14
|
+
- Changing the uri for authorization api from using Accounts to Insights **(breaking change)**
|
15
|
+
|
16
|
+
**Media**
|
17
|
+
- Gate Twilio Live endpoints behind beta_feature for EOS
|
18
|
+
|
19
|
+
**Messaging**
|
20
|
+
- Mark `MessageFlow` as a required field for Campaign Creation **(breaking change)**
|
21
|
+
|
22
|
+
**Oauth**
|
23
|
+
- updated openid discovery endpoint uri **(breaking change)**
|
24
|
+
- Added device code authorization endpoint
|
25
|
+
|
26
|
+
**Supersim**
|
27
|
+
- Allow filtering the SettingsUpdates resource by `status`
|
28
|
+
|
29
|
+
**Twiml**
|
30
|
+
- Add new Polly Neural voices
|
31
|
+
- Add tr-TR, ar-AE, yue-CN, fi-FI languages to SSML `<lang>` element.
|
32
|
+
- Add x-amazon-jyutping, x-amazon-pinyin, x-amazon-pron-kana, x-amazon-yomigana alphabets to SSML `<phoneme>` element.
|
33
|
+
- Rename `character` value for SSML `<say-as>` `interpret-as` attribute to `characters`. **(breaking change)**
|
34
|
+
- Rename `role` attribute to `format` in SSML `<say-as>` element. **(breaking change)**
|
35
|
+
|
36
|
+
|
4
37
|
[2022-11-30] Version 5.73.4
|
5
38
|
---------------------------
|
6
39
|
**Flex**
|
data/README.md
CHANGED
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
|
|
34
34
|
To install using [Bundler][bundler] grab the latest stable version:
|
35
35
|
|
36
36
|
```ruby
|
37
|
-
gem 'twilio-ruby', '~> 5.
|
37
|
+
gem 'twilio-ruby', '~> 5.74.0'
|
38
38
|
```
|
39
39
|
|
40
40
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
41
41
|
|
42
42
|
```bash
|
43
|
-
gem install twilio-ruby -v 5.
|
43
|
+
gem install twilio-ruby -v 5.74.0
|
44
44
|
```
|
45
45
|
|
46
46
|
To build and install the development branch yourself from the latest source:
|
@@ -43,8 +43,10 @@ module Twilio
|
|
43
43
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
44
44
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
45
45
|
# won't alter the address you provide.
|
46
|
+
# @param [String] street_secondary The additional number and street address of the
|
47
|
+
# address.
|
46
48
|
# @return [AddressInstance] Created AddressInstance
|
47
|
-
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
49
|
+
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
48
50
|
data = Twilio::Values.of({
|
49
51
|
'CustomerName' => customer_name,
|
50
52
|
'Street' => street,
|
@@ -55,6 +57,7 @@ module Twilio
|
|
55
57
|
'FriendlyName' => friendly_name,
|
56
58
|
'EmergencyEnabled' => emergency_enabled,
|
57
59
|
'AutoCorrectAddress' => auto_correct_address,
|
60
|
+
'StreetSecondary' => street_secondary,
|
58
61
|
})
|
59
62
|
|
60
63
|
payload = @version.create('POST', @uri, data: data)
|
@@ -262,8 +265,10 @@ module Twilio
|
|
262
265
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
263
266
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
264
267
|
# won't alter the address you provide.
|
268
|
+
# @param [String] street_secondary The additional number and street address of the
|
269
|
+
# address.
|
265
270
|
# @return [AddressInstance] Updated AddressInstance
|
266
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
271
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
267
272
|
data = Twilio::Values.of({
|
268
273
|
'FriendlyName' => friendly_name,
|
269
274
|
'CustomerName' => customer_name,
|
@@ -273,6 +278,7 @@ module Twilio
|
|
273
278
|
'PostalCode' => postal_code,
|
274
279
|
'EmergencyEnabled' => emergency_enabled,
|
275
280
|
'AutoCorrectAddress' => auto_correct_address,
|
281
|
+
'StreetSecondary' => street_secondary,
|
276
282
|
})
|
277
283
|
|
278
284
|
payload = @version.update('POST', @uri, data: data)
|
@@ -342,6 +348,7 @@ module Twilio
|
|
342
348
|
'emergency_enabled' => payload['emergency_enabled'],
|
343
349
|
'validated' => payload['validated'],
|
344
350
|
'verified' => payload['verified'],
|
351
|
+
'street_secondary' => payload['street_secondary'],
|
345
352
|
}
|
346
353
|
|
347
354
|
# Context
|
@@ -450,6 +457,12 @@ module Twilio
|
|
450
457
|
@properties['verified']
|
451
458
|
end
|
452
459
|
|
460
|
+
##
|
461
|
+
# @return [String] The additional number and street address of the address
|
462
|
+
def street_secondary
|
463
|
+
@properties['street_secondary']
|
464
|
+
end
|
465
|
+
|
453
466
|
##
|
454
467
|
# Delete the AddressInstance
|
455
468
|
# @return [Boolean] true if delete succeeds, false otherwise
|
@@ -479,8 +492,10 @@ module Twilio
|
|
479
492
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
480
493
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
481
494
|
# won't alter the address you provide.
|
495
|
+
# @param [String] street_secondary The additional number and street address of the
|
496
|
+
# address.
|
482
497
|
# @return [AddressInstance] Updated AddressInstance
|
483
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
498
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
484
499
|
context.update(
|
485
500
|
friendly_name: friendly_name,
|
486
501
|
customer_name: customer_name,
|
@@ -490,6 +505,7 @@ module Twilio
|
|
490
505
|
postal_code: postal_code,
|
491
506
|
emergency_enabled: emergency_enabled,
|
492
507
|
auto_correct_address: auto_correct_address,
|
508
|
+
street_secondary: street_secondary,
|
493
509
|
)
|
494
510
|
end
|
495
511
|
|
@@ -37,16 +37,16 @@ module Twilio
|
|
37
37
|
# @param [String] callback The URL we should call using the `method` to send user
|
38
38
|
# defined events to your application. URLs must contain a valid hostname
|
39
39
|
# (underscores are not permitted).
|
40
|
-
# @param [String] method The HTTP method Twilio will use when requesting the above
|
41
|
-
# `Url`. Either `GET` or `POST`.
|
42
40
|
# @param [String] idempotency_key A unique string value to identify API call. This
|
43
41
|
# should be a unique string value per API call and can be a randomly generated.
|
42
|
+
# @param [String] method The HTTP method Twilio will use when requesting the above
|
43
|
+
# `Url`. Either `GET` or `POST`.
|
44
44
|
# @return [UserDefinedMessageSubscriptionInstance] Created UserDefinedMessageSubscriptionInstance
|
45
|
-
def create(callback: nil,
|
45
|
+
def create(callback: nil, idempotency_key: :unset, method: :unset)
|
46
46
|
data = Twilio::Values.of({
|
47
47
|
'Callback' => callback,
|
48
|
-
'Method' => method,
|
49
48
|
'IdempotencyKey' => idempotency_key,
|
49
|
+
'Method' => method,
|
50
50
|
})
|
51
51
|
|
52
52
|
payload = @version.create('POST', @uri, data: data)
|
@@ -68,7 +68,7 @@ module Twilio
|
|
68
68
|
|
69
69
|
# Path Solution
|
70
70
|
@solution = {}
|
71
|
-
@uri = "/
|
71
|
+
@uri = "/Insights/Session"
|
72
72
|
end
|
73
73
|
|
74
74
|
##
|
@@ -112,7 +112,7 @@ module Twilio
|
|
112
112
|
'workspace_id' => payload['workspace_id'],
|
113
113
|
'session_expiry' => payload['session_expiry'],
|
114
114
|
'session_id' => payload['session_id'],
|
115
|
-
'
|
115
|
+
'base_url' => payload['base_url'],
|
116
116
|
'url' => payload['url'],
|
117
117
|
}
|
118
118
|
|
@@ -133,7 +133,7 @@ module Twilio
|
|
133
133
|
end
|
134
134
|
|
135
135
|
##
|
136
|
-
# @return [String] Unique
|
136
|
+
# @return [String] Unique ID to identify the user's workspace
|
137
137
|
def workspace_id
|
138
138
|
@properties['workspace_id']
|
139
139
|
end
|
@@ -151,9 +151,9 @@ module Twilio
|
|
151
151
|
end
|
152
152
|
|
153
153
|
##
|
154
|
-
# @return [String]
|
155
|
-
def
|
156
|
-
@properties['
|
154
|
+
# @return [String] Base URL to fetch reports and dashboards
|
155
|
+
def base_url
|
156
|
+
@properties['base_url']
|
157
157
|
end
|
158
158
|
|
159
159
|
##
|
@@ -0,0 +1,133 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class FlexApi < Domain
|
12
|
+
class V2 < Version
|
13
|
+
class WebChannelsList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the WebChannelsList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @return [WebChannelsList] WebChannelsList
|
18
|
+
def initialize(version)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {}
|
23
|
+
@uri = "/WebChats"
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# Create the WebChannelsInstance
|
28
|
+
# @param [String] address_sid The SID of the Conversations Address. See {Address
|
29
|
+
# Configuration
|
30
|
+
# Resource}[https://www.twilio.com/docs/conversations/api/address-configuration-resource]
|
31
|
+
# for configuration details. When a conversation is created on the Flex backend,
|
32
|
+
# the callback URL will be set to the corresponding Studio Flow SID or webhook URL
|
33
|
+
# in your address configuration.
|
34
|
+
# @param [String] chat_friendly_name The Conversation's friendly name. See the
|
35
|
+
# {Conversation
|
36
|
+
# resource}[https://www.twilio.com/docs/conversations/api/conversation-resource]
|
37
|
+
# for an example.
|
38
|
+
# @param [String] customer_friendly_name The Conversation participant's friendly
|
39
|
+
# name. See the {Conversation Participant
|
40
|
+
# Resource}[https://www.twilio.com/docs/conversations/api/conversation-participant-resource]
|
41
|
+
# for an example.
|
42
|
+
# @param [String] pre_engagement_data The pre-engagement data.
|
43
|
+
# @return [WebChannelsInstance] Created WebChannelsInstance
|
44
|
+
def create(address_sid: nil, chat_friendly_name: :unset, customer_friendly_name: :unset, pre_engagement_data: :unset)
|
45
|
+
data = Twilio::Values.of({
|
46
|
+
'AddressSid' => address_sid,
|
47
|
+
'ChatFriendlyName' => chat_friendly_name,
|
48
|
+
'CustomerFriendlyName' => customer_friendly_name,
|
49
|
+
'PreEngagementData' => pre_engagement_data,
|
50
|
+
})
|
51
|
+
|
52
|
+
payload = @version.create('POST', @uri, data: data)
|
53
|
+
|
54
|
+
WebChannelsInstance.new(@version, payload, )
|
55
|
+
end
|
56
|
+
|
57
|
+
##
|
58
|
+
# Provide a user friendly representation
|
59
|
+
def to_s
|
60
|
+
'#<Twilio.FlexApi.V2.WebChannelsList>'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
class WebChannelsPage < Page
|
65
|
+
##
|
66
|
+
# Initialize the WebChannelsPage
|
67
|
+
# @param [Version] version Version that contains the resource
|
68
|
+
# @param [Response] response Response from the API
|
69
|
+
# @param [Hash] solution Path solution for the resource
|
70
|
+
# @return [WebChannelsPage] WebChannelsPage
|
71
|
+
def initialize(version, response, solution)
|
72
|
+
super(version, response)
|
73
|
+
|
74
|
+
# Path Solution
|
75
|
+
@solution = solution
|
76
|
+
end
|
77
|
+
|
78
|
+
##
|
79
|
+
# Build an instance of WebChannelsInstance
|
80
|
+
# @param [Hash] payload Payload response from the API
|
81
|
+
# @return [WebChannelsInstance] WebChannelsInstance
|
82
|
+
def get_instance(payload)
|
83
|
+
WebChannelsInstance.new(@version, payload, )
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# Provide a user friendly representation
|
88
|
+
def to_s
|
89
|
+
'<Twilio.FlexApi.V2.WebChannelsPage>'
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
class WebChannelsInstance < InstanceResource
|
94
|
+
##
|
95
|
+
# Initialize the WebChannelsInstance
|
96
|
+
# @param [Version] version Version that contains the resource
|
97
|
+
# @param [Hash] payload payload that contains response from Twilio
|
98
|
+
# @return [WebChannelsInstance] WebChannelsInstance
|
99
|
+
def initialize(version, payload)
|
100
|
+
super(version)
|
101
|
+
|
102
|
+
# Marshaled Properties
|
103
|
+
@properties = {'conversation_sid' => payload['conversation_sid'], 'identity' => payload['identity'], }
|
104
|
+
end
|
105
|
+
|
106
|
+
##
|
107
|
+
# @return [String] The unique string representing the Conversation resource created
|
108
|
+
def conversation_sid
|
109
|
+
@properties['conversation_sid']
|
110
|
+
end
|
111
|
+
|
112
|
+
##
|
113
|
+
# @return [String] The unique string representing the User created
|
114
|
+
def identity
|
115
|
+
@properties['identity']
|
116
|
+
end
|
117
|
+
|
118
|
+
##
|
119
|
+
# Provide a user friendly representation
|
120
|
+
def to_s
|
121
|
+
"<Twilio.FlexApi.V2.WebChannelsInstance>"
|
122
|
+
end
|
123
|
+
|
124
|
+
##
|
125
|
+
# Provide a detailed, user friendly representation
|
126
|
+
def inspect
|
127
|
+
"<Twilio.FlexApi.V2.WebChannelsInstance>"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class FlexApi
|
12
|
+
class V2 < Version
|
13
|
+
##
|
14
|
+
# Initialize the V2 version of FlexApi
|
15
|
+
def initialize(domain)
|
16
|
+
super
|
17
|
+
@version = 'v2'
|
18
|
+
@web_channels = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# @return [Twilio::REST::Flex_api::V2::WebChannelsContext]
|
23
|
+
def web_channels
|
24
|
+
@web_channels ||= WebChannelsList.new self
|
25
|
+
end
|
26
|
+
|
27
|
+
##
|
28
|
+
# Provide a user friendly representation
|
29
|
+
def to_s
|
30
|
+
'<Twilio::REST::FlexApi::V2>'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -20,6 +20,7 @@ module Twilio
|
|
20
20
|
|
21
21
|
# Versions
|
22
22
|
@v1 = nil
|
23
|
+
@v2 = nil
|
23
24
|
end
|
24
25
|
|
25
26
|
##
|
@@ -28,6 +29,12 @@ module Twilio
|
|
28
29
|
@v1 ||= V1.new self
|
29
30
|
end
|
30
31
|
|
32
|
+
##
|
33
|
+
# Version v2 of flex_api
|
34
|
+
def v2
|
35
|
+
@v2 ||= V2.new self
|
36
|
+
end
|
37
|
+
|
31
38
|
##
|
32
39
|
# @return [Twilio::REST::Flex_api::V1::AssessmentsInstance]
|
33
40
|
def assessments
|
@@ -88,6 +95,12 @@ module Twilio
|
|
88
95
|
self.v1.web_channel(sid)
|
89
96
|
end
|
90
97
|
|
98
|
+
##
|
99
|
+
# @return [Twilio::REST::Flex_api::V2::WebChannelsInstance]
|
100
|
+
def web_channels
|
101
|
+
self.v2.web_channels()
|
102
|
+
end
|
103
|
+
|
91
104
|
##
|
92
105
|
# Provide a user friendly representation
|
93
106
|
def to_s
|
@@ -33,38 +33,63 @@ module Twilio
|
|
33
33
|
# Create the UsAppToPersonInstance
|
34
34
|
# @param [String] brand_registration_sid A2P Brand Registration SID
|
35
35
|
# @param [String] description A short description of what this SMS campaign does.
|
36
|
-
#
|
37
|
-
#
|
36
|
+
# Min length: 40 characters. Max length: 4096 characters.
|
37
|
+
# @param [String] message_flow Required for all Campaigns. Details around how a
|
38
|
+
# consumer opts-in to their campaign, therefore giving consent to receive their
|
39
|
+
# messages. If multiple opt-in methods can be used for the same campaign, they
|
40
|
+
# must all be listed. 40 character minimum. 2048 character maximum.
|
41
|
+
# @param [Array[String]] message_samples Message samples, at least 1 and up to 5
|
42
|
+
# sample messages (at least 2 for sole proprietor), >=20 chars, <=1024 chars each.
|
38
43
|
# @param [String] us_app_to_person_usecase A2P Campaign Use Case. Examples: [ 2FA,
|
39
44
|
# EMERGENCY, MARKETING..]
|
40
45
|
# @param [Boolean] has_embedded_links Indicates that this SMS campaign will send
|
41
46
|
# messages that contain links.
|
42
47
|
# @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
|
43
48
|
# messages that contain phone numbers.
|
44
|
-
# @param [String]
|
45
|
-
# campaign,
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
#
|
49
|
+
# @param [String] opt_in_message If end users can text in a keyword to start
|
50
|
+
# receiving messages from this campaign, the auto-reply messages sent to the end
|
51
|
+
# users must be provided. The opt-in response should include the Brand name,
|
52
|
+
# confirmation of opt-in enrollment to a recurring message campaign, how to get
|
53
|
+
# help, and clear description of how to opt-out. This field is required if end
|
54
|
+
# users can text in a keyword to start receiving messages from this campaign. 20
|
55
|
+
# character minimum. 320 character maximum.
|
56
|
+
# @param [String] opt_out_message Upon receiving the opt-out keywords from the end
|
57
|
+
# users, Twilio customers are expected to send back an auto-generated response,
|
58
|
+
# which must provide acknowledgment of the opt-out request and confirmation that
|
59
|
+
# no further messages will be sent. It is also recommended that these opt-out
|
60
|
+
# messages include the brand name. This field is required if managing opt out
|
61
|
+
# keywords yourself (i.e. not using Twilio's Default or Advanced Opt Out
|
62
|
+
# features). 20 character minimum. 320 character maximum.
|
63
|
+
# @param [String] help_message When customers receive the help keywords from their
|
64
|
+
# end users, Twilio customers are expected to send back an auto-generated
|
65
|
+
# response; this may include the brand name and additional support contact
|
66
|
+
# information. This field is required if managing help keywords yourself (i.e. not
|
67
|
+
# using Twilio's Default or Advanced Opt Out features). 20 character minimum. 320
|
68
|
+
# character maximum.
|
69
|
+
# @param [Array[String]] opt_in_keywords If end users can text in a keyword to
|
70
|
+
# start receiving messages from this campaign, those keywords must be provided.
|
71
|
+
# This field is required if end users can text in a keyword to start receiving
|
72
|
+
# messages from this campaign. Values must be alphanumeric. 255 character maximum.
|
73
|
+
# @param [Array[String]] opt_out_keywords End users should be able to text in a
|
74
|
+
# keyword to stop receiving messages from this campaign. Those keywords must be
|
75
|
+
# provided. This field is required if managing opt out keywords yourself (i.e. not
|
76
|
+
# using Twilio's Default or Advanced Opt Out features). Values must be
|
77
|
+
# alphanumeric. 255 character maximum.
|
78
|
+
# @param [Array[String]] help_keywords End users should be able to text in a
|
79
|
+
# keyword to receive help. Those keywords must be provided as part of the campaign
|
80
|
+
# registration request. This field is required if managing help keywords yourself
|
81
|
+
# (i.e. not using Twilio's Default or Advanced Opt Out features). Values must be
|
82
|
+
# alphanumeric. 255 character maximum.
|
58
83
|
# @return [UsAppToPersonInstance] Created UsAppToPersonInstance
|
59
|
-
def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil,
|
84
|
+
def create(brand_registration_sid: nil, description: nil, message_flow: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil, opt_in_message: :unset, opt_out_message: :unset, help_message: :unset, opt_in_keywords: :unset, opt_out_keywords: :unset, help_keywords: :unset)
|
60
85
|
data = Twilio::Values.of({
|
61
86
|
'BrandRegistrationSid' => brand_registration_sid,
|
62
87
|
'Description' => description,
|
88
|
+
'MessageFlow' => message_flow,
|
63
89
|
'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
|
64
90
|
'UsAppToPersonUsecase' => us_app_to_person_usecase,
|
65
91
|
'HasEmbeddedLinks' => has_embedded_links,
|
66
92
|
'HasEmbeddedPhone' => has_embedded_phone,
|
67
|
-
'MessageFlow' => message_flow,
|
68
93
|
'OptInMessage' => opt_in_message,
|
69
94
|
'OptOutMessage' => opt_out_message,
|
70
95
|
'HelpMessage' => help_message,
|
@@ -0,0 +1,153 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class Oauth < Domain
|
12
|
+
class V1 < Version
|
13
|
+
class DeviceCodeList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the DeviceCodeList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @return [DeviceCodeList] DeviceCodeList
|
18
|
+
def initialize(version)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {}
|
23
|
+
@uri = "/device/code"
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# Create the DeviceCodeInstance
|
28
|
+
# @param [String] client_sid A 34 character string that uniquely identifies this
|
29
|
+
# OAuth App.
|
30
|
+
# @param [Array[String]] scopes An Array of scopes for authorization request
|
31
|
+
# @param [Array[String]] audiences An array of intended audiences for token
|
32
|
+
# requests
|
33
|
+
# @return [DeviceCodeInstance] Created DeviceCodeInstance
|
34
|
+
def create(client_sid: nil, scopes: nil, audiences: :unset)
|
35
|
+
data = Twilio::Values.of({
|
36
|
+
'ClientSid' => client_sid,
|
37
|
+
'Scopes' => Twilio.serialize_list(scopes) { |e| e },
|
38
|
+
'Audiences' => Twilio.serialize_list(audiences) { |e| e },
|
39
|
+
})
|
40
|
+
|
41
|
+
payload = @version.create('POST', @uri, data: data)
|
42
|
+
|
43
|
+
DeviceCodeInstance.new(@version, payload, )
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# Provide a user friendly representation
|
48
|
+
def to_s
|
49
|
+
'#<Twilio.Oauth.V1.DeviceCodeList>'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
class DeviceCodePage < Page
|
54
|
+
##
|
55
|
+
# Initialize the DeviceCodePage
|
56
|
+
# @param [Version] version Version that contains the resource
|
57
|
+
# @param [Response] response Response from the API
|
58
|
+
# @param [Hash] solution Path solution for the resource
|
59
|
+
# @return [DeviceCodePage] DeviceCodePage
|
60
|
+
def initialize(version, response, solution)
|
61
|
+
super(version, response)
|
62
|
+
|
63
|
+
# Path Solution
|
64
|
+
@solution = solution
|
65
|
+
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# Build an instance of DeviceCodeInstance
|
69
|
+
# @param [Hash] payload Payload response from the API
|
70
|
+
# @return [DeviceCodeInstance] DeviceCodeInstance
|
71
|
+
def get_instance(payload)
|
72
|
+
DeviceCodeInstance.new(@version, payload, )
|
73
|
+
end
|
74
|
+
|
75
|
+
##
|
76
|
+
# Provide a user friendly representation
|
77
|
+
def to_s
|
78
|
+
'<Twilio.Oauth.V1.DeviceCodePage>'
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
class DeviceCodeInstance < InstanceResource
|
83
|
+
##
|
84
|
+
# Initialize the DeviceCodeInstance
|
85
|
+
# @param [Version] version Version that contains the resource
|
86
|
+
# @param [Hash] payload payload that contains response from Twilio
|
87
|
+
# @return [DeviceCodeInstance] DeviceCodeInstance
|
88
|
+
def initialize(version, payload)
|
89
|
+
super(version)
|
90
|
+
|
91
|
+
# Marshaled Properties
|
92
|
+
@properties = {
|
93
|
+
'device_code' => payload['device_code'],
|
94
|
+
'user_code' => payload['user_code'],
|
95
|
+
'verification_uri' => payload['verification_uri'],
|
96
|
+
'verification_uri_complete' => payload['verification_uri_complete'],
|
97
|
+
'expires_in' => payload['expires_in'] == nil ? payload['expires_in'] : payload['expires_in'].to_i,
|
98
|
+
'interval' => payload['interval'] == nil ? payload['interval'] : payload['interval'].to_i,
|
99
|
+
}
|
100
|
+
end
|
101
|
+
|
102
|
+
##
|
103
|
+
# @return [String] The device verification code
|
104
|
+
def device_code
|
105
|
+
@properties['device_code']
|
106
|
+
end
|
107
|
+
|
108
|
+
##
|
109
|
+
# @return [String] The verification code for the end user
|
110
|
+
def user_code
|
111
|
+
@properties['user_code']
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# @return [String] The URI that the end user visits to verify request
|
116
|
+
def verification_uri
|
117
|
+
@properties['verification_uri']
|
118
|
+
end
|
119
|
+
|
120
|
+
##
|
121
|
+
# @return [String] he URI with user_code that the end-user alternatively visits to verify request
|
122
|
+
def verification_uri_complete
|
123
|
+
@properties['verification_uri_complete']
|
124
|
+
end
|
125
|
+
|
126
|
+
##
|
127
|
+
# @return [String] The expiration time of the device_code and user_code in seconds
|
128
|
+
def expires_in
|
129
|
+
@properties['expires_in']
|
130
|
+
end
|
131
|
+
|
132
|
+
##
|
133
|
+
# @return [String] The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint
|
134
|
+
def interval
|
135
|
+
@properties['interval']
|
136
|
+
end
|
137
|
+
|
138
|
+
##
|
139
|
+
# Provide a user friendly representation
|
140
|
+
def to_s
|
141
|
+
"<Twilio.Oauth.V1.DeviceCodeInstance>"
|
142
|
+
end
|
143
|
+
|
144
|
+
##
|
145
|
+
# Provide a detailed, user friendly representation
|
146
|
+
def inspect
|
147
|
+
"<Twilio.Oauth.V1.DeviceCodeInstance>"
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
@@ -16,6 +16,7 @@ module Twilio
|
|
16
16
|
super
|
17
17
|
@version = 'v1'
|
18
18
|
@oauth = nil
|
19
|
+
@device_code = nil
|
19
20
|
@openid_discovery = nil
|
20
21
|
@token = nil
|
21
22
|
@user_info = nil
|
@@ -27,6 +28,12 @@ module Twilio
|
|
27
28
|
@oauth ||= OauthContext.new self
|
28
29
|
end
|
29
30
|
|
31
|
+
##
|
32
|
+
# @return [Twilio::REST::Oauth::V1::DeviceCodeContext]
|
33
|
+
def device_code
|
34
|
+
@device_code ||= DeviceCodeList.new self
|
35
|
+
end
|
36
|
+
|
30
37
|
##
|
31
38
|
# @return [Twilio::REST::Oauth::V1::OpenidDiscoveryContext]
|
32
39
|
def openid_discovery
|
@@ -34,6 +34,12 @@ module Twilio
|
|
34
34
|
self.v1.oauth()
|
35
35
|
end
|
36
36
|
|
37
|
+
##
|
38
|
+
# @return [Twilio::REST::Oauth::V1::DeviceCodeInstance]
|
39
|
+
def device_code
|
40
|
+
self.v1.device_code()
|
41
|
+
end
|
42
|
+
|
37
43
|
##
|
38
44
|
# @return [Twilio::REST::Oauth::V1::OpenidDiscoveryInstance]
|
39
45
|
def openid_discovery
|
@@ -31,6 +31,8 @@ module Twilio
|
|
31
31
|
# memory before returning.
|
32
32
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
33
33
|
# UniqueName.
|
34
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
35
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
34
36
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
35
37
|
# guarantees to never return more than limit. Default is no limit
|
36
38
|
# @param [Integer] page_size Number of records to fetch per request, when
|
@@ -38,8 +40,8 @@ module Twilio
|
|
38
40
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
39
41
|
# efficient page size, i.e. min(limit, 1000)
|
40
42
|
# @return [Array] Array of up to limit results
|
41
|
-
def list(sim: :unset, limit: nil, page_size: nil)
|
42
|
-
self.stream(sim: sim, limit: limit, page_size: page_size).entries
|
43
|
+
def list(sim: :unset, status: :unset, limit: nil, page_size: nil)
|
44
|
+
self.stream(sim: sim, status: status, limit: limit, page_size: page_size).entries
|
43
45
|
end
|
44
46
|
|
45
47
|
##
|
@@ -48,6 +50,8 @@ module Twilio
|
|
48
50
|
# is reached.
|
49
51
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
50
52
|
# UniqueName.
|
53
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
54
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
51
55
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
52
56
|
# guarantees to never return more than limit. Default is no limit.
|
53
57
|
# @param [Integer] page_size Number of records to fetch per request, when
|
@@ -55,10 +59,10 @@ module Twilio
|
|
55
59
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
56
60
|
# efficient page size, i.e. min(limit, 1000)
|
57
61
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
58
|
-
def stream(sim: :unset, limit: nil, page_size: nil)
|
62
|
+
def stream(sim: :unset, status: :unset, limit: nil, page_size: nil)
|
59
63
|
limits = @version.read_limits(limit, page_size)
|
60
64
|
|
61
|
-
page = self.page(sim: sim, page_size: limits[:page_size], )
|
65
|
+
page = self.page(sim: sim, status: status, page_size: limits[:page_size], )
|
62
66
|
|
63
67
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
64
68
|
end
|
@@ -82,13 +86,16 @@ module Twilio
|
|
82
86
|
# Request is executed immediately.
|
83
87
|
# @param [String] sim Filter the Settings Updates by a Super SIM's SID or
|
84
88
|
# UniqueName.
|
89
|
+
# @param [settings_update.Status] status Filter the Settings Updates by status.
|
90
|
+
# Can be `scheduled`, `in-progress`, `successful`, or `failed`.
|
85
91
|
# @param [String] page_token PageToken provided by the API
|
86
92
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
87
93
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
88
94
|
# @return [Page] Page of SettingsUpdateInstance
|
89
|
-
def page(sim: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
95
|
+
def page(sim: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
90
96
|
params = Twilio::Values.of({
|
91
97
|
'Sim' => sim,
|
98
|
+
'Status' => status,
|
92
99
|
'PageToken' => page_token,
|
93
100
|
'Page' => page_number,
|
94
101
|
'PageSize' => page_size,
|
@@ -614,10 +614,10 @@ module Twilio
|
|
614
614
|
# Create a new <Say-As> element
|
615
615
|
# words:: Words to be interpreted
|
616
616
|
# interpretAs:: Specify the type of words are spoken
|
617
|
-
#
|
617
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
618
618
|
# keyword_args:: additional attributes
|
619
|
-
def say_as(words, interpretAs: nil,
|
620
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
619
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
620
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
621
621
|
end
|
622
622
|
|
623
623
|
##
|
@@ -701,10 +701,10 @@ module Twilio
|
|
701
701
|
# Create a new <Say-As> element
|
702
702
|
# words:: Words to be interpreted
|
703
703
|
# interpretAs:: Specify the type of words are spoken
|
704
|
-
#
|
704
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
705
705
|
# keyword_args:: additional attributes
|
706
|
-
def say_as(words, interpretAs: nil,
|
707
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
706
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
707
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
708
708
|
end
|
709
709
|
|
710
710
|
##
|
@@ -832,10 +832,10 @@ module Twilio
|
|
832
832
|
# Create a new <Say-As> element
|
833
833
|
# words:: Words to be interpreted
|
834
834
|
# interpretAs:: Specify the type of words are spoken
|
835
|
-
#
|
835
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
836
836
|
# keyword_args:: additional attributes
|
837
|
-
def say_as(words, interpretAs: nil,
|
838
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
837
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
838
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
839
839
|
end
|
840
840
|
|
841
841
|
##
|
@@ -931,10 +931,10 @@ module Twilio
|
|
931
931
|
# Create a new <Say-As> element
|
932
932
|
# words:: Words to be interpreted
|
933
933
|
# interpretAs:: Specify the type of words are spoken
|
934
|
-
#
|
934
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
935
935
|
# keyword_args:: additional attributes
|
936
|
-
def say_as(words, interpretAs: nil,
|
937
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
936
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
937
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
938
938
|
end
|
939
939
|
|
940
940
|
##
|
@@ -1063,10 +1063,10 @@ module Twilio
|
|
1063
1063
|
# Create a new <Say-As> element
|
1064
1064
|
# words:: Words to be interpreted
|
1065
1065
|
# interpretAs:: Specify the type of words are spoken
|
1066
|
-
#
|
1066
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
1067
1067
|
# keyword_args:: additional attributes
|
1068
|
-
def say_as(words, interpretAs: nil,
|
1069
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
1068
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
1069
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
1070
1070
|
end
|
1071
1071
|
|
1072
1072
|
##
|
@@ -1173,10 +1173,10 @@ module Twilio
|
|
1173
1173
|
# Create a new <Say-As> element
|
1174
1174
|
# words:: Words to be interpreted
|
1175
1175
|
# interpretAs:: Specify the type of words are spoken
|
1176
|
-
#
|
1176
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
1177
1177
|
# keyword_args:: additional attributes
|
1178
|
-
def say_as(words, interpretAs: nil,
|
1179
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
1178
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
1179
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
1180
1180
|
end
|
1181
1181
|
|
1182
1182
|
##
|
@@ -1272,10 +1272,10 @@ module Twilio
|
|
1272
1272
|
# Create a new <Say-As> element
|
1273
1273
|
# words:: Words to be interpreted
|
1274
1274
|
# interpretAs:: Specify the type of words are spoken
|
1275
|
-
#
|
1275
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
1276
1276
|
# keyword_args:: additional attributes
|
1277
|
-
def say_as(words, interpretAs: nil,
|
1278
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
1277
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
1278
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
1279
1279
|
end
|
1280
1280
|
|
1281
1281
|
##
|
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: 5.
|
4
|
+
version: 5.74.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: 2022-
|
11
|
+
date: 2022-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -437,6 +437,8 @@ files:
|
|
437
437
|
- lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb
|
438
438
|
- lib/twilio-ruby/rest/flex_api/v1/user_roles.rb
|
439
439
|
- lib/twilio-ruby/rest/flex_api/v1/web_channel.rb
|
440
|
+
- lib/twilio-ruby/rest/flex_api/v2.rb
|
441
|
+
- lib/twilio-ruby/rest/flex_api/v2/web_channels.rb
|
440
442
|
- lib/twilio-ruby/rest/frontline_api.rb
|
441
443
|
- lib/twilio-ruby/rest/frontline_api/v1.rb
|
442
444
|
- lib/twilio-ruby/rest/frontline_api/v1/user.rb
|
@@ -533,6 +535,7 @@ files:
|
|
533
535
|
- lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb
|
534
536
|
- lib/twilio-ruby/rest/oauth.rb
|
535
537
|
- lib/twilio-ruby/rest/oauth/v1.rb
|
538
|
+
- lib/twilio-ruby/rest/oauth/v1/device_code.rb
|
536
539
|
- lib/twilio-ruby/rest/oauth/v1/oauth.rb
|
537
540
|
- lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb
|
538
541
|
- lib/twilio-ruby/rest/oauth/v1/token.rb
|