twilio-ruby 5.40.4 → 5.45.0
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 +104 -0
- data/{LICENSE.md → LICENSE} +0 -0
- data/PULL_REQUEST_TEMPLATE.md +3 -3
- data/README.md +18 -2
- data/lib/twilio-ruby.rb +1 -1
- data/lib/twilio-ruby/jwt/access_token.rb +7 -2
- data/lib/twilio-ruby/rest/accounts.rb +12 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
- data/lib/twilio-ruby/rest/client.rb +29 -3
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +10 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +13 -3
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
- data/lib/twilio-ruby/rest/insights.rb +8 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
- data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
- data/lib/twilio-ruby/rest/preview.rb +5 -18
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +12 -27
- data/lib/twilio-ruby/rest/preview/trusted_comms/{business.rb → branded_channel.rb} +63 -77
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
- data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
- data/lib/twilio-ruby/rest/verify/v2/service.rb +54 -33
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -61
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -57
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +7 -4
- data/lib/twilio-ruby/util/configuration.rb +5 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
- data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
- data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
- data/spec/integration/api/v2010/account/call_spec.rb +20 -10
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
- data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
- data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
- data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
- data/spec/integration/events/v1/subscription_spec.rb +49 -0
- data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
- data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
- data/spec/integration/insights/v1/room_spec.rb +164 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
- data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
- data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
- data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
- data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
- data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
- data/spec/integration/verify/v2/service/entity/challenge_spec.rb +56 -20
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
- data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
- data/spec/integration/verify/v2/service_spec.rb +8 -4
- data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
- data/spec/integration/video/v1/room_spec.rb +10 -5
- data/spec/jwt/access_token_spec.rb +9 -1
- data/spec/rest/client_spec.rb +24 -2
- data/twilio-ruby.gemspec +2 -1
- metadata +42 -28
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
- data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
- data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
- data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
- data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
- data/spec/integration/preview/trusted_comms/business_spec.rb +0 -46
- data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
|
@@ -12,7 +12,7 @@ module Twilio
|
|
|
12
12
|
class V2 < Version
|
|
13
13
|
class ServiceContext < InstanceContext
|
|
14
14
|
##
|
|
15
|
-
# PLEASE NOTE that this class contains
|
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
16
16
|
class AccessTokenList < ListResource
|
|
17
17
|
##
|
|
18
18
|
# Initialize the AccessTokenList
|
|
@@ -52,7 +52,7 @@ module Twilio
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
##
|
|
55
|
-
# PLEASE NOTE that this class contains
|
|
55
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
56
56
|
class AccessTokenPage < Page
|
|
57
57
|
##
|
|
58
58
|
# Initialize the AccessTokenPage
|
|
@@ -83,7 +83,7 @@ module Twilio
|
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
##
|
|
86
|
-
# PLEASE NOTE that this class contains
|
|
86
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
87
87
|
class AccessTokenInstance < InstanceResource
|
|
88
88
|
##
|
|
89
89
|
# Initialize the AccessTokenInstance
|
|
@@ -12,7 +12,7 @@ module Twilio
|
|
|
12
12
|
class V2 < Version
|
|
13
13
|
class ServiceContext < InstanceContext
|
|
14
14
|
##
|
|
15
|
-
# PLEASE NOTE that this class contains
|
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
16
16
|
class EntityList < ListResource
|
|
17
17
|
##
|
|
18
18
|
# Initialize the EntityList
|
|
@@ -30,14 +30,14 @@ module Twilio
|
|
|
30
30
|
##
|
|
31
31
|
# Create the EntityInstance
|
|
32
32
|
# @param [String] identity The unique external identifier for the Entity of the
|
|
33
|
-
# Service
|
|
34
|
-
#
|
|
33
|
+
# Service. This identifier should be immutable, not PII, length between 8 and 64
|
|
34
|
+
# characters, and generated by your external system, such as your user's UUID,
|
|
35
|
+
# GUID, or SID.
|
|
35
36
|
# @return [EntityInstance] Created EntityInstance
|
|
36
|
-
def create(identity: nil
|
|
37
|
+
def create(identity: nil)
|
|
37
38
|
data = Twilio::Values.of({'Identity' => identity, })
|
|
38
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
39
39
|
|
|
40
|
-
payload = @version.create('POST', @uri, data: data
|
|
40
|
+
payload = @version.create('POST', @uri, data: data)
|
|
41
41
|
|
|
42
42
|
EntityInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
|
43
43
|
end
|
|
@@ -46,7 +46,6 @@ module Twilio
|
|
|
46
46
|
# Lists EntityInstance records from the API as a list.
|
|
47
47
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
48
48
|
# memory before returning.
|
|
49
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
50
49
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
51
50
|
# guarantees to never return more than limit. Default is no limit
|
|
52
51
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -54,15 +53,14 @@ module Twilio
|
|
|
54
53
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
55
54
|
# efficient page size, i.e. min(limit, 1000)
|
|
56
55
|
# @return [Array] Array of up to limit results
|
|
57
|
-
def list(
|
|
58
|
-
self.stream(
|
|
56
|
+
def list(limit: nil, page_size: nil)
|
|
57
|
+
self.stream(limit: limit, page_size: page_size).entries
|
|
59
58
|
end
|
|
60
59
|
|
|
61
60
|
##
|
|
62
61
|
# Streams EntityInstance records from the API as an Enumerable.
|
|
63
62
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
64
63
|
# is reached.
|
|
65
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
66
64
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
67
65
|
# guarantees to never return more than limit. Default is no limit.
|
|
68
66
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -70,10 +68,10 @@ module Twilio
|
|
|
70
68
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
71
69
|
# efficient page size, i.e. min(limit, 1000)
|
|
72
70
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
73
|
-
def stream(
|
|
71
|
+
def stream(limit: nil, page_size: nil)
|
|
74
72
|
limits = @version.read_limits(limit, page_size)
|
|
75
73
|
|
|
76
|
-
page = self.page(
|
|
74
|
+
page = self.page(page_size: limits[:page_size], )
|
|
77
75
|
|
|
78
76
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
79
77
|
end
|
|
@@ -95,20 +93,18 @@ module Twilio
|
|
|
95
93
|
##
|
|
96
94
|
# Retrieve a single page of EntityInstance records from the API.
|
|
97
95
|
# Request is executed immediately.
|
|
98
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
99
96
|
# @param [String] page_token PageToken provided by the API
|
|
100
97
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
101
98
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
102
99
|
# @return [Page] Page of EntityInstance
|
|
103
|
-
def page(
|
|
100
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
104
101
|
params = Twilio::Values.of({
|
|
105
102
|
'PageToken' => page_token,
|
|
106
103
|
'Page' => page_number,
|
|
107
104
|
'PageSize' => page_size,
|
|
108
105
|
})
|
|
109
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
110
106
|
|
|
111
|
-
response = @version.page('GET', @uri, params: params
|
|
107
|
+
response = @version.page('GET', @uri, params: params)
|
|
112
108
|
|
|
113
109
|
EntityPage.new(@version, response, @solution)
|
|
114
110
|
end
|
|
@@ -134,7 +130,7 @@ module Twilio
|
|
|
134
130
|
end
|
|
135
131
|
|
|
136
132
|
##
|
|
137
|
-
# PLEASE NOTE that this class contains
|
|
133
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
138
134
|
class EntityPage < Page
|
|
139
135
|
##
|
|
140
136
|
# Initialize the EntityPage
|
|
@@ -165,7 +161,7 @@ module Twilio
|
|
|
165
161
|
end
|
|
166
162
|
|
|
167
163
|
##
|
|
168
|
-
# PLEASE NOTE that this class contains
|
|
164
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
169
165
|
class EntityContext < InstanceContext
|
|
170
166
|
##
|
|
171
167
|
# Initialize the EntityContext
|
|
@@ -188,22 +184,16 @@ module Twilio
|
|
|
188
184
|
|
|
189
185
|
##
|
|
190
186
|
# Delete the EntityInstance
|
|
191
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
192
187
|
# @return [Boolean] true if delete succeeds, false otherwise
|
|
193
|
-
def delete
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
@version.delete('DELETE', @uri, headers: headers)
|
|
188
|
+
def delete
|
|
189
|
+
@version.delete('DELETE', @uri)
|
|
197
190
|
end
|
|
198
191
|
|
|
199
192
|
##
|
|
200
193
|
# Fetch the EntityInstance
|
|
201
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
202
194
|
# @return [EntityInstance] Fetched EntityInstance
|
|
203
|
-
def fetch
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
payload = @version.fetch('GET', @uri, headers: headers)
|
|
195
|
+
def fetch
|
|
196
|
+
payload = @version.fetch('GET', @uri)
|
|
207
197
|
|
|
208
198
|
EntityInstance.new(
|
|
209
199
|
@version,
|
|
@@ -273,7 +263,7 @@ module Twilio
|
|
|
273
263
|
end
|
|
274
264
|
|
|
275
265
|
##
|
|
276
|
-
# PLEASE NOTE that this class contains
|
|
266
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
277
267
|
class EntityInstance < InstanceResource
|
|
278
268
|
##
|
|
279
269
|
# Initialize the EntityInstance
|
|
@@ -364,18 +354,16 @@ module Twilio
|
|
|
364
354
|
|
|
365
355
|
##
|
|
366
356
|
# Delete the EntityInstance
|
|
367
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
368
357
|
# @return [Boolean] true if delete succeeds, false otherwise
|
|
369
|
-
def delete
|
|
370
|
-
context.delete
|
|
358
|
+
def delete
|
|
359
|
+
context.delete
|
|
371
360
|
end
|
|
372
361
|
|
|
373
362
|
##
|
|
374
363
|
# Fetch the EntityInstance
|
|
375
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
376
364
|
# @return [EntityInstance] Fetched EntityInstance
|
|
377
|
-
def fetch
|
|
378
|
-
context.fetch
|
|
365
|
+
def fetch
|
|
366
|
+
context.fetch
|
|
379
367
|
end
|
|
380
368
|
|
|
381
369
|
##
|
|
@@ -13,7 +13,7 @@ module Twilio
|
|
|
13
13
|
class ServiceContext < InstanceContext
|
|
14
14
|
class EntityContext < InstanceContext
|
|
15
15
|
##
|
|
16
|
-
# PLEASE NOTE that this class contains
|
|
16
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
17
17
|
class ChallengeList < ListResource
|
|
18
18
|
##
|
|
19
19
|
# Initialize the ChallengeList
|
|
@@ -33,32 +33,29 @@ module Twilio
|
|
|
33
33
|
##
|
|
34
34
|
# Create the ChallengeInstance
|
|
35
35
|
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
36
|
-
# @param [Time] expiration_date The
|
|
37
|
-
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
# `date`
|
|
47
|
-
# @param [String] hidden_details Details provided to give context about the
|
|
36
|
+
# @param [Time] expiration_date The date-time when this Challenge expires, given
|
|
37
|
+
# in {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] format. The default value
|
|
38
|
+
# is five (5) minutes after Challenge creation. The max value is sixty (60)
|
|
39
|
+
# minutes after creation.
|
|
40
|
+
# @param [String] details_message Shown to the user when the push notification
|
|
41
|
+
# arrives. Required when `factor_type` is `push`
|
|
42
|
+
# @param [Hash] details_fields A list of objects that describe the Fields included
|
|
43
|
+
# in the Challenge. Each object contains the label and value of the field. Used
|
|
44
|
+
# when `factor_type` is `push`.
|
|
45
|
+
# @param [Hash] hidden_details Details provided to give context about the
|
|
48
46
|
# Challenge. Not shown to the end user. It must be a stringified JSON with only
|
|
49
47
|
# strings values eg. `{"ip": "172.168.1.234"}`
|
|
50
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
51
48
|
# @return [ChallengeInstance] Created ChallengeInstance
|
|
52
|
-
def create(factor_sid: nil, expiration_date: :unset,
|
|
49
|
+
def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset)
|
|
53
50
|
data = Twilio::Values.of({
|
|
54
51
|
'FactorSid' => factor_sid,
|
|
55
52
|
'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
|
|
56
|
-
'Details' =>
|
|
57
|
-
'
|
|
53
|
+
'Details.Message' => details_message,
|
|
54
|
+
'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
|
|
55
|
+
'HiddenDetails' => Twilio.serialize_object(hidden_details),
|
|
58
56
|
})
|
|
59
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
60
57
|
|
|
61
|
-
payload = @version.create('POST', @uri, data: data
|
|
58
|
+
payload = @version.create('POST', @uri, data: data)
|
|
62
59
|
|
|
63
60
|
ChallengeInstance.new(
|
|
64
61
|
@version,
|
|
@@ -75,7 +72,6 @@ module Twilio
|
|
|
75
72
|
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
76
73
|
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
|
77
74
|
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
|
78
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
79
75
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
80
76
|
# guarantees to never return more than limit. Default is no limit
|
|
81
77
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -83,14 +79,8 @@ module Twilio
|
|
|
83
79
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
84
80
|
# efficient page size, i.e. min(limit, 1000)
|
|
85
81
|
# @return [Array] Array of up to limit results
|
|
86
|
-
def list(factor_sid: :unset, status: :unset,
|
|
87
|
-
self.stream(
|
|
88
|
-
factor_sid: factor_sid,
|
|
89
|
-
status: status,
|
|
90
|
-
twilio_sandbox_mode: twilio_sandbox_mode,
|
|
91
|
-
limit: limit,
|
|
92
|
-
page_size: page_size
|
|
93
|
-
).entries
|
|
82
|
+
def list(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
|
|
83
|
+
self.stream(factor_sid: factor_sid, status: status, limit: limit, page_size: page_size).entries
|
|
94
84
|
end
|
|
95
85
|
|
|
96
86
|
##
|
|
@@ -100,7 +90,6 @@ module Twilio
|
|
|
100
90
|
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
101
91
|
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
|
102
92
|
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
|
103
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
104
93
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
105
94
|
# guarantees to never return more than limit. Default is no limit.
|
|
106
95
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -108,15 +97,10 @@ module Twilio
|
|
|
108
97
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
109
98
|
# efficient page size, i.e. min(limit, 1000)
|
|
110
99
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
111
|
-
def stream(factor_sid: :unset, status: :unset,
|
|
100
|
+
def stream(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
|
|
112
101
|
limits = @version.read_limits(limit, page_size)
|
|
113
102
|
|
|
114
|
-
page = self.page(
|
|
115
|
-
factor_sid: factor_sid,
|
|
116
|
-
status: status,
|
|
117
|
-
twilio_sandbox_mode: twilio_sandbox_mode,
|
|
118
|
-
page_size: limits[:page_size],
|
|
119
|
-
)
|
|
103
|
+
page = self.page(factor_sid: factor_sid, status: status, page_size: limits[:page_size], )
|
|
120
104
|
|
|
121
105
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
122
106
|
end
|
|
@@ -141,12 +125,11 @@ module Twilio
|
|
|
141
125
|
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
142
126
|
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
|
143
127
|
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
|
144
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
145
128
|
# @param [String] page_token PageToken provided by the API
|
|
146
129
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
147
130
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
148
131
|
# @return [Page] Page of ChallengeInstance
|
|
149
|
-
def page(factor_sid: :unset, status: :unset,
|
|
132
|
+
def page(factor_sid: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
150
133
|
params = Twilio::Values.of({
|
|
151
134
|
'FactorSid' => factor_sid,
|
|
152
135
|
'Status' => status,
|
|
@@ -154,9 +137,8 @@ module Twilio
|
|
|
154
137
|
'Page' => page_number,
|
|
155
138
|
'PageSize' => page_size,
|
|
156
139
|
})
|
|
157
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
158
140
|
|
|
159
|
-
response = @version.page('GET', @uri, params: params
|
|
141
|
+
response = @version.page('GET', @uri, params: params)
|
|
160
142
|
|
|
161
143
|
ChallengePage.new(@version, response, @solution)
|
|
162
144
|
end
|
|
@@ -182,7 +164,7 @@ module Twilio
|
|
|
182
164
|
end
|
|
183
165
|
|
|
184
166
|
##
|
|
185
|
-
# PLEASE NOTE that this class contains
|
|
167
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
186
168
|
class ChallengePage < Page
|
|
187
169
|
##
|
|
188
170
|
# Initialize the ChallengePage
|
|
@@ -218,7 +200,7 @@ module Twilio
|
|
|
218
200
|
end
|
|
219
201
|
|
|
220
202
|
##
|
|
221
|
-
# PLEASE NOTE that this class contains
|
|
203
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
222
204
|
class ChallengeContext < InstanceContext
|
|
223
205
|
##
|
|
224
206
|
# Initialize the ChallengeContext
|
|
@@ -240,12 +222,9 @@ module Twilio
|
|
|
240
222
|
|
|
241
223
|
##
|
|
242
224
|
# Fetch the ChallengeInstance
|
|
243
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
244
225
|
# @return [ChallengeInstance] Fetched ChallengeInstance
|
|
245
|
-
def fetch
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
payload = @version.fetch('GET', @uri, headers: headers)
|
|
226
|
+
def fetch
|
|
227
|
+
payload = @version.fetch('GET', @uri)
|
|
249
228
|
|
|
250
229
|
ChallengeInstance.new(
|
|
251
230
|
@version,
|
|
@@ -260,13 +239,11 @@ module Twilio
|
|
|
260
239
|
# Update the ChallengeInstance
|
|
261
240
|
# @param [String] auth_payload The optional payload needed to verify the
|
|
262
241
|
# Challenge. E.g., a TOTP would use the numeric code.
|
|
263
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
264
242
|
# @return [ChallengeInstance] Updated ChallengeInstance
|
|
265
|
-
def update(auth_payload: :unset
|
|
243
|
+
def update(auth_payload: :unset)
|
|
266
244
|
data = Twilio::Values.of({'AuthPayload' => auth_payload, })
|
|
267
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
268
245
|
|
|
269
|
-
payload = @version.update('POST', @uri, data: data
|
|
246
|
+
payload = @version.update('POST', @uri, data: data)
|
|
270
247
|
|
|
271
248
|
ChallengeInstance.new(
|
|
272
249
|
@version,
|
|
@@ -293,7 +270,7 @@ module Twilio
|
|
|
293
270
|
end
|
|
294
271
|
|
|
295
272
|
##
|
|
296
|
-
# PLEASE NOTE that this class contains
|
|
273
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
297
274
|
class ChallengeInstance < InstanceResource
|
|
298
275
|
##
|
|
299
276
|
# Initialize the ChallengeInstance
|
|
@@ -404,7 +381,7 @@ module Twilio
|
|
|
404
381
|
end
|
|
405
382
|
|
|
406
383
|
##
|
|
407
|
-
# @return [Time] The date this Challenge
|
|
384
|
+
# @return [Time] The date-time when this Challenge expires
|
|
408
385
|
def expiration_date
|
|
409
386
|
@properties['expiration_date']
|
|
410
387
|
end
|
|
@@ -422,13 +399,13 @@ module Twilio
|
|
|
422
399
|
end
|
|
423
400
|
|
|
424
401
|
##
|
|
425
|
-
# @return [
|
|
402
|
+
# @return [Hash] Details about the Challenge.
|
|
426
403
|
def details
|
|
427
404
|
@properties['details']
|
|
428
405
|
end
|
|
429
406
|
|
|
430
407
|
##
|
|
431
|
-
# @return [
|
|
408
|
+
# @return [Hash] Hidden details about the Challenge
|
|
432
409
|
def hidden_details
|
|
433
410
|
@properties['hidden_details']
|
|
434
411
|
end
|
|
@@ -447,20 +424,18 @@ module Twilio
|
|
|
447
424
|
|
|
448
425
|
##
|
|
449
426
|
# Fetch the ChallengeInstance
|
|
450
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
451
427
|
# @return [ChallengeInstance] Fetched ChallengeInstance
|
|
452
|
-
def fetch
|
|
453
|
-
context.fetch
|
|
428
|
+
def fetch
|
|
429
|
+
context.fetch
|
|
454
430
|
end
|
|
455
431
|
|
|
456
432
|
##
|
|
457
433
|
# Update the ChallengeInstance
|
|
458
434
|
# @param [String] auth_payload The optional payload needed to verify the
|
|
459
435
|
# Challenge. E.g., a TOTP would use the numeric code.
|
|
460
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
461
436
|
# @return [ChallengeInstance] Updated ChallengeInstance
|
|
462
|
-
def update(auth_payload: :unset
|
|
463
|
-
context.update(auth_payload: auth_payload,
|
|
437
|
+
def update(auth_payload: :unset)
|
|
438
|
+
context.update(auth_payload: auth_payload, )
|
|
464
439
|
end
|
|
465
440
|
|
|
466
441
|
##
|
|
@@ -13,7 +13,7 @@ module Twilio
|
|
|
13
13
|
class ServiceContext < InstanceContext
|
|
14
14
|
class EntityContext < InstanceContext
|
|
15
15
|
##
|
|
16
|
-
# PLEASE NOTE that this class contains
|
|
16
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
17
17
|
class FactorList < ListResource
|
|
18
18
|
##
|
|
19
19
|
# Initialize the FactorList
|
|
@@ -33,28 +33,38 @@ module Twilio
|
|
|
33
33
|
|
|
34
34
|
##
|
|
35
35
|
# Create the FactorInstance
|
|
36
|
-
# @param [String] binding A unique binding for this Factor that identifies it.
|
|
37
|
-
# E.g. the algorithm and public key for `push` factors. It must be a json string
|
|
38
|
-
# with the required properties for the given factor type. Required when creating a
|
|
39
|
-
# new Factor. This value is never returned because it can contain customer
|
|
40
|
-
# secrets.
|
|
41
36
|
# @param [String] friendly_name The friendly name of this Factor
|
|
42
37
|
# @param [factor.FactorTypes] factor_type The Type of this Factor. Currently only
|
|
43
38
|
# `push` is supported
|
|
44
|
-
# @param [String]
|
|
45
|
-
#
|
|
46
|
-
# @param [String]
|
|
39
|
+
# @param [String] binding_alg The algorithm used when `factor_type` is `push`.
|
|
40
|
+
# Algorithm supported: `ES256`
|
|
41
|
+
# @param [String] binding_public_key The Ecdsa public key in PKIX, ASN.1 DER
|
|
42
|
+
# format encoded in Base64
|
|
43
|
+
# @param [String] config_app_id The ID that uniquely identifies your app in the
|
|
44
|
+
# Google or Apple store, such as `com.example.myapp`. Required when `factor_type`
|
|
45
|
+
# is `push`
|
|
46
|
+
# @param [factor.NotificationPlatforms] config_notification_platform The transport
|
|
47
|
+
# technology used to generate the Notification Token. Can be `apn` or `fcm`.
|
|
48
|
+
# Required when `factor_type` is `push`
|
|
49
|
+
# @param [String] config_notification_token For APN, the device token. For FCM the
|
|
50
|
+
# registration token. It used to send the push notifications. Required when
|
|
51
|
+
# `factor_type` is `push`
|
|
52
|
+
# @param [String] config_sdk_version The Verify Push SDK version used to configure
|
|
53
|
+
# the factor
|
|
47
54
|
# @return [FactorInstance] Created FactorInstance
|
|
48
|
-
def create(
|
|
55
|
+
def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset)
|
|
49
56
|
data = Twilio::Values.of({
|
|
50
|
-
'Binding' => binding,
|
|
51
57
|
'FriendlyName' => friendly_name,
|
|
52
58
|
'FactorType' => factor_type,
|
|
53
|
-
'
|
|
59
|
+
'Binding.Alg' => binding_alg,
|
|
60
|
+
'Binding.PublicKey' => binding_public_key,
|
|
61
|
+
'Config.AppId' => config_app_id,
|
|
62
|
+
'Config.NotificationPlatform' => config_notification_platform,
|
|
63
|
+
'Config.NotificationToken' => config_notification_token,
|
|
64
|
+
'Config.SdkVersion' => config_sdk_version,
|
|
54
65
|
})
|
|
55
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
56
66
|
|
|
57
|
-
payload = @version.create('POST', @uri, data: data
|
|
67
|
+
payload = @version.create('POST', @uri, data: data)
|
|
58
68
|
|
|
59
69
|
FactorInstance.new(
|
|
60
70
|
@version,
|
|
@@ -68,7 +78,6 @@ module Twilio
|
|
|
68
78
|
# Lists FactorInstance records from the API as a list.
|
|
69
79
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
70
80
|
# memory before returning.
|
|
71
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
72
81
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
73
82
|
# guarantees to never return more than limit. Default is no limit
|
|
74
83
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -76,15 +85,14 @@ module Twilio
|
|
|
76
85
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
77
86
|
# efficient page size, i.e. min(limit, 1000)
|
|
78
87
|
# @return [Array] Array of up to limit results
|
|
79
|
-
def list(
|
|
80
|
-
self.stream(
|
|
88
|
+
def list(limit: nil, page_size: nil)
|
|
89
|
+
self.stream(limit: limit, page_size: page_size).entries
|
|
81
90
|
end
|
|
82
91
|
|
|
83
92
|
##
|
|
84
93
|
# Streams FactorInstance records from the API as an Enumerable.
|
|
85
94
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
86
95
|
# is reached.
|
|
87
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
88
96
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
89
97
|
# guarantees to never return more than limit. Default is no limit.
|
|
90
98
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -92,10 +100,10 @@ module Twilio
|
|
|
92
100
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
93
101
|
# efficient page size, i.e. min(limit, 1000)
|
|
94
102
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
95
|
-
def stream(
|
|
103
|
+
def stream(limit: nil, page_size: nil)
|
|
96
104
|
limits = @version.read_limits(limit, page_size)
|
|
97
105
|
|
|
98
|
-
page = self.page(
|
|
106
|
+
page = self.page(page_size: limits[:page_size], )
|
|
99
107
|
|
|
100
108
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
101
109
|
end
|
|
@@ -117,20 +125,18 @@ module Twilio
|
|
|
117
125
|
##
|
|
118
126
|
# Retrieve a single page of FactorInstance records from the API.
|
|
119
127
|
# Request is executed immediately.
|
|
120
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
121
128
|
# @param [String] page_token PageToken provided by the API
|
|
122
129
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
123
130
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
124
131
|
# @return [Page] Page of FactorInstance
|
|
125
|
-
def page(
|
|
132
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
126
133
|
params = Twilio::Values.of({
|
|
127
134
|
'PageToken' => page_token,
|
|
128
135
|
'Page' => page_number,
|
|
129
136
|
'PageSize' => page_size,
|
|
130
137
|
})
|
|
131
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
132
138
|
|
|
133
|
-
response = @version.page('GET', @uri, params: params
|
|
139
|
+
response = @version.page('GET', @uri, params: params)
|
|
134
140
|
|
|
135
141
|
FactorPage.new(@version, response, @solution)
|
|
136
142
|
end
|
|
@@ -156,7 +162,7 @@ module Twilio
|
|
|
156
162
|
end
|
|
157
163
|
|
|
158
164
|
##
|
|
159
|
-
# PLEASE NOTE that this class contains
|
|
165
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
160
166
|
class FactorPage < Page
|
|
161
167
|
##
|
|
162
168
|
# Initialize the FactorPage
|
|
@@ -192,7 +198,7 @@ module Twilio
|
|
|
192
198
|
end
|
|
193
199
|
|
|
194
200
|
##
|
|
195
|
-
# PLEASE NOTE that this class contains
|
|
201
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
196
202
|
class FactorContext < InstanceContext
|
|
197
203
|
##
|
|
198
204
|
# Initialize the FactorContext
|
|
@@ -212,22 +218,16 @@ module Twilio
|
|
|
212
218
|
|
|
213
219
|
##
|
|
214
220
|
# Delete the FactorInstance
|
|
215
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
216
221
|
# @return [Boolean] true if delete succeeds, false otherwise
|
|
217
|
-
def delete
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
@version.delete('DELETE', @uri, headers: headers)
|
|
222
|
+
def delete
|
|
223
|
+
@version.delete('DELETE', @uri)
|
|
221
224
|
end
|
|
222
225
|
|
|
223
226
|
##
|
|
224
227
|
# Fetch the FactorInstance
|
|
225
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
226
228
|
# @return [FactorInstance] Fetched FactorInstance
|
|
227
|
-
def fetch
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
payload = @version.fetch('GET', @uri, headers: headers)
|
|
229
|
+
def fetch
|
|
230
|
+
payload = @version.fetch('GET', @uri)
|
|
231
231
|
|
|
232
232
|
FactorInstance.new(
|
|
233
233
|
@version,
|
|
@@ -243,19 +243,21 @@ module Twilio
|
|
|
243
243
|
# @param [String] auth_payload The optional payload needed to verify the Factor
|
|
244
244
|
# for the first time. E.g. for a TOTP, the numeric code.
|
|
245
245
|
# @param [String] friendly_name The new friendly name of this Factor
|
|
246
|
-
# @param [String]
|
|
247
|
-
#
|
|
248
|
-
#
|
|
246
|
+
# @param [String] config_notification_token For APN, the device token. For FCM the
|
|
247
|
+
# registration token. It used to send the push notifications. Required when
|
|
248
|
+
# `factor_type` is `push`
|
|
249
|
+
# @param [String] config_sdk_version The Verify Push SDK version used to configure
|
|
250
|
+
# the factor
|
|
249
251
|
# @return [FactorInstance] Updated FactorInstance
|
|
250
|
-
def update(auth_payload: :unset, friendly_name: :unset,
|
|
252
|
+
def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
|
|
251
253
|
data = Twilio::Values.of({
|
|
252
254
|
'AuthPayload' => auth_payload,
|
|
253
255
|
'FriendlyName' => friendly_name,
|
|
254
|
-
'Config' =>
|
|
256
|
+
'Config.NotificationToken' => config_notification_token,
|
|
257
|
+
'Config.SdkVersion' => config_sdk_version,
|
|
255
258
|
})
|
|
256
|
-
headers = Twilio::Values.of({'Twilio-Sandbox-Mode' => twilio_sandbox_mode, })
|
|
257
259
|
|
|
258
|
-
payload = @version.update('POST', @uri, data: data
|
|
260
|
+
payload = @version.update('POST', @uri, data: data)
|
|
259
261
|
|
|
260
262
|
FactorInstance.new(
|
|
261
263
|
@version,
|
|
@@ -282,7 +284,7 @@ module Twilio
|
|
|
282
284
|
end
|
|
283
285
|
|
|
284
286
|
##
|
|
285
|
-
# PLEASE NOTE that this class contains
|
|
287
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
286
288
|
class FactorInstance < InstanceResource
|
|
287
289
|
##
|
|
288
290
|
# Initialize the FactorInstance
|
|
@@ -395,7 +397,7 @@ module Twilio
|
|
|
395
397
|
end
|
|
396
398
|
|
|
397
399
|
##
|
|
398
|
-
# @return [Hash]
|
|
400
|
+
# @return [Hash] Configurations for a `factor_type`.
|
|
399
401
|
def config
|
|
400
402
|
@properties['config']
|
|
401
403
|
end
|
|
@@ -408,18 +410,16 @@ module Twilio
|
|
|
408
410
|
|
|
409
411
|
##
|
|
410
412
|
# Delete the FactorInstance
|
|
411
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
412
413
|
# @return [Boolean] true if delete succeeds, false otherwise
|
|
413
|
-
def delete
|
|
414
|
-
context.delete
|
|
414
|
+
def delete
|
|
415
|
+
context.delete
|
|
415
416
|
end
|
|
416
417
|
|
|
417
418
|
##
|
|
418
419
|
# Fetch the FactorInstance
|
|
419
|
-
# @param [String] twilio_sandbox_mode The Twilio-Sandbox-Mode HTTP request header
|
|
420
420
|
# @return [FactorInstance] Fetched FactorInstance
|
|
421
|
-
def fetch
|
|
422
|
-
context.fetch
|
|
421
|
+
def fetch
|
|
422
|
+
context.fetch
|
|
423
423
|
end
|
|
424
424
|
|
|
425
425
|
##
|
|
@@ -427,16 +427,18 @@ module Twilio
|
|
|
427
427
|
# @param [String] auth_payload The optional payload needed to verify the Factor
|
|
428
428
|
# for the first time. E.g. for a TOTP, the numeric code.
|
|
429
429
|
# @param [String] friendly_name The new friendly name of this Factor
|
|
430
|
-
# @param [String]
|
|
431
|
-
#
|
|
432
|
-
#
|
|
430
|
+
# @param [String] config_notification_token For APN, the device token. For FCM the
|
|
431
|
+
# registration token. It used to send the push notifications. Required when
|
|
432
|
+
# `factor_type` is `push`
|
|
433
|
+
# @param [String] config_sdk_version The Verify Push SDK version used to configure
|
|
434
|
+
# the factor
|
|
433
435
|
# @return [FactorInstance] Updated FactorInstance
|
|
434
|
-
def update(auth_payload: :unset, friendly_name: :unset,
|
|
436
|
+
def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
|
|
435
437
|
context.update(
|
|
436
438
|
auth_payload: auth_payload,
|
|
437
439
|
friendly_name: friendly_name,
|
|
438
|
-
|
|
439
|
-
|
|
440
|
+
config_notification_token: config_notification_token,
|
|
441
|
+
config_sdk_version: config_sdk_version,
|
|
440
442
|
)
|
|
441
443
|
end
|
|
442
444
|
|