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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6580fd9988b8f5d7c1494fbc0f68c2c77d42a0f51a81c4e08c4c2302653e6359
4
- data.tar.gz: a7f3a305f3a4e14457f6299a7e871acbd081c3855981261ac21f99e44e0262d9
3
+ metadata.gz: 56ba46ce32ceced608bcb6b1ab335f0aa103da6d3a40dba1e0a59b97734fe4f7
4
+ data.tar.gz: 4104e0a452f0760f38a5ef1429553ad9a5f92c33a314e57d8f6e25c1689ada84
5
5
  SHA512:
6
- metadata.gz: 81837aa62cc0638b88205d044b36216a626d71135ea2c72cb79cc3ef4ff79baa9e96fcfbf41e320dd4c6c8a225d4cc00617f702bbad55cbb6f19b68c00683d81
7
- data.tar.gz: '01816f861fe32a5ffa43b39da58c69fd6cabd71ed333fa6965565427c4fcd4a0fdfe3b3c36f7f9c79e620a0374afe16af29c92ab698156d2ca1b5c60539a5beb'
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.0'
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.0
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 message.
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 message.
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 RFC 2822 date and time in GMT when the resource was created
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 RFC 2822 date and time in GMT when the resource was last updated
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
 
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.57.0'
2
+ VERSION = '5.57.1'
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.57.0
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-14 00:00:00.000000000 Z
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