twilio-ruby 5.73.1 → 5.73.3

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: fdb1f38ca1c9845c134c63e773b2b4ca0c0a92ca
4
- data.tar.gz: '06295d094a8aaf33db0854c726930fcc02f869ec'
3
+ metadata.gz: 896d8d0d0dfce7ae4974eef4b0310cf88235ba69
4
+ data.tar.gz: 92cb92bae7b8400bfed7273ef93b2bea4af690b2
5
5
  SHA512:
6
- metadata.gz: e54d51bd992ece7215d43ea5cab42e618166c87173283d8b300ca0c161ded07028720ec5e5492d2b30e3664b304c620569704d15749891e364acd8f5b800df7c
7
- data.tar.gz: 80faf14855805d87f599a222284d3be8782b0620d3c3fe55377ee66c98cc486e17074a0e74daaa5db025b13a8b9da50ebb6e6546c5bf50fa898bfbcc3287e6ff
6
+ metadata.gz: fb4fd38d013d19504a3be0ad3675f2606027bda0f928183bf96dc186f82cfdbf4f8ea3e6bfff493157823526d2f58a8d5c32bbb6928af1dc9d14d104fd1ed32c
7
+ data.tar.gz: 89ea1e3fa976d22a46948144fe5fe56834faa75aabcf7ea0b0fd0466fabcb4a57b611dbb8b45ee70591c460a8e1211b68035ca5406b605fa7131c717b9ade3dc
@@ -8,8 +8,14 @@ jobs:
8
8
  name: Validate title
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: amannn/action-semantic-pull-request@v4
11
+ - uses: amannn/action-semantic-pull-request@v5
12
12
  with:
13
- types: chore docs fix feat test misc
13
+ types: |
14
+ chore
15
+ docs
16
+ fix
17
+ feat
18
+ misc
19
+ test
14
20
  env:
15
21
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -20,7 +20,7 @@ jobs:
20
20
  ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', 'ruby-head', 'jruby-9.2' ]
21
21
  steps:
22
22
  - name: Checkout twilio-ruby
23
- uses: actions/checkout@v2
23
+ uses: actions/checkout@v3
24
24
  with:
25
25
  fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
26
26
 
@@ -65,7 +65,7 @@ jobs:
65
65
  runs-on: ubuntu-latest
66
66
  steps:
67
67
  - name: Checkout twilio-ruby
68
- uses: actions/checkout@v2
68
+ uses: actions/checkout@v3
69
69
  with:
70
70
  fetch-depth: 0
71
71
 
@@ -78,7 +78,7 @@ jobs:
78
78
  - run: bundle install
79
79
 
80
80
  - name: Login to Docker Hub
81
- uses: docker/login-action@v1
81
+ uses: docker/login-action@v2
82
82
  with:
83
83
  username: ${{ secrets.DOCKER_USERNAME }}
84
84
  password: ${{ secrets.DOCKER_AUTH_TOKEN }}
