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.
- checksums.yaml +4 -4
- data/CHANGES.md +15 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/framework/version.rb +2 -1
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +2 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -2
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +5 -2
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +8 -1
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +3 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +2 -1
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +8 -4
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +11 -4
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +13 -6
- data/lib/twilio-ruby/rest/conversations.rb +0 -16
- data/lib/twilio-ruby/rest/conversations/v1.rb +0 -24
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +17 -7
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +262 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +6 -6
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -10
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +22 -16
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +42 -36
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +14 -11
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +1 -1
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +4 -2
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +1 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +28 -25
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +30 -18
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +315 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +23 -20
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +32 -26
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +52 -46
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +24 -21
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +13 -11
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +23 -23
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +14 -14
- data/lib/twilio-ruby/rest/events.rb +10 -1
- data/lib/twilio-ruby/rest/events/v1.rb +17 -1
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +8 -8
- data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
- data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +28 -8
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +3 -109
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +2 -1
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +6 -3
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +12 -6
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +10 -2
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +10 -5
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +6 -3
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +1 -4
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +3 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +6 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +1 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +6 -2
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -26
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +2 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +2 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +201 -0
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +3 -1
- data/lib/twilio-ruby/rest/video/v1/composition.rb +7 -3
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +18 -9
- data/lib/twilio-ruby/rest/video/v1/room.rb +2 -1
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +1 -4
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +2 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/framework/version_spec.rb +11 -0
- data/spec/integration/conversations/v1/{webhook_spec.rb → configuration/webhook_spec.rb} +12 -8
- data/spec/integration/conversations/v1/configuration_spec.rb +4 -2
- data/spec/integration/conversations/v1/{notification_spec.rb → service/configuration/notification_spec.rb} +12 -4
- data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
- data/spec/integration/events/v1/schema_spec.rb +46 -0
- data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -121
- data/spec/integration/events/v1/subscription_spec.rb +38 -0
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +79 -0
- metadata +17 -8
- data/lib/twilio-ruby/rest/conversations/v1/notification.rb +0 -310
- data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +0 -262
|
@@ -61,7 +61,9 @@ module Twilio
|
|
|
61
61
|
# [`email`](https://www.twilio.com/docs/verify/email) channel configuration in
|
|
62
62
|
# json format. Must include 'from' and 'from_name'.
|
|
63
63
|
# @param [String] app_hash Your [App
|
|
64
|
-
# Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string)
|
|
64
|
+
# Hash](https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string)
|
|
65
|
+
# to be appended at the end of your verification SMS body. Applies only to SMS.
|
|
66
|
+
# Example SMS body: `<#> Your AppName verification code is: 1234 He42w354ol9`.
|
|
65
67
|
# @return [VerificationInstance] Created VerificationInstance
|
|
66
68
|
def create(to: nil, channel: nil, custom_friendly_name: :unset, custom_message: :unset, send_digits: :unset, locale: :unset, custom_code: :unset, amount: :unset, payee: :unset, rate_limits: :unset, channel_configuration: :unset, app_hash: :unset)
|
|
67
69
|
data = Twilio::Values.of({
|
|
@@ -152,7 +152,9 @@ module Twilio
|
|
|
152
152
|
# used as composition sources.
|
|
153
153
|
# @param [Hash] video_layout An object that describes the video layout of the
|
|
154
154
|
# composition in terms of regions. See [Specifying Video
|
|
155
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
155
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
156
|
+
# for more info. Please, be aware that either video_layout or audio_sources have
|
|
157
|
+
# to be provided to get a valid creation request
|
|
156
158
|
# @param [String] audio_sources An array of track names from the same group room
|
|
157
159
|
# to merge into the new composition. Can include zero or more track names. The new
|
|
158
160
|
# composition includes all audio sources specified in `audio_sources` except for
|
|
@@ -185,7 +187,8 @@ module Twilio
|
|
|
185
187
|
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
186
188
|
# When the original video tracks are constrained by the aspect ratio, they are
|
|
187
189
|
# scaled to fit. See [Specifying Video
|
|
188
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
190
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
191
|
+
# for more info.
|
|
189
192
|
# @param [composition.Format] format The container format of the composition's
|
|
190
193
|
# media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify
|
|
191
194
|
# `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a
|
|
@@ -202,7 +205,8 @@ module Twilio
|
|
|
202
205
|
# enabled are shorter when the Room is created and no Participant joins for a
|
|
203
206
|
# while as well as if all the Participants leave the room and join later, because
|
|
204
207
|
# those gaps will be removed. See [Specifying Video
|
|
205
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
208
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
209
|
+
# for more info.
|
|
206
210
|
# @return [CompositionInstance] Created CompositionInstance
|
|
207
211
|
def create(room_sid: nil, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
|
|
208
212
|
data = Twilio::Values.of({
|
|
@@ -165,7 +165,8 @@ module Twilio
|
|
|
165
165
|
# account. When `false`, the composition hook will never be triggered.
|
|
166
166
|
# @param [Hash] video_layout An object that describes the video layout of the
|
|
167
167
|
# composition hook in terms of regions. See [Specifying Video
|
|
168
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
168
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
169
|
+
# for more info.
|
|
169
170
|
# @param [String] audio_sources An array of track names from the same group room
|
|
170
171
|
# to merge into the compositions created by the composition hook. Can include zero
|
|
171
172
|
# or more track names. A composition triggered by the composition hook includes
|
|
@@ -199,7 +200,8 @@ module Twilio
|
|
|
199
200
|
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
200
201
|
# When the original video tracks are constrained by the aspect ratio, they are
|
|
201
202
|
# scaled to fit. See [Specifying Video
|
|
202
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
203
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
204
|
+
# for more info.
|
|
203
205
|
# @param [composition_hook.Format] format The container format of the media files
|
|
204
206
|
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
205
207
|
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
@@ -217,7 +219,8 @@ module Twilio
|
|
|
217
219
|
# and no Participant joins for a while as well as if all the Participants leave
|
|
218
220
|
# the room and join later, because those gaps will be removed. See [Specifying
|
|
219
221
|
# Video
|
|
220
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
222
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
223
|
+
# for more info.
|
|
221
224
|
# @return [CompositionHookInstance] Created CompositionHookInstance
|
|
222
225
|
def create(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
|
|
223
226
|
data = Twilio::Values.of({
|
|
@@ -318,7 +321,8 @@ module Twilio
|
|
|
318
321
|
# account. When `false`, the composition hook never triggers.
|
|
319
322
|
# @param [Hash] video_layout A JSON object that describes the video layout of the
|
|
320
323
|
# composition hook in terms of regions. See [Specifying Video
|
|
321
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
324
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
325
|
+
# for more info.
|
|
322
326
|
# @param [String] audio_sources An array of track names from the same group room
|
|
323
327
|
# to merge into the compositions created by the composition hook. Can include zero
|
|
324
328
|
# or more track names. A composition triggered by the composition hook includes
|
|
@@ -340,7 +344,8 @@ module Twilio
|
|
|
340
344
|
# and no Participant joins for a while as well as if all the Participants leave
|
|
341
345
|
# the room and join later, because those gaps will be removed. See [Specifying
|
|
342
346
|
# Video
|
|
343
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
347
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
348
|
+
# for more info.
|
|
344
349
|
# @param [composition_hook.Format] format The container format of the media files
|
|
345
350
|
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
346
351
|
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
@@ -364,7 +369,8 @@ module Twilio
|
|
|
364
369
|
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
365
370
|
# When the original video tracks are constrained by the aspect ratio, they are
|
|
366
371
|
# scaled to fit. See [Specifying Video
|
|
367
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
372
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
373
|
+
# for more info.
|
|
368
374
|
# @param [String] status_callback The URL we should call using the
|
|
369
375
|
# `status_callback_method` to send status information to your application on every
|
|
370
376
|
# composition event. If not provided, status callback events will not be
|
|
@@ -567,7 +573,8 @@ module Twilio
|
|
|
567
573
|
# account. When `false`, the composition hook never triggers.
|
|
568
574
|
# @param [Hash] video_layout A JSON object that describes the video layout of the
|
|
569
575
|
# composition hook in terms of regions. See [Specifying Video
|
|
570
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
576
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
577
|
+
# for more info.
|
|
571
578
|
# @param [String] audio_sources An array of track names from the same group room
|
|
572
579
|
# to merge into the compositions created by the composition hook. Can include zero
|
|
573
580
|
# or more track names. A composition triggered by the composition hook includes
|
|
@@ -589,7 +596,8 @@ module Twilio
|
|
|
589
596
|
# and no Participant joins for a while as well as if all the Participants leave
|
|
590
597
|
# the room and join later, because those gaps will be removed. See [Specifying
|
|
591
598
|
# Video
|
|
592
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
599
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
600
|
+
# for more info.
|
|
593
601
|
# @param [composition_hook.Format] format The container format of the media files
|
|
594
602
|
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
595
603
|
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
@@ -613,7 +621,8 @@ module Twilio
|
|
|
613
621
|
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
614
622
|
# When the original video tracks are constrained by the aspect ratio, they are
|
|
615
623
|
# scaled to fit. See [Specifying Video
|
|
616
|
-
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
624
|
+
# Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)
|
|
625
|
+
# for more info.
|
|
617
626
|
# @param [String] status_callback The URL we should call using the
|
|
618
627
|
# `status_callback_method` to send status information to your application on every
|
|
619
628
|
# composition event. If not provided, status callback events will not be
|
|
@@ -56,7 +56,8 @@ module Twilio
|
|
|
56
56
|
# ***This feature is not available in `peer-to-peer` rooms***
|
|
57
57
|
# @param [String] media_region The region for the media server in Group Rooms.
|
|
58
58
|
# Can be: one of the [available Media
|
|
59
|
-
# Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers).
|
|
59
|
+
# Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers).
|
|
60
|
+
# ***This feature is not available in `peer-to-peer` rooms.***
|
|
60
61
|
# @return [RoomInstance] Created RoomInstance
|
|
61
62
|
def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset)
|
|
62
63
|
data = Twilio::Values.of({
|
|
@@ -48,12 +48,9 @@ module Twilio
|
|
|
48
48
|
|
|
49
49
|
##
|
|
50
50
|
# Access the settings
|
|
51
|
-
# @return [
|
|
52
|
-
# @return [SettingsContext]
|
|
51
|
+
# @return [SettingsContext] SettingsContext
|
|
53
52
|
def settings
|
|
54
53
|
return SettingsContext.new(@version, )
|
|
55
|
-
|
|
56
|
-
@settings ||= SettingsList.new(@version, )
|
|
57
54
|
end
|
|
58
55
|
|
|
59
56
|
##
|
|
@@ -135,7 +135,8 @@ module Twilio
|
|
|
135
135
|
# non-home networks in the United States. The metering period begins the day of
|
|
136
136
|
# activation and ends on the same day in the following month. Can be up to 2TB.
|
|
137
137
|
# See [national
|
|
138
|
-
# roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming)
|
|
138
|
+
# roaming](https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming)
|
|
139
|
+
# for more info.
|
|
139
140
|
# @param [String] international_roaming_data_limit The total data usage (download
|
|
140
141
|
# and upload combined) in Megabytes that the Network allows during one month when
|
|
141
142
|
# roaming outside the United States. Can be up to 2TB.
|
data/lib/twilio-ruby/version.rb
CHANGED
|
@@ -21,6 +21,17 @@ describe 'Version Action Methods' do
|
|
|
21
21
|
expect(actual).to_not eq(nil)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
it 'handles redirect fetch responses' do
|
|
25
|
+
@holodeck.mock(
|
|
26
|
+
Twilio::Response.new(
|
|
27
|
+
307,
|
|
28
|
+
'{"phone_number": "+15108675310"}'
|
|
29
|
+
)
|
|
30
|
+
)
|
|
31
|
+
actual = @client.lookups.v1.phone_numbers('+15017122661').fetch
|
|
32
|
+
expect(actual).to_not eq(nil)
|
|
33
|
+
end
|
|
34
|
+
|
|
24
35
|
describe 'stream' do
|
|
25
36
|
before(:each) do
|
|
26
37
|
@holodeck.mock(
|
|
@@ -13,13 +13,14 @@ describe 'Webhook' do
|
|
|
13
13
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
14
14
|
|
|
15
15
|
expect {
|
|
16
|
-
@client.conversations.v1.
|
|
16
|
+
@client.conversations.v1.configuration \
|
|
17
|
+
.webhooks().fetch()
|
|
17
18
|
}.to raise_exception(Twilio::REST::TwilioError)
|
|
18
19
|
|
|
19
20
|
expect(
|
|
20
21
|
@holodeck.has_request?(Holodeck::Request.new(
|
|
21
22
|
method: 'get',
|
|
22
|
-
url: 'https://conversations.twilio.com/v1/
|
|
23
|
+
url: 'https://conversations.twilio.com/v1/Configuration/Webhooks',
|
|
23
24
|
))).to eq(true)
|
|
24
25
|
end
|
|
25
26
|
|
|
@@ -37,12 +38,13 @@ describe 'Webhook' do
|
|
|
37
38
|
"onConversationUpdated"
|
|
38
39
|
],
|
|
39
40
|
"target": "webhook",
|
|
40
|
-
"url": "https://conversations.twilio.com/v1/
|
|
41
|
+
"url": "https://conversations.twilio.com/v1/Configuration/Webhooks"
|
|
41
42
|
}
|
|
42
43
|
]
|
|
43
44
|
))
|
|
44
45
|
|
|
45
|
-
actual = @client.conversations.v1.
|
|
46
|
+
actual = @client.conversations.v1.configuration \
|
|
47
|
+
.webhooks().fetch()
|
|
46
48
|
|
|
47
49
|
expect(actual).to_not eq(nil)
|
|
48
50
|
end
|
|
@@ -51,13 +53,14 @@ describe 'Webhook' do
|
|
|
51
53
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
52
54
|
|
|
53
55
|
expect {
|
|
54
|
-
@client.conversations.v1.
|
|
56
|
+
@client.conversations.v1.configuration \
|
|
57
|
+
.webhooks().update()
|
|
55
58
|
}.to raise_exception(Twilio::REST::TwilioError)
|
|
56
59
|
|
|
57
60
|
expect(
|
|
58
61
|
@holodeck.has_request?(Holodeck::Request.new(
|
|
59
62
|
method: 'post',
|
|
60
|
-
url: 'https://conversations.twilio.com/v1/
|
|
63
|
+
url: 'https://conversations.twilio.com/v1/Configuration/Webhooks',
|
|
61
64
|
))).to eq(true)
|
|
62
65
|
end
|
|
63
66
|
|
|
@@ -74,12 +77,13 @@ describe 'Webhook' do
|
|
|
74
77
|
"onConversationUpdated"
|
|
75
78
|
],
|
|
76
79
|
"target": "webhook",
|
|
77
|
-
"url": "https://conversations.twilio.com/v1/
|
|
80
|
+
"url": "https://conversations.twilio.com/v1/Configuration/Webhooks"
|
|
78
81
|
}
|
|
79
82
|
]
|
|
80
83
|
))
|
|
81
84
|
|
|
82
|
-
actual = @client.conversations.v1.
|
|
85
|
+
actual = @client.conversations.v1.configuration \
|
|
86
|
+
.webhooks().update()
|
|
83
87
|
|
|
84
88
|
expect(actual).to_not eq(nil)
|
|
85
89
|
end
|
|
@@ -35,7 +35,8 @@ describe 'Configuration' do
|
|
|
35
35
|
"default_closed_timer": "PT10M",
|
|
36
36
|
"url": "https://conversations.twilio.com/v1/Configuration",
|
|
37
37
|
"links": {
|
|
38
|
-
"service": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration"
|
|
38
|
+
"service": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration",
|
|
39
|
+
"webhooks": "https://conversations.twilio.com/v1/Configuration/Webhooks"
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
]
|
|
@@ -72,7 +73,8 @@ describe 'Configuration' do
|
|
|
72
73
|
"default_closed_timer": "PT10M",
|
|
73
74
|
"url": "https://conversations.twilio.com/v1/Configuration",
|
|
74
75
|
"links": {
|
|
75
|
-
"service": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration"
|
|
76
|
+
"service": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration",
|
|
77
|
+
"webhooks": "https://conversations.twilio.com/v1/Configuration/Webhooks"
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
]
|
|
@@ -13,7 +13,9 @@ describe 'Notification' do
|
|
|
13
13
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
14
14
|
|
|
15
15
|
expect {
|
|
16
|
-
@client.conversations.v1.
|
|
16
|
+
@client.conversations.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
|
17
|
+
.configuration \
|
|
18
|
+
.notifications().update()
|
|
17
19
|
}.to raise_exception(Twilio::REST::TwilioError)
|
|
18
20
|
|
|
19
21
|
expect(
|
|
@@ -52,7 +54,9 @@ describe 'Notification' do
|
|
|
52
54
|
]
|
|
53
55
|
))
|
|
54
56
|
|
|
55
|
-
actual = @client.conversations.v1.
|
|
57
|
+
actual = @client.conversations.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
|
58
|
+
.configuration \
|
|
59
|
+
.notifications().update()
|
|
56
60
|
|
|
57
61
|
expect(actual).to_not eq(nil)
|
|
58
62
|
end
|
|
@@ -61,7 +65,9 @@ describe 'Notification' do
|
|
|
61
65
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
62
66
|
|
|
63
67
|
expect {
|
|
64
|
-
@client.conversations.v1.
|
|
68
|
+
@client.conversations.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
|
69
|
+
.configuration \
|
|
70
|
+
.notifications().fetch()
|
|
65
71
|
}.to raise_exception(Twilio::REST::TwilioError)
|
|
66
72
|
|
|
67
73
|
expect(
|
|
@@ -100,7 +106,9 @@ describe 'Notification' do
|
|
|
100
106
|
]
|
|
101
107
|
))
|
|
102
108
|
|
|
103
|
-
actual = @client.conversations.v1.
|
|
109
|
+
actual = @client.conversations.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
|
110
|
+
.configuration \
|
|
111
|
+
.notifications().fetch()
|
|
104
112
|
|
|
105
113
|
expect(actual).to_not eq(nil)
|
|
106
114
|
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
require 'spec_helper.rb'
|
|
10
|
+
|
|
11
|
+
describe 'Version' do
|
|
12
|
+
it "can read" do
|
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
14
|
+
|
|
15
|
+
expect {
|
|
16
|
+
@client.events.v1.schemas('id') \
|
|
17
|
+
.versions.list()
|
|
18
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
|
19
|
+
|
|
20
|
+
expect(
|
|
21
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
|
22
|
+
method: 'get',
|
|
23
|
+
url: 'https://events.twilio.com/v1/Schemas/id/Versions',
|
|
24
|
+
))).to eq(true)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "receives read_empty responses" do
|
|
28
|
+
@holodeck.mock(Twilio::Response.new(
|
|
29
|
+
200,
|
|
30
|
+
%q[
|
|
31
|
+
{
|
|
32
|
+
"schema_versions": [],
|
|
33
|
+
"meta": {
|
|
34
|
+
"page": 0,
|
|
35
|
+
"page_size": 10,
|
|
36
|
+
"first_page_url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions?PageSize=10&Page=0",
|
|
37
|
+
"previous_page_url": null,
|
|
38
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions?PageSize=10&Page=0",
|
|
39
|
+
"next_page_url": null,
|
|
40
|
+
"key": "schema_versions"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
))
|
|
45
|
+
|
|
46
|
+
actual = @client.events.v1.schemas('id') \
|
|
47
|
+
.versions.list()
|
|
48
|
+
|
|
49
|
+
expect(actual).to_not eq(nil)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "receives read_results responses" do
|
|
53
|
+
@holodeck.mock(Twilio::Response.new(
|
|
54
|
+
200,
|
|
55
|
+
%q[
|
|
56
|
+
{
|
|
57
|
+
"schema_versions": [
|
|
58
|
+
{
|
|
59
|
+
"id": "DataTaps.TestEventSchema",
|
|
60
|
+
"schema_version": 1,
|
|
61
|
+
"date_created": "2015-07-30T20:00:00Z",
|
|
62
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions/1",
|
|
63
|
+
"raw": "https://events-schemas.twilio.com/DataTaps.TestEventSchema/1"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "DataTaps.TestEventSchema",
|
|
67
|
+
"schema_version": 2,
|
|
68
|
+
"date_created": "2015-07-30T20:00:00Z",
|
|
69
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions/2",
|
|
70
|
+
"raw": "https://events-schemas.twilio.com/DataTaps.TestEventSchema/2"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"meta": {
|
|
74
|
+
"page": 0,
|
|
75
|
+
"page_size": 50,
|
|
76
|
+
"first_page_url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions?PageSize=50&Page=0",
|
|
77
|
+
"previous_page_url": null,
|
|
78
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions?PageSize=50&Page=0",
|
|
79
|
+
"next_page_url": null,
|
|
80
|
+
"key": "schema_versions"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
))
|
|
85
|
+
|
|
86
|
+
actual = @client.events.v1.schemas('id') \
|
|
87
|
+
.versions.list()
|
|
88
|
+
|
|
89
|
+
expect(actual).to_not eq(nil)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
it "can fetch" do
|
|
93
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
94
|
+
|
|
95
|
+
expect {
|
|
96
|
+
@client.events.v1.schemas('id') \
|
|
97
|
+
.versions(1).fetch()
|
|
98
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
|
99
|
+
|
|
100
|
+
expect(
|
|
101
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
|
102
|
+
method: 'get',
|
|
103
|
+
url: 'https://events.twilio.com/v1/Schemas/id/Versions/1',
|
|
104
|
+
))).to eq(true)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it "receives fetch responses" do
|
|
108
|
+
@holodeck.mock(Twilio::Response.new(
|
|
109
|
+
200,
|
|
110
|
+
%q[
|
|
111
|
+
{
|
|
112
|
+
"id": "DataTaps.TestEventSchema",
|
|
113
|
+
"schema_version": 1,
|
|
114
|
+
"date_created": "2015-07-30T20:00:00Z",
|
|
115
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions/1",
|
|
116
|
+
"raw": "https://events-schemas.twilio.com/DataTaps.TestEventSchema/1"
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
))
|
|
120
|
+
|
|
121
|
+
actual = @client.events.v1.schemas('id') \
|
|
122
|
+
.versions(1).fetch()
|
|
123
|
+
|
|
124
|
+
expect(actual).to_not eq(nil)
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
require 'spec_helper.rb'
|
|
10
|
+
|
|
11
|
+
describe 'Schema' do
|
|
12
|
+
it "can fetch" do
|
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
|
14
|
+
|
|
15
|
+
expect {
|
|
16
|
+
@client.events.v1.schemas('id').fetch()
|
|
17
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
|
18
|
+
|
|
19
|
+
expect(
|
|
20
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
|
21
|
+
method: 'get',
|
|
22
|
+
url: 'https://events.twilio.com/v1/Schemas/id',
|
|
23
|
+
))).to eq(true)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "receives fetch responses" do
|
|
27
|
+
@holodeck.mock(Twilio::Response.new(
|
|
28
|
+
200,
|
|
29
|
+
%q[
|
|
30
|
+
{
|
|
31
|
+
"id": "DataTaps.TestEventSchema",
|
|
32
|
+
"url": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema",
|
|
33
|
+
"last_created": "2018-07-30T20:00:00Z",
|
|
34
|
+
"last_version": 1,
|
|
35
|
+
"links": {
|
|
36
|
+
"versions": "https://events.twilio.com/v1/Schemas/DataTaps.TestEventSchema/Versions"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
))
|
|
41
|
+
|
|
42
|
+
actual = @client.events.v1.schemas('id').fetch()
|
|
43
|
+
|
|
44
|
+
expect(actual).to_not eq(nil)
|
|
45
|
+
end
|
|
46
|
+
end
|