twilio-ruby 5.25.3 → 5.25.4
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 +26 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +1 -8
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +4 -4
- data/lib/twilio-ruby/rest/flex_api.rb +16 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +30 -0
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +352 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +358 -0
- data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -14
- data/lib/twilio-ruby/rest/ip_messaging.rb +2 -2
- data/lib/twilio-ruby/rest/sync/v1/service.rb +22 -3
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +5 -5
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +2 -2
- data/lib/twilio-ruby/twiml/voice_response.rb +19 -7
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
- data/spec/integration/flex_api/v1/channel_spec.rb +191 -0
- data/spec/integration/flex_api/v1/configuration_spec.rb +24 -0
- data/spec/integration/flex_api/v1/web_channel_spec.rb +220 -0
- data/spec/integration/insights/v1/summary_spec.rb +0 -2
- data/spec/integration/ip_messaging/v1/credential_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +4 -4
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +1 -1
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +5 -5
- data/spec/integration/ip_messaging/v1/service_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/credential_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +3 -3
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +4 -4
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +3 -3
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +3 -3
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +5 -5
- data/spec/integration/ip_messaging/v2/service_spec.rb +5 -5
- data/spec/integration/monitor/v1/alert_spec.rb +8 -8
- data/spec/integration/sync/v1/service_spec.rb +4 -0
- data/spec/integration/wireless/v1/rate_plan_spec.rb +8 -0
- metadata +8 -2
@@ -18,7 +18,7 @@ module Twilio
|
|
18
18
|
# Initialize the VerificationList
|
19
19
|
# @param [Version] version Version that contains the resource
|
20
20
|
# @param [String] service_sid The SID of the
|
21
|
-
# [Service](https://www.twilio.com/docs/
|
21
|
+
# [Service](https://www.twilio.com/docs/verify/api/service) the resource is
|
22
22
|
# associated with.
|
23
23
|
# @return [VerificationList] VerificationList
|
24
24
|
def initialize(version, service_sid: nil)
|
@@ -122,7 +122,7 @@ module Twilio
|
|
122
122
|
# Initialize the VerificationContext
|
123
123
|
# @param [Version] version Version that contains the resource
|
124
124
|
# @param [String] service_sid The SID of the verification
|
125
|
-
# [Service](https://www.twilio.com/docs/
|
125
|
+
# [Service](https://www.twilio.com/docs/verify/api/service) to fetch the resource
|
126
126
|
# from.
|
127
127
|
# @param [String] sid The Twilio-provided string that uniquely identifies the
|
128
128
|
# Verification resource to fetch.
|
@@ -138,7 +138,7 @@ module Twilio
|
|
138
138
|
##
|
139
139
|
# Update the VerificationInstance
|
140
140
|
# @param [verification.Status] status The new status of the resource. Can be:
|
141
|
-
# `
|
141
|
+
# `canceled` or `approved`.
|
142
142
|
# @return [VerificationInstance] Updated VerificationInstance
|
143
143
|
def update(status: nil)
|
144
144
|
data = Twilio::Values.of({'Status' => status, })
|
@@ -200,7 +200,7 @@ module Twilio
|
|
200
200
|
# @param [Version] version Version that contains the resource
|
201
201
|
# @param [Hash] payload payload that contains response from Twilio
|
202
202
|
# @param [String] service_sid The SID of the
|
203
|
-
# [Service](https://www.twilio.com/docs/
|
203
|
+
# [Service](https://www.twilio.com/docs/verify/api/service) the resource is
|
204
204
|
# associated with.
|
205
205
|
# @param [String] sid The Twilio-provided string that uniquely identifies the
|
206
206
|
# Verification resource to fetch.
|
@@ -322,7 +322,7 @@ module Twilio
|
|
322
322
|
##
|
323
323
|
# Update the VerificationInstance
|
324
324
|
# @param [verification.Status] status The new status of the resource. Can be:
|
325
|
-
# `
|
325
|
+
# `canceled` or `approved`.
|
326
326
|
# @return [VerificationInstance] Updated VerificationInstance
|
327
327
|
def update(status: nil)
|
328
328
|
context.update(status: status, )
|
@@ -18,7 +18,7 @@ module Twilio
|
|
18
18
|
# Initialize the VerificationCheckList
|
19
19
|
# @param [Version] version Version that contains the resource
|
20
20
|
# @param [String] service_sid The SID of the
|
21
|
-
# [Service](https://www.twilio.com/docs/
|
21
|
+
# [Service](https://www.twilio.com/docs/verify/api/service) the resource is
|
22
22
|
# associated with.
|
23
23
|
# @return [VerificationCheckList] VerificationCheckList
|
24
24
|
def initialize(version, service_sid: nil)
|
@@ -106,7 +106,7 @@ module Twilio
|
|
106
106
|
# @param [Version] version Version that contains the resource
|
107
107
|
# @param [Hash] payload payload that contains response from Twilio
|
108
108
|
# @param [String] service_sid The SID of the
|
109
|
-
# [Service](https://www.twilio.com/docs/
|
109
|
+
# [Service](https://www.twilio.com/docs/verify/api/service) the resource is
|
110
110
|
# associated with.
|
111
111
|
# @return [VerificationCheckInstance] VerificationCheckInstance
|
112
112
|
def initialize(version, payload, service_sid: nil)
|
@@ -214,13 +214,16 @@ module Twilio
|
|
214
214
|
# Create a new <Pay> element
|
215
215
|
# input:: Input type Twilio should accept
|
216
216
|
# action:: Action URL
|
217
|
+
# bank_account_type:: Bank account type for ach transactions. If set, payment method attribute must be provided and value should be set to ach-debit. defaults to consumer-checking
|
217
218
|
# status_callback:: Status callback URL
|
218
219
|
# status_callback_method:: Status callback method
|
219
220
|
# timeout:: Time to wait to gather input
|
220
221
|
# max_attempts:: Maximum number of allowed retries when gathering input
|
221
222
|
# security_code:: Prompt for security code
|
222
223
|
# postal_code:: Prompt for postal code and it should be true/false or default postal code
|
224
|
+
# min_postal_code_length:: Prompt for minimum postal code length
|
223
225
|
# payment_connector:: Unique name for payment connector
|
226
|
+
# payment_method:: Payment method to be used. defaults to credit-card
|
224
227
|
# token_type:: Type of token
|
225
228
|
# charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
|
226
229
|
# currency:: Currency of the amount attribute
|
@@ -228,8 +231,8 @@ module Twilio
|
|
228
231
|
# valid_card_types:: Comma separated accepted card types
|
229
232
|
# language:: Language to use
|
230
233
|
# keyword_args:: additional attributes
|
231
|
-
def pay(input: nil, action: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, payment_connector: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
|
232
|
-
pay = Pay.new(input: input, action: action, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, payment_connector: payment_connector, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
|
234
|
+
def pay(input: nil, action: nil, bank_account_type: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, min_postal_code_length: nil, payment_connector: nil, payment_method: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
|
235
|
+
pay = Pay.new(input: input, action: action, bank_account_type: bank_account_type, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, min_postal_code_length: min_postal_code_length, payment_connector: payment_connector, payment_method: payment_method, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
|
233
236
|
|
234
237
|
yield(pay) if block_given?
|
235
238
|
append(pay)
|
@@ -237,7 +240,7 @@ module Twilio
|
|
237
240
|
|
238
241
|
##
|
239
242
|
# Create a new <Prompt> element
|
240
|
-
# for_:: Name of the
|
243
|
+
# for_:: Name of the payment source data element
|
241
244
|
# error_type:: Type of error
|
242
245
|
# card_type:: Type of the credit card
|
243
246
|
# attempt:: Current attempt count
|
@@ -493,7 +496,7 @@ module Twilio
|
|
493
496
|
##
|
494
497
|
# Create a new <Lang> element
|
495
498
|
# words:: Words to speak
|
496
|
-
#
|
499
|
+
# xmlLang:: Specify the language
|
497
500
|
# keyword_args:: additional attributes
|
498
501
|
def lang(words, xmlLang: nil, **keyword_args)
|
499
502
|
append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
|
@@ -539,7 +542,7 @@ module Twilio
|
|
539
542
|
##
|
540
543
|
# Create a new <Say-As> element
|
541
544
|
# words:: Words to be interpreted
|
542
|
-
#
|
545
|
+
# interpretAs:: Specify the type of words are spoken
|
543
546
|
# role:: Specify the format of the date when interpret-as is set to date
|
544
547
|
# keyword_args:: additional attributes
|
545
548
|
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
@@ -549,7 +552,7 @@ module Twilio
|
|
549
552
|
##
|
550
553
|
# Create a new <Sub> element
|
551
554
|
# words:: Words to be substituted
|
552
|
-
#
|
555
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
553
556
|
# keyword_args:: additional attributes
|
554
557
|
def sub(words, aliasAttribute: nil, **keyword_args)
|
555
558
|
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
@@ -687,7 +690,7 @@ module Twilio
|
|
687
690
|
|
688
691
|
##
|
689
692
|
# Create a new <Prompt> element
|
690
|
-
# for_:: Name of the
|
693
|
+
# for_:: Name of the payment source data element
|
691
694
|
# error_type:: Type of error
|
692
695
|
# card_type:: Type of the credit card
|
693
696
|
# attempt:: Current attempt count
|
@@ -698,6 +701,15 @@ module Twilio
|
|
698
701
|
yield(prompt) if block_given?
|
699
702
|
append(prompt)
|
700
703
|
end
|
704
|
+
|
705
|
+
##
|
706
|
+
# Create a new <Parameter> element
|
707
|
+
# name:: The name of the custom parameter
|
708
|
+
# value:: The value of the custom parameter
|
709
|
+
# keyword_args:: additional attributes
|
710
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
711
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
712
|
+
end
|
701
713
|
end
|
702
714
|
|
703
715
|
##
|
data/lib/twilio-ruby/version.rb
CHANGED
@@ -143,7 +143,7 @@ describe 'Conversation' do
|
|
143
143
|
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
144
144
|
"chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
145
145
|
"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
146
|
-
"friendly_name": "
|
146
|
+
"friendly_name": "My First Conversation",
|
147
147
|
"date_created": "2015-12-16T22:18:37Z",
|
148
148
|
"date_updated": "2015-12-16T22:18:38Z",
|
149
149
|
"url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
@@ -0,0 +1,191 @@
|
|
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 'Channel' do
|
12
|
+
it "can read" do
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
14
|
+
|
15
|
+
expect {
|
16
|
+
@client.flex_api.v1.channel.list()
|
17
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
18
|
+
|
19
|
+
values = {}
|
20
|
+
expect(
|
21
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
22
|
+
method: 'get',
|
23
|
+
url: 'https://flex-api.twilio.com/v1/Channels',
|
24
|
+
))).to eq(true)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "receives read_full responses" do
|
28
|
+
@holodeck.mock(Twilio::Response.new(
|
29
|
+
200,
|
30
|
+
%q[
|
31
|
+
{
|
32
|
+
"meta": {
|
33
|
+
"page": 0,
|
34
|
+
"page_size": 50,
|
35
|
+
"first_page_url": "https://flex-api.twilio.com/v1/Channels?PageSize=50&Page=0",
|
36
|
+
"previous_page_url": null,
|
37
|
+
"url": "https://flex-api.twilio.com/v1/Channels?PageSize=50&Page=0",
|
38
|
+
"next_page_url": null,
|
39
|
+
"key": "flex_chat_channels"
|
40
|
+
},
|
41
|
+
"flex_chat_channels": [
|
42
|
+
{
|
43
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
44
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
45
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
46
|
+
"task_sid": "WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
47
|
+
"user_sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
48
|
+
"date_created": "2016-08-01T22:10:40Z",
|
49
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
50
|
+
"url": "https://flex-api.twilio.com/v1/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
51
|
+
}
|
52
|
+
]
|
53
|
+
}
|
54
|
+
]
|
55
|
+
))
|
56
|
+
|
57
|
+
actual = @client.flex_api.v1.channel.list()
|
58
|
+
|
59
|
+
expect(actual).to_not eq(nil)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "receives read_empty responses" do
|
63
|
+
@holodeck.mock(Twilio::Response.new(
|
64
|
+
200,
|
65
|
+
%q[
|
66
|
+
{
|
67
|
+
"meta": {
|
68
|
+
"page": 0,
|
69
|
+
"page_size": 50,
|
70
|
+
"first_page_url": "https://flex-api.twilio.com/v1/Channels?PageSize=50&Page=0",
|
71
|
+
"previous_page_url": null,
|
72
|
+
"url": "https://flex-api.twilio.com/v1/Channels?PageSize=50&Page=0",
|
73
|
+
"next_page_url": null,
|
74
|
+
"key": "flex_chat_channels"
|
75
|
+
},
|
76
|
+
"flex_chat_channels": []
|
77
|
+
}
|
78
|
+
]
|
79
|
+
))
|
80
|
+
|
81
|
+
actual = @client.flex_api.v1.channel.list()
|
82
|
+
|
83
|
+
expect(actual).to_not eq(nil)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "can fetch" do
|
87
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
88
|
+
|
89
|
+
expect {
|
90
|
+
@client.flex_api.v1.channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
91
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
92
|
+
|
93
|
+
values = {}
|
94
|
+
expect(
|
95
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
96
|
+
method: 'get',
|
97
|
+
url: 'https://flex-api.twilio.com/v1/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
98
|
+
))).to eq(true)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "receives fetch responses" do
|
102
|
+
@holodeck.mock(Twilio::Response.new(
|
103
|
+
200,
|
104
|
+
%q[
|
105
|
+
{
|
106
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
107
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
108
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
109
|
+
"task_sid": "WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
110
|
+
"user_sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
111
|
+
"date_created": "2016-08-01T22:10:40Z",
|
112
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
113
|
+
"url": "https://flex-api.twilio.com/v1/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
114
|
+
}
|
115
|
+
]
|
116
|
+
))
|
117
|
+
|
118
|
+
actual = @client.flex_api.v1.channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
119
|
+
|
120
|
+
expect(actual).to_not eq(nil)
|
121
|
+
end
|
122
|
+
|
123
|
+
it "can create" do
|
124
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
125
|
+
|
126
|
+
expect {
|
127
|
+
@client.flex_api.v1.channel.create(flex_flow_sid: 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', identity: 'identity', chat_user_friendly_name: 'chat_user_friendly_name', chat_friendly_name: 'chat_friendly_name')
|
128
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
129
|
+
|
130
|
+
values = {
|
131
|
+
'FlexFlowSid' => 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
132
|
+
'Identity' => 'identity',
|
133
|
+
'ChatUserFriendlyName' => 'chat_user_friendly_name',
|
134
|
+
'ChatFriendlyName' => 'chat_friendly_name',
|
135
|
+
}
|
136
|
+
expect(
|
137
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
138
|
+
method: 'post',
|
139
|
+
url: 'https://flex-api.twilio.com/v1/Channels',
|
140
|
+
data: values,
|
141
|
+
))).to eq(true)
|
142
|
+
end
|
143
|
+
|
144
|
+
it "receives create responses" do
|
145
|
+
@holodeck.mock(Twilio::Response.new(
|
146
|
+
201,
|
147
|
+
%q[
|
148
|
+
{
|
149
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
150
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
151
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
152
|
+
"task_sid": "WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
153
|
+
"user_sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
154
|
+
"date_created": "2016-08-01T22:10:40Z",
|
155
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
156
|
+
"url": "https://flex-api.twilio.com/v1/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
157
|
+
}
|
158
|
+
]
|
159
|
+
))
|
160
|
+
|
161
|
+
actual = @client.flex_api.v1.channel.create(flex_flow_sid: 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', identity: 'identity', chat_user_friendly_name: 'chat_user_friendly_name', chat_friendly_name: 'chat_friendly_name')
|
162
|
+
|
163
|
+
expect(actual).to_not eq(nil)
|
164
|
+
end
|
165
|
+
|
166
|
+
it "can delete" do
|
167
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
168
|
+
|
169
|
+
expect {
|
170
|
+
@client.flex_api.v1.channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
|
171
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
172
|
+
|
173
|
+
values = {}
|
174
|
+
expect(
|
175
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
176
|
+
method: 'delete',
|
177
|
+
url: 'https://flex-api.twilio.com/v1/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
178
|
+
))).to eq(true)
|
179
|
+
end
|
180
|
+
|
181
|
+
it "receives delete responses" do
|
182
|
+
@holodeck.mock(Twilio::Response.new(
|
183
|
+
204,
|
184
|
+
nil,
|
185
|
+
))
|
186
|
+
|
187
|
+
actual = @client.flex_api.v1.channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
|
188
|
+
|
189
|
+
expect(actual).to eq(true)
|
190
|
+
end
|
191
|
+
end
|
@@ -133,6 +133,14 @@ describe 'Configuration' do
|
|
133
133
|
"config": "{\\"callback\\":\\"twilio.com/cb\\",\\"allowed_methods\\":[\\"GET\\",\\"POST\\"]}"
|
134
134
|
}
|
135
135
|
],
|
136
|
+
"outbound_call_flows": {
|
137
|
+
"default": {
|
138
|
+
"caller_id": "+12345",
|
139
|
+
"queue_sid": "WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
140
|
+
"location": "EE",
|
141
|
+
"workflow_sid": "WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
142
|
+
}
|
143
|
+
},
|
136
144
|
"url": "https://flex-api.twilio.com/v1/Configuration"
|
137
145
|
}
|
138
146
|
]
|
@@ -267,6 +275,14 @@ describe 'Configuration' do
|
|
267
275
|
"config": "{\\"callback\\":\\"twilio.com/cb\\",\\"allowed_methods\\":[\\"GET\\",\\"POST\\"]}"
|
268
276
|
}
|
269
277
|
],
|
278
|
+
"outbound_call_flows": {
|
279
|
+
"default": {
|
280
|
+
"caller_id": "+12345",
|
281
|
+
"queue_sid": "WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
282
|
+
"location": "EE",
|
283
|
+
"workflow_sid": "WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
284
|
+
}
|
285
|
+
},
|
270
286
|
"url": "https://flex-api.twilio.com/v1/Configuration"
|
271
287
|
}
|
272
288
|
]
|
@@ -401,6 +417,14 @@ describe 'Configuration' do
|
|
401
417
|
"config": "{\\"callback\\":\\"twilio.com/cb\\",\\"allowed_methods\\":[\\"GET\\",\\"POST\\"]}"
|
402
418
|
}
|
403
419
|
],
|
420
|
+
"outbound_call_flows": {
|
421
|
+
"default": {
|
422
|
+
"caller_id": "+12345",
|
423
|
+
"queue_sid": "WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
424
|
+
"location": "EE",
|
425
|
+
"workflow_sid": "WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
426
|
+
}
|
427
|
+
},
|
404
428
|
"url": "https://flex-api.twilio.com/v1/Configuration"
|
405
429
|
}
|
406
430
|
]
|
@@ -0,0 +1,220 @@
|
|
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 'WebChannel' do
|
12
|
+
it "can read" do
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
14
|
+
|
15
|
+
expect {
|
16
|
+
@client.flex_api.v1.web_channel.list()
|
17
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
18
|
+
|
19
|
+
values = {}
|
20
|
+
expect(
|
21
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
22
|
+
method: 'get',
|
23
|
+
url: 'https://flex-api.twilio.com/v1/WebChannels',
|
24
|
+
))).to eq(true)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "receives read_full responses" do
|
28
|
+
@holodeck.mock(Twilio::Response.new(
|
29
|
+
200,
|
30
|
+
%q[
|
31
|
+
{
|
32
|
+
"meta": {
|
33
|
+
"page": 0,
|
34
|
+
"page_size": 50,
|
35
|
+
"first_page_url": "https://flex-api.twilio.com/v1/WebChannels?PageSize=50&Page=0",
|
36
|
+
"previous_page_url": null,
|
37
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels?PageSize=50&Page=0",
|
38
|
+
"next_page_url": null,
|
39
|
+
"key": "flex_chat_channels"
|
40
|
+
},
|
41
|
+
"flex_chat_channels": [
|
42
|
+
{
|
43
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
44
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
45
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
46
|
+
"date_created": "2016-08-01T22:10:40Z",
|
47
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
48
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
49
|
+
}
|
50
|
+
]
|
51
|
+
}
|
52
|
+
]
|
53
|
+
))
|
54
|
+
|
55
|
+
actual = @client.flex_api.v1.web_channel.list()
|
56
|
+
|
57
|
+
expect(actual).to_not eq(nil)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "receives read_empty responses" do
|
61
|
+
@holodeck.mock(Twilio::Response.new(
|
62
|
+
200,
|
63
|
+
%q[
|
64
|
+
{
|
65
|
+
"meta": {
|
66
|
+
"page": 0,
|
67
|
+
"page_size": 50,
|
68
|
+
"first_page_url": "https://flex-api.twilio.com/v1/WebChannels?PageSize=50&Page=0",
|
69
|
+
"previous_page_url": null,
|
70
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels?PageSize=50&Page=0",
|
71
|
+
"next_page_url": null,
|
72
|
+
"key": "flex_chat_channels"
|
73
|
+
},
|
74
|
+
"flex_chat_channels": []
|
75
|
+
}
|
76
|
+
]
|
77
|
+
))
|
78
|
+
|
79
|
+
actual = @client.flex_api.v1.web_channel.list()
|
80
|
+
|
81
|
+
expect(actual).to_not eq(nil)
|
82
|
+
end
|
83
|
+
|
84
|
+
it "can fetch" do
|
85
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
86
|
+
|
87
|
+
expect {
|
88
|
+
@client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
89
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
90
|
+
|
91
|
+
values = {}
|
92
|
+
expect(
|
93
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
94
|
+
method: 'get',
|
95
|
+
url: 'https://flex-api.twilio.com/v1/WebChannels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
96
|
+
))).to eq(true)
|
97
|
+
end
|
98
|
+
|
99
|
+
it "receives fetch responses" do
|
100
|
+
@holodeck.mock(Twilio::Response.new(
|
101
|
+
200,
|
102
|
+
%q[
|
103
|
+
{
|
104
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
105
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
106
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
107
|
+
"date_created": "2016-08-01T22:10:40Z",
|
108
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
109
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
110
|
+
}
|
111
|
+
]
|
112
|
+
))
|
113
|
+
|
114
|
+
actual = @client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
115
|
+
|
116
|
+
expect(actual).to_not eq(nil)
|
117
|
+
end
|
118
|
+
|
119
|
+
it "can create" do
|
120
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
121
|
+
|
122
|
+
expect {
|
123
|
+
@client.flex_api.v1.web_channel.create(flex_flow_sid: 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', identity: 'identity', customer_friendly_name: 'customer_friendly_name', chat_friendly_name: 'chat_friendly_name')
|
124
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
125
|
+
|
126
|
+
values = {
|
127
|
+
'FlexFlowSid' => 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
128
|
+
'Identity' => 'identity',
|
129
|
+
'CustomerFriendlyName' => 'customer_friendly_name',
|
130
|
+
'ChatFriendlyName' => 'chat_friendly_name',
|
131
|
+
}
|
132
|
+
expect(
|
133
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
134
|
+
method: 'post',
|
135
|
+
url: 'https://flex-api.twilio.com/v1/WebChannels',
|
136
|
+
data: values,
|
137
|
+
))).to eq(true)
|
138
|
+
end
|
139
|
+
|
140
|
+
it "receives create responses" do
|
141
|
+
@holodeck.mock(Twilio::Response.new(
|
142
|
+
201,
|
143
|
+
%q[
|
144
|
+
{
|
145
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
146
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
147
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
148
|
+
"date_created": "2016-08-01T22:10:40Z",
|
149
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
150
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
151
|
+
}
|
152
|
+
]
|
153
|
+
))
|
154
|
+
|
155
|
+
actual = @client.flex_api.v1.web_channel.create(flex_flow_sid: 'FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', identity: 'identity', customer_friendly_name: 'customer_friendly_name', chat_friendly_name: 'chat_friendly_name')
|
156
|
+
|
157
|
+
expect(actual).to_not eq(nil)
|
158
|
+
end
|
159
|
+
|
160
|
+
it "can update" do
|
161
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
162
|
+
|
163
|
+
expect {
|
164
|
+
@client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
|
165
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
166
|
+
|
167
|
+
values = {}
|
168
|
+
expect(
|
169
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
170
|
+
method: 'post',
|
171
|
+
url: 'https://flex-api.twilio.com/v1/WebChannels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
172
|
+
))).to eq(true)
|
173
|
+
end
|
174
|
+
|
175
|
+
it "receives update responses" do
|
176
|
+
@holodeck.mock(Twilio::Response.new(
|
177
|
+
200,
|
178
|
+
%q[
|
179
|
+
{
|
180
|
+
"flex_flow_sid": "FOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
181
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
182
|
+
"sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
183
|
+
"date_created": "2016-08-01T22:10:40Z",
|
184
|
+
"date_updated": "2016-08-01T22:10:40Z",
|
185
|
+
"url": "https://flex-api.twilio.com/v1/WebChannels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
186
|
+
}
|
187
|
+
]
|
188
|
+
))
|
189
|
+
|
190
|
+
actual = @client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
|
191
|
+
|
192
|
+
expect(actual).to_not eq(nil)
|
193
|
+
end
|
194
|
+
|
195
|
+
it "can delete" do
|
196
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
197
|
+
|
198
|
+
expect {
|
199
|
+
@client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
|
200
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
201
|
+
|
202
|
+
values = {}
|
203
|
+
expect(
|
204
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
205
|
+
method: 'delete',
|
206
|
+
url: 'https://flex-api.twilio.com/v1/WebChannels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
207
|
+
))).to eq(true)
|
208
|
+
end
|
209
|
+
|
210
|
+
it "receives delete responses" do
|
211
|
+
@holodeck.mock(Twilio::Response.new(
|
212
|
+
204,
|
213
|
+
nil,
|
214
|
+
))
|
215
|
+
|
216
|
+
actual = @client.flex_api.v1.web_channel('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
|
217
|
+
|
218
|
+
expect(actual).to eq(true)
|
219
|
+
end
|
220
|
+
end
|