data/CHANGES.md CHANGED
@@ -1,6 +1,34 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2022-11-16] Version 5.73.3
5
+ ---------------------------
6
+ **Library - Chore**
7
+ - [PR #621](https://github.com/twilio/twilio-ruby/pull/621): upgrade GitHub Actions dependencies. Thanks to [@childish-sambino](https://github.com/childish-sambino)!
8
+
9
+ **Api**
10
+ - Set the Content resource to have public visibility as Preview
11
+
12
+ **Flex**
13
+ - Adding new parameter `base_url` to 'gooddata' response in version `v1`
14
+
15
+ **Insights**
16
+ - Added `answered_by` field in List Call Summary
17
+ - Added `answered_by` field in call summary
18
+
19
+
20
+ [2022-11-10] Version 5.73.2
21
+ ---------------------------
22
+ **Flex**
23
+ - Adding two new authorization API 'user_roles' and 'gooddata' in version `v1`
24
+
25
+ **Messaging**
26
+ - Add new Campaign properties (MessageFlow, OptInMessage, OptInKeywords, OptOutMessage, OptOutKeywords, HelpMessage, HelpKeywords)
27
+
28
+ **Twiml**
29
+ - Add new speech models to `Gather`.
30
+
31
+
4
32
  [2022-10-31] Version 5.73.1
5
33
  ---------------------------
6
34
  **Api**
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (C) 2021, Twilio, Inc. <help@twilio.com>
3
+ Copyright (C) 2022, Twilio, Inc. <help@twilio.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
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.73.1'
37
+ gem 'twilio-ruby', '~> 5.73.3'
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.73.1
43
+ gem install twilio-ruby -v 5.73.3
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -33,8 +33,8 @@ module Twilio
33
33
 
34
34
  ##
35
35
  # Create the UserDefinedMessageInstance
36
- # @param [String] content A unique string value to identify API call. This should
37
- # be a unique string value per API call and can be a randomly generated.
36
+ # @param [String] content The User Defined Message in the form of URL-encoded JSON
37
+ # string.
38
38
  # @param [String] idempotency_key A unique string value to identify API call. This
39
39
  # should be a unique string value per API call and can be a randomly generated.
40
40
  # @return [UserDefinedMessageInstance] Created UserDefinedMessageInstance
@@ -117,25 +117,25 @@ module Twilio
117
117
  end
118
118
 
119
119
  ##
120
- # @return [String] Account Sid.
120
+ # @return [String] Account SID.
121
121
  def account_sid
122
122
  @properties['account_sid']
123
123
  end
124
124
 
125
125
  ##
126
- # @return [String] Call Sid.
126
+ # @return [String] Call SID.
127
127
  def call_sid
128
128
  @properties['call_sid']
129
129
  end
130
130
 
131
131
  ##
132
- # @return [String] A string that uniquely identifies this User Defined Message.
132
+ # @return [String] User Defined Message SID.
133
133
  def sid
134
134
  @properties['sid']
135
135
  end
136
136
 
137
137
  ##
138
- # @return [Time] The date this User Defined Message was created
138
+ # @return [Time] The date this User Defined Message was created.
139
139
  def date_created
140
140
  @properties['date_created']
141
141
  end
@@ -21,8 +21,8 @@ module Twilio
21
21
  # User Defined Messages.
22
22
  # @param [String] call_sid The SID of the
23
23
  # {Call}[https://www.twilio.com/docs/voice/api/call-resource] the User Defined
24
- # Messages subscription is associated with. This refers to the call sid that is
25
- # producing the user defined messages.
24
+ # Message Subscription is associated with. This refers to the Call SID that is
25
+ # producing the User Defined Messages.
26
26
  # @return [UserDefinedMessageSubscriptionList] UserDefinedMessageSubscriptionList
27
27
  def initialize(version, account_sid: nil, call_sid: nil)
28
28
  super(version)
@@ -109,8 +109,8 @@ module Twilio
109
109
  # User Defined Messages.
110
110
  # @param [String] call_sid The SID of the
111
111
  # {Call}[https://www.twilio.com/docs/voice/api/call-resource] the User Defined
112
- # Messages subscription is associated with. This refers to the call sid that is
113
- # producing the user defined messages.
112
+ # Message Subscription is associated with. This refers to the Call SID that is
113
+ # producing the User Defined Messages.
114
114
  # @param [String] sid The SID that uniquely identifies this User Defined Message
115
115
  # Subscription.
116
116
  # @return [UserDefinedMessageSubscriptionContext] UserDefinedMessageSubscriptionContext
@@ -154,8 +154,8 @@ module Twilio
154
154
  # User Defined Messages.
155
155
  # @param [String] call_sid The SID of the
156
156
  # {Call}[https://www.twilio.com/docs/voice/api/call-resource] the User Defined
157
- # Messages subscription is associated with. This refers to the call sid that is
158
- # producing the user defined messages.
157
+ # Message Subscription is associated with. This refers to the Call SID that is
158
+ # producing the User Defined Messages.
159
159
  # @param [String] sid The SID that uniquely identifies this User Defined Message
160
160
  # Subscription.
161
161
  # @return [UserDefinedMessageSubscriptionInstance] UserDefinedMessageSubscriptionInstance
@@ -193,31 +193,31 @@ module Twilio
193
193
  end
194
194
 
195
195
  ##
196
- # @return [String] Account Sid.
196
+ # @return [String] Account SID.
197
197
  def account_sid
198
198
  @properties['account_sid']
199
199
  end
200
200
 
201
201
  ##
202
- # @return [String] Call Sid.
202
+ # @return [String] Call SID.
203
203
  def call_sid
204
204
  @properties['call_sid']
205
205
  end
206
206
 
207
207
  ##
208
- # @return [String] User Defined Message Subscription Sid
208
+ # @return [String] User Defined Message Subscription SID.
209
209
  def sid
210
210
  @properties['sid']
211
211
  end
212
212
 
213
213
  ##
214
- # @return [Time] The date this User Defined Message Subscription was created
214
+ # @return [Time] The date this User Defined Message Subscription was created.
215
215
  def date_created
216
216
  @properties['date_created']
217
217
  end
218
218
 
219
219
  ##
220
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`.
220
+ # @return [String] The URI of the User Defined Message Subscription Resource, relative to `https://api.twilio.com`.
221
221
  def uri
222
222
  @properties['uri']
223
223
  end
@@ -34,6 +34,7 @@ module Twilio
34
34
  @api = nil
35
35
  @autopilot = nil
36
36
  @chat = nil
37
+ @content = nil
37
38
  @conversations = nil
38
39
  @events = nil
39
40
  @flex_api = nil
@@ -188,6 +189,12 @@ module Twilio
188
189
  @chat ||= Chat.new self
189
190
  end
190
191
 
192
+ ##
193
+ # Access the Content Twilio Domain
194
+ def content
195
+ @content ||= Content.new self
196
+ end
197
+
191
198
  ##
192
199
  # Access the Conversations Twilio Domain
193
200
  def conversations
@@ -0,0 +1,337 @@
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 Content < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
15
+ class ContentList < ListResource
16
+ ##
17
+ # Initialize the ContentList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [ContentList] ContentList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Content"
26
+ end
27
+
28
+ ##
29
+ # Create the ContentInstance
30
+ # @return [ContentInstance] Created ContentInstance
31
+ def create
32
+ payload = @version.create('POST', @uri)
33
+
34
+ ContentInstance.new(@version, payload, )
35
+ end
36
+
37
+ ##
38
+ # Lists ContentInstance records from the API as a list.
39
+ # Unlike stream(), this operation is eager and will load `limit` records into
40
+ # memory before returning.
41
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
42
+ # guarantees to never return more than limit. Default is no limit
43
+ # @param [Integer] page_size Number of records to fetch per request, when
44
+ # not set will use the default value of 50 records. If no page_size is defined
45
+ # but a limit is defined, stream() will attempt to read the limit with the most
46
+ # efficient page size, i.e. min(limit, 1000)
47
+ # @return [Array] Array of up to limit results
48
+ def list(limit: nil, page_size: nil)
49
+ self.stream(limit: limit, page_size: page_size).entries
50
+ end
51
+
52
+ ##
53
+ # Streams ContentInstance records from the API as an Enumerable.
54
+ # This operation lazily loads records as efficiently as possible until the limit
55
+ # is reached.
56
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
57
+ # guarantees to never return more than limit. Default is no limit.
58
+ # @param [Integer] page_size Number of records to fetch per request, when
59
+ # not set will use the default value of 50 records. If no page_size is defined
60
+ # but a limit is defined, stream() will attempt to read the limit with the most
61
+ # efficient page size, i.e. min(limit, 1000)
62
+ # @return [Enumerable] Enumerable that will yield up to limit results
63
+ def stream(limit: nil, page_size: nil)
64
+ limits = @version.read_limits(limit, page_size)
65
+
66
+ page = self.page(page_size: limits[:page_size], )
67
+
68
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
69
+ end
70
+
71
+ ##
72
+ # When passed a block, yields ContentInstance records from the API.
73
+ # This operation lazily loads records as efficiently as possible until the limit
74
+ # is reached.
75
+ def each
76
+ limits = @version.read_limits
77
+
78
+ page = self.page(page_size: limits[:page_size], )
79
+
80
+ @version.stream(page,
81
+ limit: limits[:limit],
82
+ page_limit: limits[:page_limit]).each {|x| yield x}
83
+ end
84
+
85
+ ##
86
+ # Retrieve a single page of ContentInstance records from the API.
87
+ # Request is executed immediately.
88
+ # @param [String] page_token PageToken provided by the API
89
+ # @param [Integer] page_number Page Number, this value is simply for client state
90
+ # @param [Integer] page_size Number of records to return, defaults to 50
91
+ # @return [Page] Page of ContentInstance
92
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
93
+ params = Twilio::Values.of({
94
+ 'PageToken' => page_token,
95
+ 'Page' => page_number,
96
+ 'PageSize' => page_size,
97
+ })
98
+
99
+ response = @version.page('GET', @uri, params: params)
100
+
101
+ ContentPage.new(@version, response, @solution)
102
+ end
103
+
104
+ ##
105
+ # Retrieve a single page of ContentInstance records from the API.
106
+ # Request is executed immediately.
107
+ # @param [String] target_url API-generated URL for the requested results page
108
+ # @return [Page] Page of ContentInstance
109
+ def get_page(target_url)
110
+ response = @version.domain.request(
111
+ 'GET',
112
+ target_url
113
+ )
114
+ ContentPage.new(@version, response, @solution)
115
+ end
116
+
117
+ ##
118
+ # Provide a user friendly representation
119
+ def to_s
120
+ '#<Twilio.Content.V1.ContentList>'
121
+ end
122
+ end
123
+
124
+ ##
125
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
126
+ class ContentPage < Page
127
+ ##
128
+ # Initialize the ContentPage
129
+ # @param [Version] version Version that contains the resource
130
+ # @param [Response] response Response from the API
131
+ # @param [Hash] solution Path solution for the resource
132
+ # @return [ContentPage] ContentPage
133
+ def initialize(version, response, solution)
134
+ super(version, response)
135
+
136
+ # Path Solution
137
+ @solution = solution
138
+ end
139
+
140
+ ##
141
+ # Build an instance of ContentInstance
142
+ # @param [Hash] payload Payload response from the API
143
+ # @return [ContentInstance] ContentInstance
144
+ def get_instance(payload)
145
+ ContentInstance.new(@version, payload, )
146
+ end
147
+
148
+ ##
149
+ # Provide a user friendly representation
150
+ def to_s
151
+ '<Twilio.Content.V1.ContentPage>'
152
+ end
153
+ end
154
+
155
+ ##
156
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
157
+ class ContentContext < InstanceContext
158
+ ##
159
+ # Initialize the ContentContext
160
+ # @param [Version] version Version that contains the resource
161
+ # @param [String] sid The Twilio-provided string that uniquely identifies the
162
+ # Content resource to fetch.
163
+ # @return [ContentContext] ContentContext
164
+ def initialize(version, sid)
165
+ super(version)
166
+
167
+ # Path Solution
168
+ @solution = {sid: sid, }
169
+ @uri = "/Content/#{@solution[:sid]}"
170
+ end
171
+
172
+ ##
173
+ # Fetch the ContentInstance
174
+ # @return [ContentInstance] Fetched ContentInstance
175
+ def fetch
176
+ payload = @version.fetch('GET', @uri)
177
+
178
+ ContentInstance.new(@version, payload, sid: @solution[:sid], )
179
+ end
180
+
181
+ ##
182
+ # Delete the ContentInstance
183
+ # @return [Boolean] true if delete succeeds, false otherwise
184
+ def delete
185
+ @version.delete('DELETE', @uri)
186
+ end
187
+
188
+ ##
189
+ # Provide a user friendly representation
190
+ def to_s
191
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
192
+ "#<Twilio.Content.V1.ContentContext #{context}>"
193
+ end
194
+
195
+ ##
196
+ # Provide a detailed, user friendly representation
197
+ def inspect
198
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
199
+ "#<Twilio.Content.V1.ContentContext #{context}>"
200
+ end
201
+ end
202
+
203
+ ##
204
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
205
+ class ContentInstance < InstanceResource
206
+ ##
207
+ # Initialize the ContentInstance
208
+ # @param [Version] version Version that contains the resource
209
+ # @param [Hash] payload payload that contains response from Twilio
210
+ # @param [String] sid The Twilio-provided string that uniquely identifies the
211
+ # Content resource to fetch.
212
+ # @return [ContentInstance] ContentInstance
213
+ def initialize(version, payload, sid: nil)
214
+ super(version)
215
+
216
+ # Marshaled Properties
217
+ @properties = {
218
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
219
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
220
+ 'sid' => payload['sid'],
221
+ 'account_sid' => payload['account_sid'],
222
+ 'friendly_name' => payload['friendly_name'],
223
+ 'language' => payload['language'],
224
+ 'variables' => payload['variables'],
225
+ 'types' => payload['types'],
226
+ 'url' => payload['url'],
227
+ 'links' => payload['links'],
228
+ }
229
+
230
+ # Context
231
+ @instance_context = nil
232
+ @params = {'sid' => sid || @properties['sid'], }
233
+ end
234
+
235
+ ##
236
+ # Generate an instance context for the instance, the context is capable of
237
+ # performing various actions. All instance actions are proxied to the context
238
+ # @return [ContentContext] ContentContext for this ContentInstance
239
+ def context
240
+ unless @instance_context
241
+ @instance_context = ContentContext.new(@version, @params['sid'], )
242
+ end
243
+ @instance_context
244
+ end
245
+
246
+ ##
247
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was created
248
+ def date_created
249
+ @properties['date_created']
250
+ end
251
+
252
+ ##
253
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
254
+ def date_updated
255
+ @properties['date_updated']
256
+ end
257
+
258
+ ##
259
+ # @return [String] The unique string that identifies the resource
260
+ def sid
261
+ @properties['sid']
262
+ end
263
+
264
+ ##
265
+ # @return [String] The SID of the Account that created the resource
266
+ def account_sid
267
+ @properties['account_sid']
268
+ end
269
+
270
+ ##
271
+ # @return [String] A string name used to describe the Content resource
272
+ def friendly_name
273
+ @properties['friendly_name']
274
+ end
275
+
276
+ ##
277
+ # @return [String] Two-letter language code identifying the language the Content resource is in.
278
+ def language
279
+ @properties['language']
280
+ end
281
+
282
+ ##
283
+ # @return [Hash] Defines the default placeholder values for variables included in the Content resource
284
+ def variables
285
+ @properties['variables']
286
+ end
287
+
288
+ ##
289
+ # @return [Hash] The Content types (e.g. twilio/text) for this Content resource
290
+ def types
291
+ @properties['types']
292
+ end
293
+
294
+ ##
295
+ # @return [String] The URL of the resource, relative to `https://content.twilio.com`
296
+ def url
297
+ @properties['url']
298
+ end
299
+
300
+ ##
301
+ # @return [String] A list of links related to the Content resource
302
+ def links
303
+ @properties['links']
304
+ end
305
+
306
+ ##
307
+ # Fetch the ContentInstance
308
+ # @return [ContentInstance] Fetched ContentInstance
309
+ def fetch
310
+ context.fetch
311
+ end
312
+
313
+ ##
314
+ # Delete the ContentInstance
315
+ # @return [Boolean] true if delete succeeds, false otherwise
316
+ def delete
317
+ context.delete
318
+ end
319
+
320
+ ##
321
+ # Provide a user friendly representation
322
+ def to_s
323
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
324
+ "<Twilio.Content.V1.ContentInstance #{values}>"
325
+ end
326
+
327
+ ##
328
+ # Provide a detailed, user friendly representation
329
+ def inspect
330
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
331
+ "<Twilio.Content.V1.ContentInstance #{values}>"
332
+ end
333
+ end
334
+ end
335
+ end
336
+ end
337
+ end
@@ -0,0 +1,45 @@
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 Content
12
+ class V1 < Version
13
+ ##
14
+ # Initialize the V1 version of Content
15
+ def initialize(domain)
16
+ super
17
+ @version = 'v1'
18
+ @contents = nil
19
+ end
20
+
21
+ ##
22
+ # @param [String] sid The Twilio-provided string that uniquely identifies the
23
+ # Content resource to fetch.
24
+ # @return [Twilio::REST::Content::V1::ContentContext] if sid was passed.
25
+ # @return [Twilio::REST::Content::V1::ContentList]
26
+ def contents(sid=:unset)
27
+ if sid.nil?
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ end
30
+ if sid == :unset
31
+ @contents ||= ContentList.new self
32
+ else
33
+ ContentContext.new(self, sid)
34
+ end
35
+ end
36
+
37
+ ##
38
+ # Provide a user friendly representation
39
+ def to_s
40
+ '<Twilio::REST::Content::V1>'
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,47 @@
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 Content < Domain
12
+ ##
13
+ # Initialize the Content Domain
14
+ def initialize(twilio)
15
+ super
16
+
17
+ @base_url = 'https://content.twilio.com'
18
+ @host = 'content.twilio.com'
19
+ @port = 443
20
+
21
+ # Versions
22
+ @v1 = nil
23
+ end
24
+
25
+ ##
26
+ # Version v1 of content
27
+ def v1
28
+ @v1 ||= V1.new self
29
+ end
30
+
31
+ ##
32
+ # @param [String] sid The unique string that that we created to identify the
33
+ # Content resource.
34
+ # @return [Twilio::REST::Content::V1::ContentInstance] if sid was passed.
35
+ # @return [Twilio::REST::Content::V1::ContentList]
36
+ def contents(sid=:unset)
37
+ self.v1.contents(sid)
38
+ end
39
+
40
+ ##
41
+ # Provide a user friendly representation
42
+ def to_s
43
+ '#<Twilio::REST::Content>'
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,190 @@
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 V1 < Version
13
+ class GoodDataList < ListResource
14
+ ##
15
+ # Initialize the GoodDataList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [GoodDataList] GoodDataList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.FlexApi.V1.GoodDataList>'
29
+ end
30
+ end
31
+
32
+ class GoodDataPage < Page
33
+ ##
34
+ # Initialize the GoodDataPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [GoodDataPage] GoodDataPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of GoodDataInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [GoodDataInstance] GoodDataInstance
50
+ def get_instance(payload)
51
+ GoodDataInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.FlexApi.V1.GoodDataPage>'
58
+ end
59
+ end
60
+
61
+ class GoodDataContext < InstanceContext
62
+ ##
63
+ # Initialize the GoodDataContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [GoodDataContext] GoodDataContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/Accounts/GoodData"
72
+ end
73
+
74
+ ##
75
+ # Create the GoodDataInstance
76
+ # @param [String] token The Token HTTP request header
77
+ # @return [GoodDataInstance] Created GoodDataInstance
78
+ def create(token: :unset)
79
+ headers = Twilio::Values.of({'Token' => token, })
80
+
81
+ payload = @version.create('POST', @uri, headers: headers)
82
+
83
+ GoodDataInstance.new(@version, payload, )
84
+ end
85
+
86
+ ##
87
+ # Provide a user friendly representation
88
+ def to_s
89
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
90
+ "#<Twilio.FlexApi.V1.GoodDataContext #{context}>"
91
+ end
92
+
93
+ ##
94
+ # Provide a detailed, user friendly representation
95
+ def inspect
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.FlexApi.V1.GoodDataContext #{context}>"
98
+ end
99
+ end
100
+
101
+ class GoodDataInstance < InstanceResource
102
+ ##
103
+ # Initialize the GoodDataInstance
104
+ # @param [Version] version Version that contains the resource
105
+ # @param [Hash] payload payload that contains response from Twilio
106
+ # @return [GoodDataInstance] GoodDataInstance
107
+ def initialize(version, payload)
108
+ super(version)
109
+
110
+ # Marshaled Properties
111
+ @properties = {
112
+ 'workspace_id' => payload['workspace_id'],
113
+ 'session_expiry' => payload['session_expiry'],
114
+ 'session_id' => payload['session_id'],
115
+ 'gd_base_url' => payload['gd_base_url'],
116
+ 'url' => payload['url'],
117
+ }
118
+
119
+ # Context
120
+ @instance_context = nil
121
+ @params = {}
122
+ end
123
+
124
+ ##
125
+ # Generate an instance context for the instance, the context is capable of
126
+ # performing various actions. All instance actions are proxied to the context
127
+ # @return [GoodDataContext] GoodDataContext for this GoodDataInstance
128
+ def context
129
+ unless @instance_context
130
+ @instance_context = GoodDataContext.new(@version, )
131
+ end
132
+ @instance_context
133
+ end
134
+
135
+ ##
136
+ # @return [String] Unique workspace ID in gooddata
137
+ def workspace_id
138
+ @properties['workspace_id']
139
+ end
140
+
141
+ ##
142
+ # @return [String] The session expiry date and time
143
+ def session_expiry
144
+ @properties['session_expiry']
145
+ end
146
+
147
+ ##
148
+ # @return [String] Unique session ID
149
+ def session_id
150
+ @properties['session_id']
151
+ end
152
+
153
+ ##
154
+ # @return [String] GoodData login base URL
155
+ def gd_base_url
156
+ @properties['gd_base_url']
157
+ end
158
+
159
+ ##
160
+ # @return [String] The URL of this resource.
161
+ def url
162
+ @properties['url']
163
+ end
164
+
165
+ ##
166
+ # Create the GoodDataInstance
167
+ # @param [String] token The Token HTTP request header
168
+ # @return [GoodDataInstance] Created GoodDataInstance
169
+ def create(token: :unset)
170
+ context.create(token: token, )
171
+ end
172
+
173
+ ##
174
+ # Provide a user friendly representation
175
+ def to_s
176
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
177
+ "<Twilio.FlexApi.V1.GoodDataInstance #{values}>"
178
+ end
179
+
180
+ ##
181
+ # Provide a detailed, user friendly representation
182
+ def inspect
183
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
184
+ "<Twilio.FlexApi.V1.GoodDataInstance #{values}>"
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,166 @@
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 V1 < Version
13
+ class UserRolesList < ListResource
14
+ ##
15
+ # Initialize the UserRolesList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [UserRolesList] UserRolesList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.FlexApi.V1.UserRolesList>'
29
+ end
30
+ end
31
+
32
+ class UserRolesPage < Page
33
+ ##
34
+ # Initialize the UserRolesPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [UserRolesPage] UserRolesPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of UserRolesInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [UserRolesInstance] UserRolesInstance
50
+ def get_instance(payload)
51
+ UserRolesInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.FlexApi.V1.UserRolesPage>'
58
+ end
59
+ end
60
+
61
+ class UserRolesContext < InstanceContext
62
+ ##
63
+ # Initialize the UserRolesContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [UserRolesContext] UserRolesContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/Accounts/UserRoles"
72
+ end
73
+
74
+ ##
75
+ # Fetch the UserRolesInstance
76
+ # @param [String] token The Token HTTP request header
77
+ # @return [UserRolesInstance] Fetched UserRolesInstance
78
+ def fetch(token: :unset)
79
+ headers = Twilio::Values.of({'Token' => token, })
80
+
81
+ payload = @version.fetch('GET', @uri, headers: headers)
82
+
83
+ UserRolesInstance.new(@version, payload, )
84
+ end
85
+
86
+ ##
87
+ # Provide a user friendly representation
88
+ def to_s
89
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
90
+ "#<Twilio.FlexApi.V1.UserRolesContext #{context}>"
91
+ end
92
+
93
+ ##
94
+ # Provide a detailed, user friendly representation
95
+ def inspect
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.FlexApi.V1.UserRolesContext #{context}>"
98
+ end
99
+ end
100
+
101
+ class UserRolesInstance < InstanceResource
102
+ ##
103
+ # Initialize the UserRolesInstance
104
+ # @param [Version] version Version that contains the resource
105
+ # @param [Hash] payload payload that contains response from Twilio
106
+ # @return [UserRolesInstance] UserRolesInstance
107
+ def initialize(version, payload)
108
+ super(version)
109
+
110
+ # Marshaled Properties
111
+ @properties = {'roles' => payload['roles'], 'url' => payload['url'], }
112
+
113
+ # Context
114
+ @instance_context = nil
115
+ @params = {}
116
+ end
117
+
118
+ ##
119
+ # Generate an instance context for the instance, the context is capable of
120
+ # performing various actions. All instance actions are proxied to the context
121
+ # @return [UserRolesContext] UserRolesContext for this UserRolesInstance
122
+ def context
123
+ unless @instance_context
124
+ @instance_context = UserRolesContext.new(@version, )
125
+ end
126
+ @instance_context
127
+ end
128
+
129
+ ##
130
+ # @return [Array[String]] Flex Insights roles for the user
131
+ def roles
132
+ @properties['roles']
133
+ end
134
+
135
+ ##
136
+ # @return [String] The url
137
+ def url
138
+ @properties['url']
139
+ end
140
+
141
+ ##
142
+ # Fetch the UserRolesInstance
143
+ # @param [String] token The Token HTTP request header
144
+ # @return [UserRolesInstance] Fetched UserRolesInstance
145
+ def fetch(token: :unset)
146
+ context.fetch(token: token, )
147
+ end
148
+
149
+ ##
150
+ # Provide a user friendly representation
151
+ def to_s
152
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
153
+ "<Twilio.FlexApi.V1.UserRolesInstance #{values}>"
154
+ end
155
+
156
+ ##
157
+ # Provide a detailed, user friendly representation
158
+ def inspect
159
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
160
+ "<Twilio.FlexApi.V1.UserRolesInstance #{values}>"
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
166
+ end
@@ -18,7 +18,9 @@ module Twilio
18
18
  @channel = nil
19
19
  @configuration = nil
20
20
  @flex_flow = nil
21
+ @good_data = nil
21
22
  @interaction = nil
23
+ @user_roles = nil
22
24
  @web_channel = nil
23
25
  end
24
26
 
@@ -58,6 +60,12 @@ module Twilio
58
60
  end
59
61
  end
60
62
 
63
+ ##
64
+ # @return [Twilio::REST::Flex_api::V1::GoodDataContext]
65
+ def good_data
66
+ @good_data ||= GoodDataContext.new self
67
+ end
68
+
61
69
  ##
62
70
  # @param [String] sid The SID of the Interaction resource to fetch.
63
71
  # @return [Twilio::REST::Flex_api::V1::InteractionContext] if sid was passed.
@@ -73,6 +81,12 @@ module Twilio
73
81
  end
74
82
  end
75
83
 
84
+ ##
85
+ # @return [Twilio::REST::Flex_api::V1::UserRolesContext]
86
+ def user_roles
87
+ @user_roles ||= UserRolesContext.new self
88
+ end
89
+
76
90
  ##
77
91
  # @param [String] sid The SID of the WebChannel resource to fetch.
78
92
  # @return [Twilio::REST::Flex_api::V1::WebChannelContext] if sid was passed.
@@ -52,6 +52,12 @@ module Twilio
52
52
  self.v1.flex_flow(sid)
53
53
  end
54
54
 
55
+ ##
56
+ # @return [Twilio::REST::Flex_api::V1::GoodDataInstance]
57
+ def good_data
58
+ self.v1.good_data()
59
+ end
60
+
55
61
  ##
56
62
  # @param [String] sid The unique string created by Twilio to identify an
57
63
  # Interaction resource, prefixed with KD.
@@ -61,6 +67,12 @@ module Twilio
61
67
  self.v1.interaction(sid)
62
68
  end
63
69
 
70
+ ##
71
+ # @return [Twilio::REST::Flex_api::V1::UserRolesInstance]
72
+ def user_roles
73
+ self.v1.user_roles()
74
+ end
75
+
64
76
  ##
65
77
  # @param [String] sid The unique string that we created to identify the WebChannel
66
78
  # resource.
@@ -117,6 +117,7 @@ module Twilio
117
117
  'call_sid' => payload['call_sid'],
118
118
  'call_type' => payload['call_type'],
119
119
  'call_state' => payload['call_state'],
120
+ 'answered_by' => payload['answered_by'],
120
121
  'processing_state' => payload['processing_state'],
121
122
  'created_time' => Twilio.deserialize_iso8601_datetime(payload['created_time']),
122
123
  'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
@@ -177,6 +178,12 @@ module Twilio
177
178
  @properties['call_state']
178
179
  end
179
180
 
181
+ ##
182
+ # @return [call_summary.AnsweredBy] The answered_by
183
+ def answered_by
184
+ @properties['answered_by']
185
+ end
186
+
180
187
  ##
181
188
  # @return [call_summary.ProcessingState] The processing_state
182
189
  def processing_state
@@ -268,6 +268,7 @@ module Twilio
268
268
  @properties = {
269
269
  'account_sid' => payload['account_sid'],
270
270
  'call_sid' => payload['call_sid'],
271
+ 'answered_by' => payload['answered_by'],
271
272
  'call_type' => payload['call_type'],
272
273
  'call_state' => payload['call_state'],
273
274
  'processing_state' => payload['processing_state'],
@@ -302,6 +303,12 @@ module Twilio
302
303
  @properties['call_sid']
303
304
  end
304
305
 
306
+ ##
307
+ # @return [call_summaries.AnsweredBy] The answered_by
308
+ def answered_by
309
+ @properties['answered_by']
310
+ end
311
+
305
312
  ##
306
313
  # @return [call_summaries.CallType] The call_type
307
314
  def call_type
@@ -41,8 +41,22 @@ module Twilio
41
41
  # messages that contain links.
42
42
  # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
43
43
  # messages that contain phone numbers.
44
+ # @param [String] message_flow Description of how end users opt-in to the SMS
45
+ # campaign, therefore giving consent to receive messages.
46
+ # @param [String] opt_in_message The message that will be sent to the user when
47
+ # they opt in to the SMS campaign.
48
+ # @param [String] opt_out_message The message that will be sent to the user when
49
+ # they opt out of the SMS campaign.
50
+ # @param [String] help_message The message that will be sent to the user when they
51
+ # request help for the SMS campaign.
52
+ # @param [Array[String]] opt_in_keywords The keywords that will be used to opt in
53
+ # to the SMS campaign.
54
+ # @param [Array[String]] opt_out_keywords The keywords that will be used to opt
55
+ # out of the SMS campaign.
56
+ # @param [Array[String]] help_keywords The keywords that will be used to request
57
+ # help for the SMS campaign.
44
58
  # @return [UsAppToPersonInstance] Created UsAppToPersonInstance
45
- 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)
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, message_flow: :unset, opt_in_message: :unset, opt_out_message: :unset, help_message: :unset, opt_in_keywords: :unset, opt_out_keywords: :unset, help_keywords: :unset)
46
60
  data = Twilio::Values.of({
47
61
  'BrandRegistrationSid' => brand_registration_sid,
48
62
  'Description' => description,
@@ -50,6 +64,13 @@ module Twilio
50
64
  'UsAppToPersonUsecase' => us_app_to_person_usecase,
51
65
  'HasEmbeddedLinks' => has_embedded_links,
52
66
  'HasEmbeddedPhone' => has_embedded_phone,
67
+ 'MessageFlow' => message_flow,
68
+ 'OptInMessage' => opt_in_message,
69
+ 'OptOutMessage' => opt_out_message,
70
+ 'HelpMessage' => help_message,
71
+ 'OptInKeywords' => Twilio.serialize_list(opt_in_keywords) { |e| e },
72
+ 'OptOutKeywords' => Twilio.serialize_list(opt_out_keywords) { |e| e },
73
+ 'HelpKeywords' => Twilio.serialize_list(help_keywords) { |e| e },
53
74
  })
