twilio-ruby 5.40.2 → 5.40.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +15 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/framework/version.rb +2 -1
  5. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +12 -3
  6. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +12 -3
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +12 -3
  8. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +12 -3
  9. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +12 -3
  10. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +12 -3
  11. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +12 -3
  12. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +2 -1
  13. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -2
  14. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +5 -2
  15. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +8 -1
  16. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +3 -1
  17. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +2 -1
  18. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +8 -4
  19. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +11 -4
  20. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +13 -6
  21. data/lib/twilio-ruby/rest/conversations.rb +0 -16
  22. data/lib/twilio-ruby/rest/conversations/v1.rb +0 -24
  23. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +17 -7
  24. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +262 -0
  25. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +6 -6
  26. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -10
  27. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +22 -16
  28. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +42 -36
  29. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +14 -11
  30. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +1 -1
  31. data/lib/twilio-ruby/rest/conversations/v1/role.rb +4 -2
  32. data/lib/twilio-ruby/rest/conversations/v1/service.rb +1 -1
  33. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +28 -25
  34. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +30 -18
  35. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +315 -0
  36. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +10 -10
  37. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +23 -20
  38. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +32 -26
  39. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +52 -46
  40. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +24 -21
  41. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +13 -11
  42. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +23 -23
  43. data/lib/twilio-ruby/rest/conversations/v1/user.rb +14 -14
  44. data/lib/twilio-ruby/rest/events.rb +10 -1
  45. data/lib/twilio-ruby/rest/events/v1.rb +17 -1
  46. data/lib/twilio-ruby/rest/events/v1/event_type.rb +8 -8
  47. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  48. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
  49. data/lib/twilio-ruby/rest/events/v1/subscription.rb +28 -8
  50. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +3 -109
  51. data/lib/twilio-ruby/rest/fax/v1/fax.rb +2 -1
  52. data/lib/twilio-ruby/rest/messaging/v1/service.rb +6 -3
  53. data/lib/twilio-ruby/rest/notify/v1/credential.rb +12 -6
  54. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +10 -2
  55. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +10 -5
  56. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +6 -3
  57. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +1 -4
  58. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +3 -1
  59. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +6 -2
  60. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +1 -4
  61. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +6 -2
  62. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -26
  63. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +2 -1
  64. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +2 -1
  65. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +201 -0
  66. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +3 -1
  67. data/lib/twilio-ruby/rest/video/v1/composition.rb +7 -3
  68. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +18 -9
  69. data/lib/twilio-ruby/rest/video/v1/room.rb +2 -1
  70. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +1 -4
  71. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +2 -1
  72. data/lib/twilio-ruby/version.rb +1 -1
  73. data/spec/framework/version_spec.rb +11 -0
  74. data/spec/integration/conversations/v1/{webhook_spec.rb → configuration/webhook_spec.rb} +12 -8
  75. data/spec/integration/conversations/v1/configuration_spec.rb +4 -2
  76. data/spec/integration/conversations/v1/{notification_spec.rb → service/configuration/notification_spec.rb} +12 -4
  77. data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
  78. data/spec/integration/events/v1/schema_spec.rb +46 -0
  79. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -121
  80. data/spec/integration/events/v1/subscription_spec.rb +38 -0
  81. data/spec/integration/trunking/v1/trunk/recording_spec.rb +79 -0
  82. metadata +17 -8
  83. data/lib/twilio-ruby/rest/conversations/v1/notification.rb +0 -310
  84. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +0 -262
