twilio-ruby 5.57.0 → 5.57.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +12 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/conversations.rb +6 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +2 -2
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +2 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -5
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56ba46ce32ceced608bcb6b1ab335f0aa103da6d3a40dba1e0a59b97734fe4f7
|
4
|
+
data.tar.gz: 4104e0a452f0760f38a5ef1429553ad9a5f92c33a314e57d8f6e25c1689ada84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d3edfca4bae4bad789f6ef2e5f15a161c115bb625e6a0912049c8f6054b05c40d4e41dd19544072be75a0e4f6d69f1b23fa41f3e8b3bee2453843f370c8c658
|
7
|
+
data.tar.gz: 294073c071626bd889f211b66d16f0f896c6e127d524385b9d8989684eced0d63cdd1b6d456537f9ccc78e8b2a71b45dfdb1b14ec4a86c1f3b90413a0f4c588b
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
[2021-07-28] Version 5.57.1
|
5
|
+
---------------------------
|
6
|
+
**Conversations**
|
7
|
+
- Expose ParticipantConversations resource
|
8
|
+
|
9
|
+
**Taskrouter**
|
10
|
+
- Adding `links` to the activity resource
|
11
|
+
|
12
|
+
**Verify**
|
13
|
+
- Added a `Version` to Verify Factors `Webhooks` to add new fields without breaking old Webhooks.
|
14
|
+
|
15
|
+
|
4
16
|
[2021-07-14] Version 5.57.0
|
5
17
|
---------------------------
|
6
18
|
**Conversations**
|
data/README.md
CHANGED
@@ -35,13 +35,13 @@ This library supports the following Ruby implementations:
|
|
35
35
|
To install using [Bundler][bundler] grab the latest stable version:
|
36
36
|
|
37
37
|
```ruby
|
38
|
-
gem 'twilio-ruby', '~> 5.57.
|
38
|
+
gem 'twilio-ruby', '~> 5.57.1'
|
39
39
|
```
|
40
40
|
|
41
41
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
42
42
|
|
43
43
|
```bash
|
44
|
-
gem install twilio-ruby -v 5.57.
|
44
|
+
gem install twilio-ruby -v 5.57.1
|
45
45
|
```
|
46
46
|
|
47
47
|
To build and install the development branch yourself from the latest source:
|
@@ -52,6 +52,12 @@ module Twilio
|
|
52
52
|
self.v1.credentials(sid)
|
53
53
|
end
|
54
54
|
|
55
|
+
##
|
56
|
+
# @return [Twilio::REST::Conversations::V1::ParticipantConversationInstance]
|
57
|
+
def participant_conversations
|
58
|
+
self.v1.participant_conversations()
|
59
|
+
end
|
60
|
+
|
55
61
|
##
|
56
62
|
# @param [String] sid The unique string that we created to identify the Role
|
57
63
|
# resource.
|
@@ -18,6 +18,7 @@ module Twilio
|
|
18
18
|
@configuration = nil
|
19
19
|
@conversations = nil
|
20
20
|
@credentials = nil
|
21
|
+
@participant_conversations = nil
|
21
22
|
@roles = nil
|
22
23
|
@services = nil
|
23
24
|
@users = nil
|
@@ -61,6 +62,12 @@ module Twilio
|
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
65
|
+
##
|
66
|
+
# @return [Twilio::REST::Conversations::V1::ParticipantConversationContext]
|
67
|
+
def participant_conversations
|
68
|
+
@participant_conversations ||= ParticipantConversationList.new self
|
69
|
+
end
|
70
|
+
|
64
71
|
##
|
65
72
|
# @param [String] sid The SID of the Role resource to fetch.
|
66
73
|
# @return [Twilio::REST::Conversations::V1::RoleContext] if sid was passed.
|
@@ -0,0 +1,312 @@
|
|
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 Conversations < Domain
|
12
|
+
class V1 < Version
|
13
|
+
class ParticipantConversationList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the ParticipantConversationList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @return [ParticipantConversationList] ParticipantConversationList
|
18
|
+
def initialize(version)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {}
|
23
|
+
@uri = "/ParticipantConversations"
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# Lists ParticipantConversationInstance records from the API as a list.
|
28
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
29
|
+
# memory before returning.
|
30
|
+
# @param [String] identity A unique string identifier for the conversation
|
31
|
+
# participant as {Conversation
|
32
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
33
|
+
# parameter is non-null if (and only if) the participant is using the
|
34
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
35
|
+
# @param [String] address A unique string identifier for the conversation
|
36
|
+
# participant who's not a Conversation User. This parameter could be found in
|
37
|
+
# messaging_binding.address field of Participant resource. It should be
|
38
|
+
# url-encoded.
|
39
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
40
|
+
# guarantees to never return more than limit. Default is no limit
|
41
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
42
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
43
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
44
|
+
# efficient page size, i.e. min(limit, 1000)
|
45
|
+
# @return [Array] Array of up to limit results
|
46
|
+
def list(identity: :unset, address: :unset, limit: nil, page_size: nil)
|
47
|
+
self.stream(identity: identity, address: address, limit: limit, page_size: page_size).entries
|
48
|
+
end
|
49
|
+
|
50
|
+
##
|
51
|
+
# Streams ParticipantConversationInstance records from the API as an Enumerable.
|
52
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
53
|
+
# is reached.
|
54
|
+
# @param [String] identity A unique string identifier for the conversation
|
55
|
+
# participant as {Conversation
|
56
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
57
|
+
# parameter is non-null if (and only if) the participant is using the
|
58
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
59
|
+
# @param [String] address A unique string identifier for the conversation
|
60
|
+
# participant who's not a Conversation User. This parameter could be found in
|
61
|
+
# messaging_binding.address field of Participant resource. It should be
|
62
|
+
# url-encoded.
|
63
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
64
|
+
# guarantees to never return more than limit. Default is no limit.
|
65
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
66
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
67
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
68
|
+
# efficient page size, i.e. min(limit, 1000)
|
69
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
70
|
+
def stream(identity: :unset, address: :unset, limit: nil, page_size: nil)
|
71
|
+
limits = @version.read_limits(limit, page_size)
|
72
|
+
|
73
|
+
page = self.page(identity: identity, address: address, page_size: limits[:page_size], )
|
74
|
+
|
75
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
76
|
+
end
|
77
|
+
|
78
|
+
##
|
79
|
+
# When passed a block, yields ParticipantConversationInstance records from the API.
|
80
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
81
|
+
# is reached.
|
82
|
+
def each
|
83
|
+
limits = @version.read_limits
|
84
|
+
|
85
|
+
page = self.page(page_size: limits[:page_size], )
|
86
|
+
|
87
|
+
@version.stream(page,
|
88
|
+
limit: limits[:limit],
|
89
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
90
|
+
end
|
91
|
+
|
92
|
+
##
|
93
|
+
# Retrieve a single page of ParticipantConversationInstance records from the API.
|
94
|
+
# Request is executed immediately.
|
95
|
+
# @param [String] identity A unique string identifier for the conversation
|
96
|
+
# participant as {Conversation
|
97
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
98
|
+
# parameter is non-null if (and only if) the participant is using the
|
99
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
100
|
+
# @param [String] address A unique string identifier for the conversation
|
101
|
+
# participant who's not a Conversation User. This parameter could be found in
|
102
|
+
# messaging_binding.address field of Participant resource. It should be
|
103
|
+
# url-encoded.
|
104
|
+
# @param [String] page_token PageToken provided by the API
|
105
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
106
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
107
|
+
# @return [Page] Page of ParticipantConversationInstance
|
108
|
+
def page(identity: :unset, address: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
109
|
+
params = Twilio::Values.of({
|
110
|
+
'Identity' => identity,
|
111
|
+
'Address' => address,
|
112
|
+
'PageToken' => page_token,
|
113
|
+
'Page' => page_number,
|
114
|
+
'PageSize' => page_size,
|
115
|
+
})
|
116
|
+
|
117
|
+
response = @version.page('GET', @uri, params: params)
|
118
|
+
|
119
|
+
ParticipantConversationPage.new(@version, response, @solution)
|
120
|
+
end
|
121
|
+
|
122
|
+
##
|
123
|
+
# Retrieve a single page of ParticipantConversationInstance records from the API.
|
124
|
+
# Request is executed immediately.
|
125
|
+
# @param [String] target_url API-generated URL for the requested results page
|
126
|
+
# @return [Page] Page of ParticipantConversationInstance
|
127
|
+
def get_page(target_url)
|
128
|
+
response = @version.domain.request(
|
129
|
+
'GET',
|
130
|
+
target_url
|
131
|
+
)
|
132
|
+
ParticipantConversationPage.new(@version, response, @solution)
|
133
|
+
end
|
134
|
+
|
135
|
+
##
|
136
|
+
# Provide a user friendly representation
|
137
|
+
def to_s
|
138
|
+
'#<Twilio.Conversations.V1.ParticipantConversationList>'
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
class ParticipantConversationPage < Page
|
143
|
+
##
|
144
|
+
# Initialize the ParticipantConversationPage
|
145
|
+
# @param [Version] version Version that contains the resource
|
146
|
+
# @param [Response] response Response from the API
|
147
|
+
# @param [Hash] solution Path solution for the resource
|
148
|
+
# @return [ParticipantConversationPage] ParticipantConversationPage
|
149
|
+
def initialize(version, response, solution)
|
150
|
+
super(version, response)
|
151
|
+
|
152
|
+
# Path Solution
|
153
|
+
@solution = solution
|
154
|
+
end
|
155
|
+
|
156
|
+
##
|
157
|
+
# Build an instance of ParticipantConversationInstance
|
158
|
+
# @param [Hash] payload Payload response from the API
|
159
|
+
# @return [ParticipantConversationInstance] ParticipantConversationInstance
|
160
|
+
def get_instance(payload)
|
161
|
+
ParticipantConversationInstance.new(@version, payload, )
|
162
|
+
end
|
163
|
+
|
164
|
+
##
|
165
|
+
# Provide a user friendly representation
|
166
|
+
def to_s
|
167
|
+
'<Twilio.Conversations.V1.ParticipantConversationPage>'
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
class ParticipantConversationInstance < InstanceResource
|
172
|
+
##
|
173
|
+
# Initialize the ParticipantConversationInstance
|
174
|
+
# @param [Version] version Version that contains the resource
|
175
|
+
# @param [Hash] payload payload that contains response from Twilio
|
176
|
+
# @return [ParticipantConversationInstance] ParticipantConversationInstance
|
177
|
+
def initialize(version, payload)
|
178
|
+
super(version)
|
179
|
+
|
180
|
+
# Marshaled Properties
|
181
|
+
@properties = {
|
182
|
+
'account_sid' => payload['account_sid'],
|
183
|
+
'chat_service_sid' => payload['chat_service_sid'],
|
184
|
+
'participant_sid' => payload['participant_sid'],
|
185
|
+
'participant_user_sid' => payload['participant_user_sid'],
|
186
|
+
'participant_identity' => payload['participant_identity'],
|
187
|
+
'participant_messaging_binding' => payload['participant_messaging_binding'],
|
188
|
+
'conversation_sid' => payload['conversation_sid'],
|
189
|
+
'conversation_unique_name' => payload['conversation_unique_name'],
|
190
|
+
'conversation_friendly_name' => payload['conversation_friendly_name'],
|
191
|
+
'conversation_attributes' => payload['conversation_attributes'],
|
192
|
+
'conversation_date_created' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_created']),
|
193
|
+
'conversation_date_updated' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_updated']),
|
194
|
+
'conversation_created_by' => payload['conversation_created_by'],
|
195
|
+
'conversation_state' => payload['conversation_state'],
|
196
|
+
'conversation_timers' => payload['conversation_timers'],
|
197
|
+
'links' => payload['links'],
|
198
|
+
}
|
199
|
+
end
|
200
|
+
|
201
|
+
##
|
202
|
+
# @return [String] The unique ID of the Account responsible for this conversation.
|
203
|
+
def account_sid
|
204
|
+
@properties['account_sid']
|
205
|
+
end
|
206
|
+
|
207
|
+
##
|
208
|
+
# @return [String] The unique ID of the Conversation Service this conversation belongs to.
|
209
|
+
def chat_service_sid
|
210
|
+
@properties['chat_service_sid']
|
211
|
+
end
|
212
|
+
|
213
|
+
##
|
214
|
+
# @return [String] The unique ID of the Participant.
|
215
|
+
def participant_sid
|
216
|
+
@properties['participant_sid']
|
217
|
+
end
|
218
|
+
|
219
|
+
##
|
220
|
+
# @return [String] The unique ID for the conversation participant as Conversation User.
|
221
|
+
def participant_user_sid
|
222
|
+
@properties['participant_user_sid']
|
223
|
+
end
|
224
|
+
|
225
|
+
##
|
226
|
+
# @return [String] A unique string identifier for the conversation participant as Conversation User.
|
227
|
+
def participant_identity
|
228
|
+
@properties['participant_identity']
|
229
|
+
end
|
230
|
+
|
231
|
+
##
|
232
|
+
# @return [Hash] Information about how this participant exchanges messages with the conversation.
|
233
|
+
def participant_messaging_binding
|
234
|
+
@properties['participant_messaging_binding']
|
235
|
+
end
|
236
|
+
|
237
|
+
##
|
238
|
+
# @return [String] The unique ID of the Conversation this Participant belongs to.
|
239
|
+
def conversation_sid
|
240
|
+
@properties['conversation_sid']
|
241
|
+
end
|
242
|
+
|
243
|
+
##
|
244
|
+
# @return [String] An application-defined string that uniquely identifies the Conversation resource
|
245
|
+
def conversation_unique_name
|
246
|
+
@properties['conversation_unique_name']
|
247
|
+
end
|
248
|
+
|
249
|
+
##
|
250
|
+
# @return [String] The human-readable name of this conversation.
|
251
|
+
def conversation_friendly_name
|
252
|
+
@properties['conversation_friendly_name']
|
253
|
+
end
|
254
|
+
|
255
|
+
##
|
256
|
+
# @return [String] An optional string metadata field you can use to store any data you wish.
|
257
|
+
def conversation_attributes
|
258
|
+
@properties['conversation_attributes']
|
259
|
+
end
|
260
|
+
|
261
|
+
##
|
262
|
+
# @return [Time] The date that this conversation was created.
|
263
|
+
def conversation_date_created
|
264
|
+
@properties['conversation_date_created']
|
265
|
+
end
|
266
|
+
|
267
|
+
##
|
268
|
+
# @return [Time] The date that this conversation was last updated.
|
269
|
+
def conversation_date_updated
|
270
|
+
@properties['conversation_date_updated']
|
271
|
+
end
|
272
|
+
|
273
|
+
##
|
274
|
+
# @return [String] Creator of this conversation.
|
275
|
+
def conversation_created_by
|
276
|
+
@properties['conversation_created_by']
|
277
|
+
end
|
278
|
+
|
279
|
+
##
|
280
|
+
# @return [participant_conversation.State] The current state of this User Conversation
|
281
|
+
def conversation_state
|
282
|
+
@properties['conversation_state']
|
283
|
+
end
|
284
|
+
|
285
|
+
##
|
286
|
+
# @return [Hash] Timer date values for this conversation.
|
287
|
+
def conversation_timers
|
288
|
+
@properties['conversation_timers']
|
289
|
+
end
|
290
|
+
|
291
|
+
##
|
292
|
+
# @return [String] Absolute URLs to access the participant and conversation of this Participant Conversation.
|
293
|
+
def links
|
294
|
+
@properties['links']
|
295
|
+
end
|
296
|
+
|
297
|
+
##
|
298
|
+
# Provide a user friendly representation
|
299
|
+
def to_s
|
300
|
+
"<Twilio.Conversations.V1.ParticipantConversationInstance>"
|
301
|
+
end
|
302
|
+
|
303
|
+
##
|
304
|
+
# Provide a detailed, user friendly representation
|
305
|
+
def inspect
|
306
|
+
"<Twilio.Conversations.V1.ParticipantConversationInstance>"
|
307
|
+
end
|
308
|
+
end
|
309
|
+
end
|
310
|
+
end
|
311
|
+
end
|
312
|
+
end
|
@@ -172,6 +172,7 @@ module Twilio
|
|
172
172
|
@users = nil
|
173
173
|
@roles = nil
|
174
174
|
@configuration = nil
|
175
|
+
@participant_conversations = nil
|
175
176
|
end
|
176
177
|
|
177
178
|
##
|
@@ -270,6 +271,21 @@ module Twilio
|
|
270
271
|
ConfigurationContext.new(@version, @solution[:sid], )
|
271
272
|
end
|
272
273
|
|
274
|
+
##
|
275
|
+
# Access the participant_conversations
|
276
|
+
# @return [ParticipantConversationList]
|
277
|
+
# @return [ParticipantConversationContext]
|
278
|
+
def participant_conversations
|
279
|
+
unless @participant_conversations
|
280
|
+
@participant_conversations = ParticipantConversationList.new(
|
281
|
+
@version,
|
282
|
+
chat_service_sid: @solution[:sid],
|
283
|
+
)
|
284
|
+
end
|
285
|
+
|
286
|
+
@participant_conversations
|
287
|
+
end
|
288
|
+
|
273
289
|
##
|
274
290
|
# Provide a user friendly representation
|
275
291
|
def to_s
|
@@ -414,6 +430,13 @@ module Twilio
|
|
414
430
|
context.configuration
|
415
431
|
end
|
416
432
|
|
433
|
+
##
|
434
|
+
# Access the participant_conversations
|
435
|
+
# @return [participant_conversations] participant_conversations
|
436
|
+
def participant_conversations
|
437
|
+
context.participant_conversations
|
438
|
+
end
|
439
|
+
|
417
440
|
##
|
418
441
|
# Provide a user friendly representation
|
419
442
|
def to_s
|
@@ -0,0 +1,324 @@
|
|
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 Conversations < Domain
|
12
|
+
class V1 < Version
|
13
|
+
class ServiceContext < InstanceContext
|
14
|
+
class ParticipantConversationList < ListResource
|
15
|
+
##
|
16
|
+
# Initialize the ParticipantConversationList
|
17
|
+
# @param [Version] version Version that contains the resource
|
18
|
+
# @param [String] chat_service_sid The unique ID of the {Conversation
|
19
|
+
# Service}[https://www.twilio.com/docs/conversations/api/service-resource] this
|
20
|
+
# conversation belongs to.
|
21
|
+
# @return [ParticipantConversationList] ParticipantConversationList
|
22
|
+
def initialize(version, chat_service_sid: nil)
|
23
|
+
super(version)
|
24
|
+
|
25
|
+
# Path Solution
|
26
|
+
@solution = {chat_service_sid: chat_service_sid}
|
27
|
+
@uri = "/Services/#{@solution[:chat_service_sid]}/ParticipantConversations"
|
28
|
+
end
|
29
|
+
|
30
|
+
##
|
31
|
+
# Lists ParticipantConversationInstance records from the API as a list.
|
32
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
33
|
+
# memory before returning.
|
34
|
+
# @param [String] identity A unique string identifier for the conversation
|
35
|
+
# participant as {Conversation
|
36
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
37
|
+
# parameter is non-null if (and only if) the participant is using the
|
38
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
39
|
+
# @param [String] address A unique string identifier for the conversation
|
40
|
+
# participant who's not a Conversation User. This parameter could be found in
|
41
|
+
# messaging_binding.address field of Participant resource. It should be
|
42
|
+
# url-encoded.
|
43
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
44
|
+
# guarantees to never return more than limit. Default is no limit
|
45
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
46
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
47
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
48
|
+
# efficient page size, i.e. min(limit, 1000)
|
49
|
+
# @return [Array] Array of up to limit results
|
50
|
+
def list(identity: :unset, address: :unset, limit: nil, page_size: nil)
|
51
|
+
self.stream(identity: identity, address: address, limit: limit, page_size: page_size).entries
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# Streams ParticipantConversationInstance records from the API as an Enumerable.
|
56
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
57
|
+
# is reached.
|
58
|
+
# @param [String] identity A unique string identifier for the conversation
|
59
|
+
# participant as {Conversation
|
60
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
61
|
+
# parameter is non-null if (and only if) the participant is using the
|
62
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
63
|
+
# @param [String] address A unique string identifier for the conversation
|
64
|
+
# participant who's not a Conversation User. This parameter could be found in
|
65
|
+
# messaging_binding.address field of Participant resource. It should be
|
66
|
+
# url-encoded.
|
67
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
68
|
+
# guarantees to never return more than limit. Default is no limit.
|
69
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
70
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
71
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
72
|
+
# efficient page size, i.e. min(limit, 1000)
|
73
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
74
|
+
def stream(identity: :unset, address: :unset, limit: nil, page_size: nil)
|
75
|
+
limits = @version.read_limits(limit, page_size)
|
76
|
+
|
77
|
+
page = self.page(identity: identity, address: address, page_size: limits[:page_size], )
|
78
|
+
|
79
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
80
|
+
end
|
81
|
+
|
82
|
+
##
|
83
|
+
# When passed a block, yields ParticipantConversationInstance records from the API.
|
84
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
85
|
+
# is reached.
|
86
|
+
def each
|
87
|
+
limits = @version.read_limits
|
88
|
+
|
89
|
+
page = self.page(page_size: limits[:page_size], )
|
90
|
+
|
91
|
+
@version.stream(page,
|
92
|
+
limit: limits[:limit],
|
93
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
94
|
+
end
|
95
|
+
|
96
|
+
##
|
97
|
+
# Retrieve a single page of ParticipantConversationInstance records from the API.
|
98
|
+
# Request is executed immediately.
|
99
|
+
# @param [String] identity A unique string identifier for the conversation
|
100
|
+
# participant as {Conversation
|
101
|
+
# User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
|
102
|
+
# parameter is non-null if (and only if) the participant is using the
|
103
|
+
# Conversations SDK to communicate. Limited to 256 characters.
|
104
|
+
# @param [String] address A unique string identifier for the conversation
|
105
|
+
# participant who's not a Conversation User. This parameter could be found in
|
106
|
+
# messaging_binding.address field of Participant resource. It should be
|
107
|
+
# url-encoded.
|
108
|
+
# @param [String] page_token PageToken provided by the API
|
109
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
110
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
111
|
+
# @return [Page] Page of ParticipantConversationInstance
|
112
|
+
def page(identity: :unset, address: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
113
|
+
params = Twilio::Values.of({
|
114
|
+
'Identity' => identity,
|
115
|
+
'Address' => address,
|
116
|
+
'PageToken' => page_token,
|
117
|
+
'Page' => page_number,
|
118
|
+
'PageSize' => page_size,
|
119
|
+
})
|
120
|
+
|
121
|
+
response = @version.page('GET', @uri, params: params)
|
122
|
+
|
123
|
+
ParticipantConversationPage.new(@version, response, @solution)
|
124
|
+
end
|
125
|
+
|
126
|
+
##
|
127
|
+
# Retrieve a single page of ParticipantConversationInstance records from the API.
|
128
|
+
# Request is executed immediately.
|
129
|
+
# @param [String] target_url API-generated URL for the requested results page
|
130
|
+
# @return [Page] Page of ParticipantConversationInstance
|
131
|
+
def get_page(target_url)
|
132
|
+
response = @version.domain.request(
|
133
|
+
'GET',
|
134
|
+
target_url
|
135
|
+
)
|
136
|
+
ParticipantConversationPage.new(@version, response, @solution)
|
137
|
+
end
|
138
|
+
|
139
|
+
##
|
140
|
+
# Provide a user friendly representation
|
141
|
+
def to_s
|
142
|
+
'#<Twilio.Conversations.V1.ParticipantConversationList>'
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
class ParticipantConversationPage < Page
|
147
|
+
##
|
148
|
+
# Initialize the ParticipantConversationPage
|
149
|
+
# @param [Version] version Version that contains the resource
|
150
|
+
# @param [Response] response Response from the API
|
151
|
+
# @param [Hash] solution Path solution for the resource
|
152
|
+
# @return [ParticipantConversationPage] ParticipantConversationPage
|
153
|
+
def initialize(version, response, solution)
|
154
|
+
super(version, response)
|
155
|
+
|
156
|
+
# Path Solution
|
157
|
+
@solution = solution
|
158
|
+
end
|
159
|
+
|
160
|
+
##
|
161
|
+
# Build an instance of ParticipantConversationInstance
|
162
|
+
# @param [Hash] payload Payload response from the API
|
163
|
+
# @return [ParticipantConversationInstance] ParticipantConversationInstance
|
164
|
+
def get_instance(payload)
|
165
|
+
ParticipantConversationInstance.new(
|
166
|
+
@version,
|
167
|
+
payload,
|
168
|
+
chat_service_sid: @solution[:chat_service_sid],
|
169
|
+
)
|
170
|
+
end
|
171
|
+
|
172
|
+
##
|
173
|
+
# Provide a user friendly representation
|
174
|
+
def to_s
|
175
|
+
'<Twilio.Conversations.V1.ParticipantConversationPage>'
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
class ParticipantConversationInstance < InstanceResource
|
180
|
+
##
|
181
|
+
# Initialize the ParticipantConversationInstance
|
182
|
+
# @param [Version] version Version that contains the resource
|
183
|
+
# @param [Hash] payload payload that contains response from Twilio
|
184
|
+
# @param [String] chat_service_sid The unique ID of the {Conversation
|
185
|
+
# Service}[https://www.twilio.com/docs/conversations/api/service-resource] this
|
186
|
+
# conversation belongs to.
|
187
|
+
# @return [ParticipantConversationInstance] ParticipantConversationInstance
|
188
|
+
def initialize(version, payload, chat_service_sid: nil)
|
189
|
+
super(version)
|
190
|
+
|
191
|
+
# Marshaled Properties
|
192
|
+
@properties = {
|
193
|
+
'account_sid' => payload['account_sid'],
|
194
|
+
'chat_service_sid' => payload['chat_service_sid'],
|
195
|
+
'participant_sid' => payload['participant_sid'],
|
196
|
+
'participant_user_sid' => payload['participant_user_sid'],
|
197
|
+
'participant_identity' => payload['participant_identity'],
|
198
|
+
'participant_messaging_binding' => payload['participant_messaging_binding'],
|
199
|
+
'conversation_sid' => payload['conversation_sid'],
|
200
|
+
'conversation_unique_name' => payload['conversation_unique_name'],
|
201
|
+
'conversation_friendly_name' => payload['conversation_friendly_name'],
|
202
|
+
'conversation_attributes' => payload['conversation_attributes'],
|
203
|
+
'conversation_date_created' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_created']),
|
204
|
+
'conversation_date_updated' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_updated']),
|
205
|
+
'conversation_created_by' => payload['conversation_created_by'],
|
206
|
+
'conversation_state' => payload['conversation_state'],
|
207
|
+
'conversation_timers' => payload['conversation_timers'],
|
208
|
+
'links' => payload['links'],
|
209
|
+
}
|
210
|
+
end
|
211
|
+
|
212
|
+
##
|
213
|
+
# @return [String] The unique ID of the Account responsible for this conversation.
|
214
|
+
def account_sid
|
215
|
+
@properties['account_sid']
|
216
|
+
end
|
217
|
+
|
218
|
+
##
|
219
|
+
# @return [String] The unique ID of the Conversation Service this conversation belongs to.
|
220
|
+
def chat_service_sid
|
221
|
+
@properties['chat_service_sid']
|
222
|
+
end
|
223
|
+
|
224
|
+
##
|
225
|
+
# @return [String] The unique ID of the Participant.
|
226
|
+
def participant_sid
|
227
|
+
@properties['participant_sid']
|
228
|
+
end
|
229
|
+
|
230
|
+
##
|
231
|
+
# @return [String] The unique ID for the conversation participant as Conversation User.
|
232
|
+
def participant_user_sid
|
233
|
+
@properties['participant_user_sid']
|
234
|
+
end
|
235
|
+
|
236
|
+
##
|
237
|
+
# @return [String] A unique string identifier for the conversation participant as Conversation User.
|
238
|
+
def participant_identity
|
239
|
+
@properties['participant_identity']
|
240
|
+
end
|
241
|
+
|
242
|
+
##
|
243
|
+
# @return [Hash] Information about how this participant exchanges messages with the conversation.
|
244
|
+
def participant_messaging_binding
|
245
|
+
@properties['participant_messaging_binding']
|
246
|
+
end
|
247
|
+
|
248
|
+
##
|
249
|
+
# @return [String] The unique ID of the Conversation this Participant belongs to.
|
250
|
+
def conversation_sid
|
251
|
+
@properties['conversation_sid']
|
252
|
+
end
|
253
|
+
|
254
|
+
##
|
255
|
+
# @return [String] An application-defined string that uniquely identifies the Conversation resource.
|
256
|
+
def conversation_unique_name
|
257
|
+
@properties['conversation_unique_name']
|
258
|
+
end
|
259
|
+
|
260
|
+
##
|
261
|
+
# @return [String] The human-readable name of this conversation.
|
262
|
+
def conversation_friendly_name
|
263
|
+
@properties['conversation_friendly_name']
|
264
|
+
end
|
265
|
+
|
266
|
+
##
|
267
|
+
# @return [String] An optional string metadata field you can use to store any data you wish.
|
268
|
+
def conversation_attributes
|
269
|
+
@properties['conversation_attributes']
|
270
|
+
end
|
271
|
+
|
272
|
+
##
|
273
|
+
# @return [Time] The date that this conversation was created.
|
274
|
+
def conversation_date_created
|
275
|
+
@properties['conversation_date_created']
|
276
|
+
end
|
277
|
+
|
278
|
+
##
|
279
|
+
# @return [Time] The date that this conversation was last updated.
|
280
|
+
def conversation_date_updated
|
281
|
+
@properties['conversation_date_updated']
|
282
|
+
end
|
283
|
+
|
284
|
+
##
|
285
|
+
# @return [String] Creator of this conversation.
|
286
|
+
def conversation_created_by
|
287
|
+
@properties['conversation_created_by']
|
288
|
+
end
|
289
|
+
|
290
|
+
##
|
291
|
+
# @return [participant_conversation.State] The current state of this User Conversation
|
292
|
+
def conversation_state
|
293
|
+
@properties['conversation_state']
|
294
|
+
end
|
295
|
+
|
296
|
+
##
|
297
|
+
# @return [Hash] Timer date values for this conversation.
|
298
|
+
def conversation_timers
|
299
|
+
@properties['conversation_timers']
|
300
|
+
end
|
301
|
+
|
302
|
+
##
|
303
|
+
# @return [String] Absolute URLs to access the participant and conversation of this Participant Conversation.
|
304
|
+
def links
|
305
|
+
@properties['links']
|
306
|
+
end
|
307
|
+
|
308
|
+
##
|
309
|
+
# Provide a user friendly representation
|
310
|
+
def to_s
|
311
|
+
"<Twilio.Conversations.V1.ParticipantConversationInstance>"
|
312
|
+
end
|
313
|
+
|
314
|
+
##
|
315
|
+
# Provide a detailed, user friendly representation
|
316
|
+
def inspect
|
317
|
+
"<Twilio.Conversations.V1.ParticipantConversationInstance>"
|
318
|
+
end
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
322
|
+
end
|
323
|
+
end
|
324
|
+
end
|
@@ -318,7 +318,7 @@ module Twilio
|
|
318
318
|
end
|
319
319
|
|
320
320
|
##
|
321
|
-
# @return [String] The unique ID of the Conversation for this
|
321
|
+
# @return [String] The unique ID of the Conversation for this User Conversation.
|
322
322
|
def conversation_sid
|
323
323
|
@properties['conversation_sid']
|
324
324
|
end
|
@@ -396,7 +396,7 @@ module Twilio
|
|
396
396
|
end
|
397
397
|
|
398
398
|
##
|
399
|
-
# @return [String] An application-defined string that uniquely identifies the resource
|
399
|
+
# @return [String] An application-defined string that uniquely identifies the Conversation resource.
|
400
400
|
def unique_name
|
401
401
|
@properties['unique_name']
|
402
402
|
end
|
@@ -295,7 +295,7 @@ module Twilio
|
|
295
295
|
end
|
296
296
|
|
297
297
|
##
|
298
|
-
# @return [String] The unique ID of the Conversation for this
|
298
|
+
# @return [String] The unique ID of the Conversation for this User Conversation.
|
299
299
|
def conversation_sid
|
300
300
|
@properties['conversation_sid']
|
301
301
|
end
|
@@ -373,7 +373,7 @@ module Twilio
|
|
373
373
|
end
|
374
374
|
|
375
375
|
##
|
376
|
-
# @return [String] An application-defined string that uniquely identifies the resource
|
376
|
+
# @return [String] An application-defined string that uniquely identifies the Conversation resource.
|
377
377
|
def unique_name
|
378
378
|
@properties['unique_name']
|
379
379
|
end
|
@@ -282,6 +282,7 @@ module Twilio
|
|
282
282
|
'sid' => payload['sid'],
|
283
283
|
'workspace_sid' => payload['workspace_sid'],
|
284
284
|
'url' => payload['url'],
|
285
|
+
'links' => payload['links'],
|
285
286
|
}
|
286
287
|
|
287
288
|
# Context
|
@@ -348,6 +349,12 @@ module Twilio
|
|
348
349
|
@properties['url']
|
349
350
|
end
|
350
351
|
|
352
|
+
##
|
353
|
+
# @return [String] The links
|
354
|
+
def links
|
355
|
+
@properties['links']
|
356
|
+
end
|
357
|
+
|
351
358
|
##
|
352
359
|
# Fetch the ActivityInstance
|
353
360
|
# @return [ActivityInstance] Fetched ActivityInstance
|
@@ -37,13 +37,17 @@ module Twilio
|
|
37
37
|
# @param [String] webhook_url The URL associated with this Webhook.
|
38
38
|
# @param [webhook.Status] status The webhook status. Default value is `enabled`.
|
39
39
|
# One of: `enabled` or `disabled`
|
40
|
+
# @param [webhook.Version] version The webhook version. Default value is `v2`
|
41
|
+
# which includes all the latest fields. Version `v1` is legacy and may be removed
|
42
|
+
# in the future.
|
40
43
|
# @return [WebhookInstance] Created WebhookInstance
|
41
|
-
def create(friendly_name: nil, event_types: nil, webhook_url: nil, status: :unset)
|
44
|
+
def create(friendly_name: nil, event_types: nil, webhook_url: nil, status: :unset, version: :unset)
|
42
45
|
data = Twilio::Values.of({
|
43
46
|
'FriendlyName' => friendly_name,
|
44
47
|
'EventTypes' => Twilio.serialize_list(event_types) { |e| e },
|
45
48
|
'WebhookUrl' => webhook_url,
|
46
49
|
'Status' => status,
|
50
|
+
'Version' => version,
|
47
51
|
})
|
48
52
|
|
49
53
|
payload = @version.create('POST', @uri, data: data)
|
@@ -197,13 +201,17 @@ module Twilio
|
|
197
201
|
# @param [String] webhook_url The URL associated with this Webhook.
|
198
202
|
# @param [webhook.Status] status The webhook status. Default value is `enabled`.
|
199
203
|
# One of: `enabled` or `disabled`
|
204
|
+
# @param [webhook.Version] version The webhook version. Default value is `v2`
|
205
|
+
# which includes all the latest fields. Version `v1` is legacy and may be removed
|
206
|
+
# in the future.
|
200
207
|
# @return [WebhookInstance] Updated WebhookInstance
|
201
|
-
def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset)
|
208
|
+
def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset, version: :unset)
|
202
209
|
data = Twilio::Values.of({
|
203
210
|
'FriendlyName' => friendly_name,
|
204
211
|
'EventTypes' => Twilio.serialize_list(event_types) { |e| e },
|
205
212
|
'WebhookUrl' => webhook_url,
|
206
213
|
'Status' => status,
|
214
|
+
'Version' => version,
|
207
215
|
})
|
208
216
|
|
209
217
|
payload = @version.update('POST', @uri, data: data)
|
@@ -264,6 +272,7 @@ module Twilio
|
|
264
272
|
'friendly_name' => payload['friendly_name'],
|
265
273
|
'event_types' => payload['event_types'],
|
266
274
|
'status' => payload['status'],
|
275
|
+
'version' => payload['version'],
|
267
276
|
'webhook_url' => payload['webhook_url'],
|
268
277
|
'webhook_method' => payload['webhook_method'],
|
269
278
|
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
@@ -323,6 +332,12 @@ module Twilio
|
|
323
332
|
@properties['status']
|
324
333
|
end
|
325
334
|
|
335
|
+
##
|
336
|
+
# @return [webhook.Version] The webhook version
|
337
|
+
def version
|
338
|
+
@properties['version']
|
339
|
+
end
|
340
|
+
|
326
341
|
##
|
327
342
|
# @return [String] The URL associated with this Webhook.
|
328
343
|
def webhook_url
|
@@ -336,13 +351,13 @@ module Twilio
|
|
336
351
|
end
|
337
352
|
|
338
353
|
##
|
339
|
-
# @return [Time] The
|
354
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was created
|
340
355
|
def date_created
|
341
356
|
@properties['date_created']
|
342
357
|
end
|
343
358
|
|
344
359
|
##
|
345
|
-
# @return [Time] The
|
360
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
|
346
361
|
def date_updated
|
347
362
|
@properties['date_updated']
|
348
363
|
end
|
@@ -363,13 +378,17 @@ module Twilio
|
|
363
378
|
# @param [String] webhook_url The URL associated with this Webhook.
|
364
379
|
# @param [webhook.Status] status The webhook status. Default value is `enabled`.
|
365
380
|
# One of: `enabled` or `disabled`
|
381
|
+
# @param [webhook.Version] version The webhook version. Default value is `v2`
|
382
|
+
# which includes all the latest fields. Version `v1` is legacy and may be removed
|
383
|
+
# in the future.
|
366
384
|
# @return [WebhookInstance] Updated WebhookInstance
|
367
|
-
def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset)
|
385
|
+
def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset, version: :unset)
|
368
386
|
context.update(
|
369
387
|
friendly_name: friendly_name,
|
370
388
|
event_types: event_types,
|
371
389
|
webhook_url: webhook_url,
|
372
390
|
status: status,
|
391
|
+
version: version,
|
373
392
|
)
|
374
393
|
end
|
375
394
|
|
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.57.
|
4
|
+
version: 5.57.1
|
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: 2021-07-
|
11
|
+
date: 2021-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -398,6 +398,7 @@ files:
|
|
398
398
|
- lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb
|
399
399
|
- lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb
|
400
400
|
- lib/twilio-ruby/rest/conversations/v1/credential.rb
|
401
|
+
- lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb
|
401
402
|
- lib/twilio-ruby/rest/conversations/v1/role.rb
|
402
403
|
- lib/twilio-ruby/rest/conversations/v1/service.rb
|
403
404
|
- lib/twilio-ruby/rest/conversations/v1/service/binding.rb
|
@@ -408,6 +409,7 @@ files:
|
|
408
409
|
- lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb
|
409
410
|
- lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb
|
410
411
|
- lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb
|
412
|
+
- lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb
|
411
413
|
- lib/twilio-ruby/rest/conversations/v1/service/role.rb
|
412
414
|
- lib/twilio-ruby/rest/conversations/v1/service/user.rb
|
413
415
|
- lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb
|