54
75
 
55
76
  payload = @version.create('POST', @uri, data: data)
@@ -270,6 +291,13 @@ module Twilio
270
291
  'campaign_id' => payload['campaign_id'],
271
292
  'is_externally_registered' => payload['is_externally_registered'],
272
293
  'rate_limits' => payload['rate_limits'],
294
+ 'message_flow' => payload['message_flow'],
295
+ 'opt_in_message' => payload['opt_in_message'],
296
+ 'opt_out_message' => payload['opt_out_message'],
297
+ 'help_message' => payload['help_message'],
298
+ 'opt_in_keywords' => payload['opt_in_keywords'],
299
+ 'opt_out_keywords' => payload['opt_out_keywords'],
300
+ 'help_keywords' => payload['help_keywords'],
273
301
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
274
302
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
275
303
  'url' => payload['url'],
@@ -374,6 +402,48 @@ module Twilio
374
402
  @properties['rate_limits']
375
403
  end
376
404
 
405
+ ##
406
+ # @return [String] Consumer opt-in flow
407
+ def message_flow
408
+ @properties['message_flow']
409
+ end
410
+
411
+ ##
412
+ # @return [String] Opt In Message
413
+ def opt_in_message
414
+ @properties['opt_in_message']
415
+ end
416
+
417
+ ##
418
+ # @return [String] Opt Out Message
419
+ def opt_out_message
420
+ @properties['opt_out_message']
421
+ end
422
+
423
+ ##
424
+ # @return [String] Help Message
425
+ def help_message
426
+ @properties['help_message']
427
+ end
428
+
429
+ ##
430
+ # @return [Array[String]] Opt In Keywords
431
+ def opt_in_keywords
432
+ @properties['opt_in_keywords']
433
+ end
434
+
435
+ ##
436
+ # @return [Array[String]] Opt Out Keywords
437
+ def opt_out_keywords
438
+ @properties['opt_out_keywords']
439
+ end
440
+
441
+ ##
442
+ # @return [Array[String]] Help Keywords
443
+ def help_keywords
444
+ @properties['help_keywords']
445
+ end
446
+
377
447
  ##