@@ -1,262 +0,0 @@
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
- ##
14
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
- class WebhookList < ListResource
16
- ##
17
- # Initialize the WebhookList
18
- # @param [Version] version Version that contains the resource
19
- # @return [WebhookList] WebhookList
20
- def initialize(version)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {}
25
- end
26
-
27
- ##
28
- # Provide a user friendly representation
29
- def to_s
30
- '#<Twilio.Conversations.V1.WebhookList>'
31
- end
32
- end
33
-
34
- ##
35
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
36
- class WebhookPage < Page
37
- ##
38
- # Initialize the WebhookPage
39
- # @param [Version] version Version that contains the resource
40
- # @param [Response] response Response from the API
41
- # @param [Hash] solution Path solution for the resource
42
- # @return [WebhookPage] WebhookPage
43
- def initialize(version, response, solution)
44
- super(version, response)
45
-
46
- # Path Solution
47
- @solution = solution
48
- end
49
-
50
- ##
51
- # Build an instance of WebhookInstance
52
- # @param [Hash] payload Payload response from the API
53
- # @return [WebhookInstance] WebhookInstance
54
- def get_instance(payload)
55
- WebhookInstance.new(@version, payload, )
56
- end
57
-
58
- ##
59
- # Provide a user friendly representation
60
- def to_s
61
- '<Twilio.Conversations.V1.WebhookPage>'
62
- end
63
- end
64
-
65
- ##
66
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
67
- class WebhookContext < InstanceContext
68
- ##
69
- # Initialize the WebhookContext
70
- # @param [Version] version Version that contains the resource
71
- # @return [WebhookContext] WebhookContext
72
- def initialize(version)
73
- super(version)
74
-
75
- # Path Solution
76
- @solution = {}
77
- @uri = "/Conversations/Webhooks"
78
- end
79
-
80
- ##
81
- # Fetch the WebhookInstance
82
- # @return [WebhookInstance] Fetched WebhookInstance
83
- def fetch
84
- payload = @version.fetch('GET', @uri)
85
-
86
- WebhookInstance.new(@version, payload, )
87
- end
88
-
89
- ##
90
- # Update the WebhookInstance
91
- # @param [String] method The HTTP method to be used when sending a webhook
92
- # request.
93
- # @param [String] filters The list of webhook event triggers that are enabled for
94
- # this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
95
- # `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`,
96
- # `onParticipantUpdated`, `onParticipantRemoved`
97
- # @param [String] pre_webhook_url The absolute url the pre-event webhook request
98
- # should be sent to.
99
- # @param [String] post_webhook_url The absolute url the post-event webhook request
100
- # should be sent to.
101
- # @param [webhook.Target] target The routing target of the webhook. Can be
102
- # ordinary or route internally to Flex
103
- # @return [WebhookInstance] Updated WebhookInstance
104
- def update(method: :unset, filters: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, target: :unset)
105
- data = Twilio::Values.of({
106
- 'Method' => method,
107
- 'Filters' => Twilio.serialize_list(filters) { |e| e },
108
- 'PreWebhookUrl' => pre_webhook_url,
109
- 'PostWebhookUrl' => post_webhook_url,
110
- 'Target' => target,
111
- })
112
-
113
- payload = @version.update('POST', @uri, data: data)
114
-
115
- WebhookInstance.new(@version, payload, )
116
- end
117
-
118
- ##
119
- # Provide a user friendly representation
120
- def to_s
121
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
122
- "#<Twilio.Conversations.V1.WebhookContext #{context}>"
123
- end
124
-
125
- ##
126
- # Provide a detailed, user friendly representation
127
- def inspect
128
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
129
- "#<Twilio.Conversations.V1.WebhookContext #{context}>"
130
- end
131
- end
132
-
133
- ##
134
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
135
- class WebhookInstance < InstanceResource
136
- ##
137
- # Initialize the WebhookInstance
138
- # @param [Version] version Version that contains the resource
139
- # @param [Hash] payload payload that contains response from Twilio
140
- # @return [WebhookInstance] WebhookInstance
141
- def initialize(version, payload)
142
- super(version)
143
-
144
- # Marshaled Properties
145
- @properties = {
146
- 'account_sid' => payload['account_sid'],
147
- 'method' => payload['method'],
148
- 'filters' => payload['filters'],
149
- 'pre_webhook_url' => payload['pre_webhook_url'],
150
- 'post_webhook_url' => payload['post_webhook_url'],
151
- 'target' => payload['target'],
152
- 'url' => payload['url'],
153
- }
154
-
155
- # Context
156
- @instance_context = nil
157
- @params = {}
158
- end
159
-
160
- ##
161
- # Generate an instance context for the instance, the context is capable of
162
- # performing various actions. All instance actions are proxied to the context
163
- # @return [WebhookContext] WebhookContext for this WebhookInstance
164
- def context
165
- unless @instance_context
166
- @instance_context = WebhookContext.new(@version, )
167
- end
168
- @instance_context
169
- end
170
-
171
- ##
172
- # @return [String] The unique id of the Account responsible for this conversation.
173
- def account_sid
174
- @properties['account_sid']
175
- end
176
-
177
- ##
178
- # @return [webhook.Method] The HTTP method to be used when sending a webhook request.
179
- def method
180
- @properties['method']
181
- end
182
-
183
- ##
184
- # @return [String] The list of webhook event triggers that are enabled for this Service.
185
- def filters
186
- @properties['filters']
187
- end
188
-
189
- ##
190
- # @return [String] The absolute url the pre-event webhook request should be sent to.
191
- def pre_webhook_url
192
- @properties['pre_webhook_url']
193
- end
194
-
195
- ##
196
- # @return [String] The absolute url the post-event webhook request should be sent to.
197
- def post_webhook_url
198
- @properties['post_webhook_url']
199
- end
200
-
201
- ##
202
- # @return [webhook.Target] The routing target of the webhook.
203
- def target
204
- @properties['target']
205
- end
206
-
207
- ##
208
- # @return [String] An absolute URL for this webhook.
209
- def url
210
- @properties['url']
211
- end
212
-
213
- ##
214
- # Fetch the WebhookInstance
215
- # @return [WebhookInstance] Fetched WebhookInstance
216
- def fetch
217
- context.fetch
218
- end
219
-
220
- ##
221
- # Update the WebhookInstance
222
- # @param [String] method The HTTP method to be used when sending a webhook
223
- # request.
224
- # @param [String] filters The list of webhook event triggers that are enabled for
225
- # this Service: `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
226
- # `onConversationUpdated`, `onConversationRemoved`, `onParticipantAdded`,
227
- # `onParticipantUpdated`, `onParticipantRemoved`
228
- # @param [String] pre_webhook_url The absolute url the pre-event webhook request
229
- # should be sent to.
230
- # @param [String] post_webhook_url The absolute url the post-event webhook request
231
- # should be sent to.
232
- # @param [webhook.Target] target The routing target of the webhook. Can be
233
- # ordinary or route internally to Flex
234
- # @return [WebhookInstance] Updated WebhookInstance
235
- def update(method: :unset, filters: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, target: :unset)
236
- context.update(
237
- method: method,
238
- filters: filters,
239
- pre_webhook_url: pre_webhook_url,
240
- post_webhook_url: post_webhook_url,
241
- target: target,
242
- )
243
- end
244
-
245
- ##
246
- # Provide a user friendly representation
247
- def to_s
248
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
249
- "<Twilio.Conversations.V1.WebhookInstance #{values}>"
250
- end
251
-
252
- ##
253
- # Provide a detailed, user friendly representation
254
- def inspect
255
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
256
- "<Twilio.Conversations.V1.WebhookInstance #{values}>"
257
- end
258
- end
259
- end
260
- end
261
- end
262
- end