twilio-ruby 5.56.0 → 5.58.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/.gitignore +2 -0
- data/.travis.yml +24 -7
- data/CHANGES.md +76 -0
- data/Gemfile +1 -0
- data/README.md +2 -2
- data/examples/examples.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +4 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
- 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 +466 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +7 -0
- data/lib/twilio-ruby/rest/conversations.rb +6 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +7 -0
- data/lib/twilio-ruby/rest/insights.rb +6 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +19 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +6 -2
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
- data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
- data/lib/twilio-ruby/rest/pricing.rb +19 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +26 -5
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -5
- data/lib/twilio-ruby/version.rb +1 -1
- data/sonar-project.properties +13 -0
- metadata +10 -2
@@ -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
|
@@ -72,6 +72,8 @@ module Twilio
|
|
72
72
|
# Lists MessageInstance records from the API as a list.
|
73
73
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
74
74
|
# memory before returning.
|
75
|
+
# @param [message.OrderType] order The sort order of the returned messages. Can
|
76
|
+
# be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
|
75
77
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
76
78
|
# guarantees to never return more than limit. Default is no limit
|
77
79
|
# @param [Integer] page_size Number of records to fetch per request, when
|
@@ -79,14 +81,16 @@ module Twilio
|
|
79
81
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
80
82
|
# efficient page size, i.e. min(limit, 1000)
|
81
83
|
# @return [Array] Array of up to limit results
|
82
|
-
def list(limit: nil, page_size: nil)
|
83
|
-
self.stream(limit: limit, page_size: page_size).entries
|
84
|
+
def list(order: :unset, limit: nil, page_size: nil)
|
85
|
+
self.stream(order: order, limit: limit, page_size: page_size).entries
|
84
86
|
end
|
85
87
|
|
86
88
|
##
|
87
89
|
# Streams MessageInstance records from the API as an Enumerable.
|
88
90
|
# This operation lazily loads records as efficiently as possible until the limit
|
89
91
|
# is reached.
|
92
|
+
# @param [message.OrderType] order The sort order of the returned messages. Can
|
93
|
+
# be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
|
90
94
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
91
95
|
# guarantees to never return more than limit. Default is no limit.
|
92
96
|
# @param [Integer] page_size Number of records to fetch per request, when
|
@@ -94,10 +98,10 @@ module Twilio
|
|
94
98
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
95
99
|
# efficient page size, i.e. min(limit, 1000)
|
96
100
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
97
|
-
def stream(limit: nil, page_size: nil)
|
101
|
+
def stream(order: :unset, limit: nil, page_size: nil)
|
98
102
|
limits = @version.read_limits(limit, page_size)
|
99
103
|
|
100
|
-
page = self.page(page_size: limits[:page_size], )
|
104
|
+
page = self.page(order: order, page_size: limits[:page_size], )
|
101
105
|
|
102
106
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
103
107
|
end
|
@@ -119,12 +123,15 @@ module Twilio
|
|
119
123
|
##
|
120
124
|
# Retrieve a single page of MessageInstance records from the API.
|
121
125
|
# Request is executed immediately.
|
126
|
+
# @param [message.OrderType] order The sort order of the returned messages. Can
|
127
|
+
# be: `asc` (ascending) or `desc` (descending), with `asc` as the default.
|
122
128
|
# @param [String] page_token PageToken provided by the API
|
123
129
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
124
130
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
125
131
|
# @return [Page] Page of MessageInstance
|
126
|
-
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
132
|
+
def page(order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
127
133
|
params = Twilio::Values.of({
|
134
|
+
'Order' => order,
|
128
135
|
'PageToken' => page_token,
|
129
136
|
'Page' => page_number,
|
130
137
|
'PageSize' => page_size,
|
@@ -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
|