378
448
  # @return [Time] The ISO 8601 date and time in GMT when the resource was created
379
449
  def date_created
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.73.1'
2
+ VERSION = '5.73.3'
3
3
  end
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.73.1
4
+ version: 5.73.3
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-10-31 00:00:00.000000000 Z
11
+ date: 2022-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -381,6 +381,9 @@ files:
381
381
  - lib/twilio-ruby/rest/chat/v3.rb
382
382
  - lib/twilio-ruby/rest/chat/v3/channel.rb
383
383
  - lib/twilio-ruby/rest/client.rb
384
+ - lib/twilio-ruby/rest/content.rb
385
+ - lib/twilio-ruby/rest/content/v1.rb
386
+ - lib/twilio-ruby/rest/content/v1/content.rb
384
387
  - lib/twilio-ruby/rest/conversations.rb
385
388
  - lib/twilio-ruby/rest/conversations/v1.rb
386
389
  - lib/twilio-ruby/rest/conversations/v1/address_configuration.rb
@@ -425,10 +428,12 @@ files:
425
428
  - lib/twilio-ruby/rest/flex_api/v1/channel.rb
426
429
  - lib/twilio-ruby/rest/flex_api/v1/configuration.rb
427
430
  - lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb
431
+ - lib/twilio-ruby/rest/flex_api/v1/good_data.rb
428
432
  - lib/twilio-ruby/rest/flex_api/v1/interaction.rb
429
433
  - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb
430
434
  - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb
431
435
  - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb
436
+ - lib/twilio-ruby/rest/flex_api/v1/user_roles.rb
432
437
  - lib/twilio-ruby/rest/flex_api/v1/web_channel.rb
433
438
  - lib/twilio-ruby/rest/frontline_api.rb
434
439
  - lib/twilio-ruby/rest/frontline_api/v1.rb