twilio-ruby 7.11.2 → 7.11.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/.github/workflows/test-and-deploy.yml +13 -1
- data/CHANGES.md +196 -0
- data/Gemfile.lock +2 -2
- data/README.md +2 -2
- data/githooks/pre-commit +11 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +2 -2
- data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +101 -12
- data/lib/twilio-ruby/rest/insights/v3/capacity.rb +161 -0
- data/lib/twilio-ruby/rest/insights/v3/custom_field_mapping.rb +279 -0
- data/lib/twilio-ruby/rest/insights/v3.rb +12 -0
- data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +33 -1
- data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +3 -3
- data/lib/twilio-ruby/rest/memory/v1/store.rb +3 -3
- data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +1 -1
- data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +1 -1
- data/lib/twilio-ruby/rest/voice/v2/recording_account_default_configuration.rb +547 -0
- data/lib/twilio-ruby/rest/voice/v2.rb +6 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +12 -6
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +5 -2
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
|
4
|
+
# | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
|
5
|
+
# | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
|
6
|
+
#
|
|
7
|
+
# Twilio - Insights
|
|
8
|
+
# The Twilio Insights v3 API provides semantic query access to Conversations analytics data. Resources include synchronous Query, Metadata, and asynchronous QueryJobs for long-running queries.
|
|
9
|
+
#
|
|
10
|
+
# NOTE: This class is auto generated by OpenAPI Generator.
|
|
11
|
+
# https://openapi-generator.tech
|
|
12
|
+
# Do not edit the class manually.
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
module Twilio
|
|
17
|
+
module REST
|
|
18
|
+
class Insights < InsightsBase
|
|
19
|
+
class V3 < Version
|
|
20
|
+
class CustomFieldMappingList < ListResource
|
|
21
|
+
|
|
22
|
+
class CustomFieldMappingRequest
|
|
23
|
+
# @param [category]: [MappingCategory]
|
|
24
|
+
# @param [name]: [String] Customer-facing name for the field; becomes the ClickHouse Map key and the platform field alias. Unique per account across every `sourceType` — the Map key namespace is account-global.
|
|
25
|
+
# @param [description]: [String] Optional, free-text description of this custom field mapping. Display-only — not part of any uniqueness check.
|
|
26
|
+
# @param [entity_metadata]: [CustomFieldMappingList.IntelligenceOperatorEntityMetadata]
|
|
27
|
+
attr_accessor :category, :name, :description, :entity_metadata
|
|
28
|
+
def initialize(payload)
|
|
29
|
+
@category = payload["category"]
|
|
30
|
+
@name = payload["name"]
|
|
31
|
+
@description = payload["description"]
|
|
32
|
+
@entity_metadata = payload["entity_metadata"]
|
|
33
|
+
end
|
|
34
|
+
def to_json(options = {})
|
|
35
|
+
{
|
|
36
|
+
"category": @category,
|
|
37
|
+
"name": @name,
|
|
38
|
+
"description": @description,
|
|
39
|
+
"entityMetadata": @entity_metadata,
|
|
40
|
+
}.to_json(options)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
##
|
|
46
|
+
# Initialize the CustomFieldMappingList
|
|
47
|
+
# @param [Version] version Version that contains the resource
|
|
48
|
+
# @return [CustomFieldMappingList] CustomFieldMappingList
|
|
49
|
+
def initialize(version)
|
|
50
|
+
|
|
51
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
52
|
+
super(apiV1Version)
|
|
53
|
+
# Path Solution
|
|
54
|
+
@solution = { }
|
|
55
|
+
@uri = "/ControlPlane/ConversationInsights/CustomFieldMappings"
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
##
|
|
59
|
+
# Create the CustomFieldMappingInstance
|
|
60
|
+
# @param [CustomFieldMappingRequest] custom_field_mapping_request
|
|
61
|
+
# @return [CustomFieldMappingInstance] Created CustomFieldMappingInstance
|
|
62
|
+
def create(custom_field_mapping_request: nil
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
66
|
+
headers['Content-Type'] = 'application/json'
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
payload = @version.create('POST', @uri, headers: headers, data: custom_field_mapping_request.to_json)
|
|
72
|
+
CustomFieldMappingInstance.new(
|
|
73
|
+
@version,
|
|
74
|
+
payload,
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
##
|
|
79
|
+
# Create the CustomFieldMappingInstanceMetadata
|
|
80
|
+
# @param [CustomFieldMappingRequest] custom_field_mapping_request
|
|
81
|
+
# @return [CustomFieldMappingInstance] Created CustomFieldMappingInstance
|
|
82
|
+
def create_with_metadata(custom_field_mapping_request: nil
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
86
|
+
headers['Content-Type'] = 'application/json'
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
response = @version.create_with_metadata('POST', @uri, headers: headers, data: custom_field_mapping_request.to_json)
|
|
92
|
+
custom_field_mapping_instance = CustomFieldMappingInstance.new(
|
|
93
|
+
@version,
|
|
94
|
+
response.body,
|
|
95
|
+
)
|
|
96
|
+
CustomFieldMappingInstanceMetadata.new(
|
|
97
|
+
@version,
|
|
98
|
+
custom_field_mapping_instance,
|
|
99
|
+
response.headers,
|
|
100
|
+
response.status_code
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
##
|
|
105
|
+
# Fetch the CustomFieldMappingInstance
|
|
106
|
+
# @return [CustomFieldMappingInstance] Fetched CustomFieldMappingInstance
|
|
107
|
+
def fetch
|
|
108
|
+
|
|
109
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
payload = @version.fetch('GET', @uri, headers: headers)
|
|
116
|
+
CustomFieldMappingInstance.new(
|
|
117
|
+
@version,
|
|
118
|
+
payload,
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
##
|
|
123
|
+
# Fetch the CustomFieldMappingInstanceMetadata
|
|
124
|
+
# @return [CustomFieldMappingInstance] Fetched CustomFieldMappingInstance
|
|
125
|
+
def fetch_with_metadata
|
|
126
|
+
|
|
127
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
response = @version.fetch_with_metadata('GET', @uri, headers: headers)
|
|
134
|
+
custom_field_mapping_instance = CustomFieldMappingInstance.new(
|
|
135
|
+
@version,
|
|
136
|
+
response.body,
|
|
137
|
+
)
|
|
138
|
+
CustomFieldMappingInstanceMetadata.new(
|
|
139
|
+
@version,
|
|
140
|
+
custom_field_mapping_instance,
|
|
141
|
+
response.headers,
|
|
142
|
+
response.status_code
|
|
143
|
+
)
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
# Provide a user friendly representation
|
|
150
|
+
def to_s
|
|
151
|
+
'#<Twilio.Insights.V3.CustomFieldMappingList>'
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
class CustomFieldMappingPage < TokenPage
|
|
156
|
+
##
|
|
157
|
+
# Initialize the CustomFieldMappingPage
|
|
158
|
+
# @param [Version] version Version that contains the resource
|
|
159
|
+
# @param [Response] response Response from the API
|
|
160
|
+
# @param [Hash] solution Path solution for the resource
|
|
161
|
+
# @return [CustomFieldMappingPage] CustomFieldMappingPage
|
|
162
|
+
def initialize(version, response, solution)
|
|
163
|
+
|
|
164
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
165
|
+
super(apiV1Version, response)
|
|
166
|
+
|
|
167
|
+
# Path Solution
|
|
168
|
+
@solution = solution
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# Build an instance of CustomFieldMappingInstance
|
|
173
|
+
# @param [Hash] payload Payload response from the API
|
|
174
|
+
# @return [CustomFieldMappingInstance] CustomFieldMappingInstance
|
|
175
|
+
def get_instance(payload)
|
|
176
|
+
CustomFieldMappingInstance.new(@version, payload)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
##
|
|
180
|
+
# Provide a user friendly representation
|
|
181
|
+
def to_s
|
|
182
|
+
'<Twilio.Insights.V3.CustomFieldMappingPage>'
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
class CustomFieldMappingInstance < InstanceResource
|
|
187
|
+
##
|
|
188
|
+
# Initialize the CustomFieldMappingInstance
|
|
189
|
+
# @param [Version] version Version that contains the resource
|
|
190
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
191
|
+
# @param [String] account_sid The SID of the
|
|
192
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this CustomFieldMapping
|
|
193
|
+
# resource.
|
|
194
|
+
# @param [String] sid The SID of the Call resource to fetch.
|
|
195
|
+
# @return [CustomFieldMappingInstance] CustomFieldMappingInstance
|
|
196
|
+
def initialize(version, payload )
|
|
197
|
+
|
|
198
|
+
apiV1Version = ApiV1Version.new version.domain, version
|
|
199
|
+
super(apiV1Version)
|
|
200
|
+
|
|
201
|
+
# Marshaled Properties
|
|
202
|
+
@properties = {
|
|
203
|
+
'id' => payload['id'],
|
|
204
|
+
'category' => payload['category'],
|
|
205
|
+
'name' => payload['name'],
|
|
206
|
+
'description' => payload['description'],
|
|
207
|
+
'entity_metadata' => payload['entity_metadata'],
|
|
208
|
+
'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
|
|
209
|
+
'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
|
|
210
|
+
'mappings' => payload['mappings'],
|
|
211
|
+
}
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
##
|
|
216
|
+
# @return [String] TTID for conversation insights custom field mapping
|
|
217
|
+
def id
|
|
218
|
+
@properties['id']
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
##
|
|
222
|
+
# @return [MappingCategory]
|
|
223
|
+
def category
|
|
224
|
+
@properties['category']
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
##
|
|
228
|
+
# @return [String]
|
|
229
|
+
def name
|
|
230
|
+
@properties['name']
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
##
|
|
234
|
+
# @return [String] Optional, free-text description supplied at registration time. Display-only — not part of any uniqueness check.
|
|
235
|
+
def description
|
|
236
|
+
@properties['description']
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
##
|
|
240
|
+
# @return [IntelligenceOperatorEntityMetadata]
|
|
241
|
+
def entity_metadata
|
|
242
|
+
@properties['entity_metadata']
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
##
|
|
246
|
+
# @return [Time] When the mapping was registered.
|
|
247
|
+
def created_at
|
|
248
|
+
@properties['created_at']
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
##
|
|
252
|
+
# @return [Time] When the mapping was last materially modified in-place. Null until the first update-in-place.
|
|
253
|
+
def updated_at
|
|
254
|
+
@properties['updated_at']
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
##
|
|
258
|
+
# @return [Array<CustomFieldMappingResponse>]
|
|
259
|
+
def mappings
|
|
260
|
+
@properties['mappings']
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
##
|
|
264
|
+
# Provide a user friendly representation
|
|
265
|
+
def to_s
|
|
266
|
+
"<Twilio.Insights.V3.CustomFieldMappingInstance>"
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
##
|
|
270
|
+
# Provide a detailed, user friendly representation
|
|
271
|
+
def inspect
|
|
272
|
+
"<Twilio.Insights.V3.CustomFieldMappingInstance>"
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
end
|
|
@@ -21,11 +21,23 @@ module Twilio
|
|
|
21
21
|
def initialize(domain)
|
|
22
22
|
super
|
|
23
23
|
@version = 'v3'
|
|
24
|
+
@capacity = nil
|
|
25
|
+
@custom_field_mappings = nil
|
|
24
26
|
@metadata = nil
|
|
25
27
|
@query = nil
|
|
26
28
|
@query_jobs = nil
|
|
27
29
|
end
|
|
28
30
|
|
|
31
|
+
##
|
|
32
|
+
# @return [Twilio::REST::Insights::V3::CapacityList]
|
|
33
|
+
def capacity
|
|
34
|
+
@capacity ||= CapacityList.new self
|
|
35
|
+
end
|
|
36
|
+
##
|
|
37
|
+
# @return [Twilio::REST::Insights::V3::CustomFieldMappingList]
|
|
38
|
+
def custom_field_mappings
|
|
39
|
+
@custom_field_mappings ||= CustomFieldMappingList.new self
|
|
40
|
+
end
|
|
29
41
|
##
|
|
30
42
|
# @return [Twilio::REST::Insights::V3::MetadataList]
|
|
31
43
|
def metadata
|
|
@@ -23,17 +23,20 @@ module Twilio
|
|
|
23
23
|
# @param [intelligence_configuration_id]: [String] The Intelligence Configuration identifier to execute the Rule within.
|
|
24
24
|
# @param [rule_id]: [String] The rule identifier to execute within the selected Intelligence Configuration.
|
|
25
25
|
# @param [conversation_id]: [String] The Conversation identifier to execute the Rule against.
|
|
26
|
-
|
|
26
|
+
# @param [rule]: [RuleExecutionList.RuleOverride]
|
|
27
|
+
attr_accessor :intelligence_configuration_id, :rule_id, :conversation_id, :rule
|
|
27
28
|
def initialize(payload)
|
|
28
29
|
@intelligence_configuration_id = payload["intelligence_configuration_id"]
|
|
29
30
|
@rule_id = payload["rule_id"]
|
|
30
31
|
@conversation_id = payload["conversation_id"]
|
|
32
|
+
@rule = payload["rule"]
|
|
31
33
|
end
|
|
32
34
|
def to_json(options = {})
|
|
33
35
|
{
|
|
34
36
|
"intelligenceConfigurationId": @intelligence_configuration_id,
|
|
35
37
|
"ruleId": @rule_id,
|
|
36
38
|
"conversationId": @conversation_id,
|
|
39
|
+
"rule": @rule,
|
|
37
40
|
}.to_json(options)
|
|
38
41
|
end
|
|
39
42
|
end
|
|
@@ -105,6 +108,22 @@ module Twilio
|
|
|
105
108
|
end
|
|
106
109
|
end
|
|
107
110
|
|
|
111
|
+
class OperatorOverride
|
|
112
|
+
# @param [id]: [String] The operator id (as configured in the stored rule) to override.
|
|
113
|
+
# @param [parameters]: [Hash<String, Object>] Parameter overrides merged into the stored operator's parameters.
|
|
114
|
+
attr_accessor :id, :parameters
|
|
115
|
+
def initialize(payload)
|
|
116
|
+
@id = payload["id"]
|
|
117
|
+
@parameters = payload["parameters"]
|
|
118
|
+
end
|
|
119
|
+
def to_json(options = {})
|
|
120
|
+
{
|
|
121
|
+
"id": @id,
|
|
122
|
+
"parameters": @parameters,
|
|
123
|
+
}.to_json(options)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
|
|
108
127
|
class ResolvedContext
|
|
109
128
|
# @param [memory]: [ResolvedContextMemory]
|
|
110
129
|
# @param [knowledge]: [ResolvedContextKnowledge]
|
|
@@ -166,6 +185,19 @@ module Twilio
|
|
|
166
185
|
end
|
|
167
186
|
end
|
|
168
187
|
|
|
188
|
+
class RuleOverride
|
|
189
|
+
# @param [operators]: [Array<RuleExecutionList.OperatorOverride>] Operator parameter overrides, merged key-by-key into the stored operator's parameters (override wins on matching keys; unspecified keys retain their stored values). Operators in the stored rule not referenced here execute with their stored parameters unchanged.
|
|
190
|
+
attr_accessor :operators
|
|
191
|
+
def initialize(payload)
|
|
192
|
+
@operators = payload["operators"]
|
|
193
|
+
end
|
|
194
|
+
def to_json(options = {})
|
|
195
|
+
{
|
|
196
|
+
"operators": @operators,
|
|
197
|
+
}.to_json(options)
|
|
198
|
+
end
|
|
199
|
+
end
|
|
200
|
+
|
|
169
201
|
class SystemMetaData
|
|
170
202
|
# @param [resolved_model]: [String] The underlying LLM model used for this execution.
|
|
171
203
|
# @param [latency_ms]: [Integer] Operator execution time in milliseconds.
|
|
@@ -470,7 +470,7 @@ module Twilio
|
|
|
470
470
|
# @return [DataMappingInstance] Patched DataMappingInstance
|
|
471
471
|
def patch(
|
|
472
472
|
if_match: :unset,
|
|
473
|
-
data_mapping_core:
|
|
473
|
+
data_mapping_core: nil
|
|
474
474
|
)
|
|
475
475
|
|
|
476
476
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -495,7 +495,7 @@ module Twilio
|
|
|
495
495
|
# @return [DataMappingInstance] Patchd DataMappingInstance
|
|
496
496
|
def patch_with_metadata(
|
|
497
497
|
if_match: :unset,
|
|
498
|
-
data_mapping_core:
|
|
498
|
+
data_mapping_core: nil
|
|
499
499
|
)
|
|
500
500
|
|
|
501
501
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -807,7 +807,7 @@ module Twilio
|
|
|
807
807
|
# @return [DataMappingInstance] Patched DataMappingInstance
|
|
808
808
|
def patch(
|
|
809
809
|
if_match: :unset,
|
|
810
|
-
data_mapping_core:
|
|
810
|
+
data_mapping_core: nil
|
|
811
811
|
)
|
|
812
812
|
|
|
813
813
|
context.patch(
|
|
@@ -388,7 +388,7 @@ module Twilio
|
|
|
388
388
|
# @return [StoreInstance] Patched StoreInstance
|
|
389
389
|
def patch(
|
|
390
390
|
if_match: :unset,
|
|
391
|
-
patch_store_request:
|
|
391
|
+
patch_store_request: nil
|
|
392
392
|
)
|
|
393
393
|
|
|
394
394
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -412,7 +412,7 @@ module Twilio
|
|
|
412
412
|
# @return [StoreInstance] Patchd StoreInstance
|
|
413
413
|
def patch_with_metadata(
|
|
414
414
|
if_match: :unset,
|
|
415
|
-
patch_store_request:
|
|
415
|
+
patch_store_request: nil
|
|
416
416
|
)
|
|
417
417
|
|
|
418
418
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -716,7 +716,7 @@ module Twilio
|
|
|
716
716
|
# @return [StoreInstance] Patched StoreInstance
|
|
717
717
|
def patch(
|
|
718
718
|
if_match: :unset,
|
|
719
|
-
patch_store_request:
|
|
719
|
+
patch_store_request: nil
|
|
720
720
|
)
|
|
721
721
|
|
|
722
722
|
context.patch(
|
|
@@ -594,7 +594,7 @@ module Twilio
|
|
|
594
594
|
# @return [TraitGroupInstance] Patched TraitGroupInstance
|
|
595
595
|
def patch(
|
|
596
596
|
if_match: :unset,
|
|
597
|
-
patch_trait_group_request:
|
|
597
|
+
patch_trait_group_request: nil
|
|
598
598
|
)
|
|
599
599
|
|
|
600
600
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -619,7 +619,7 @@ module Twilio
|
|
|
619
619
|
# @return [TraitGroupInstance] Patchd TraitGroupInstance
|
|
620
620
|
def patch_with_metadata(
|
|
621
621
|
if_match: :unset,
|
|
622
|
-
patch_trait_group_request:
|
|
622
|
+
patch_trait_group_request: nil
|
|
623
623
|
)
|
|
624
624
|
|
|
625
625
|
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
|
|
@@ -924,7 +924,7 @@ module Twilio
|
|
|
924
924
|
# @return [TraitGroupInstance] Patched TraitGroupInstance
|
|
925
925
|
def patch(
|
|
926
926
|
if_match: :unset,
|
|
927
|
-
patch_trait_group_request:
|
|
927
|
+
patch_trait_group_request: nil
|
|
928
928
|
)
|
|
929
929
|
|
|
930
930
|
context.patch(
|
|
@@ -635,7 +635,7 @@ module Twilio
|
|
|
635
635
|
end
|
|
636
636
|
|
|
637
637
|
##
|
|
638
|
-
# @return [Hash] Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length.
|
|
638
|
+
# @return [Hash] Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\"os\": \"Android\"}`. Can be up to 1024 characters in length. For `passkeys` factors, it contains the `aaguid` of the authenticator once the factor is verified, and `date_last_approved` (ISO 8601) once the factor has been used to approve a challenge.
|
|
639
639
|
def metadata
|
|
640
640
|
@properties['metadata']
|
|
641
641
|
end
|
|
@@ -265,7 +265,7 @@ module Twilio
|
|
|
265
265
|
end
|
|
266
266
|
|
|
267
267
|
##
|
|
268
|
-
# @return [Hash]
|
|
268
|
+
# @return [Hash] Metadata associated with the factor. For `passkeys` factors, it contains the `aaguid` of the authenticator once the factor is verified, and `date_last_approved` (ISO 8601) once the factor has been used to approve a challenge.
|
|
269
269
|
def metadata
|
|
270
270
|
@properties['metadata']
|
|
271
271
|
end
|