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.
@@ -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
- attr_accessor :intelligence_configuration_id, :rule_id, :conversation_id
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: :unset
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: :unset
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: :unset
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: :unset
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: :unset
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: :unset
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: :unset
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: :unset
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: :unset
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] Custom metadata associated with the factor.
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