twilio-ruby 7.11.3 → 7.13.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 +277 -0
- data/Gemfile.lock +2 -2
- data/README.md +2 -2
- data/examples/WebhookSignatureValidation.md +61 -0
- data/lib/rack/twilio_webhook_authentication.rb +30 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +7 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
- data/lib/twilio-ruby/rest/client.rb +5 -0
- data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +108 -1
- data/lib/twilio-ruby/rest/content/v1/content.rb +10 -4
- data/lib/twilio-ruby/rest/conversations/v2/action.rb +9 -2
- data/lib/twilio-ruby/rest/conversations/v2/communication.rb +4 -1
- data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +21 -0
- data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +226 -7
- data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +1 -1
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +1 -1
- data/lib/twilio-ruby/rest/insights/v3/custom_field_mapping.rb +512 -17
- data/lib/twilio-ruby/rest/insights/v3/{capacity.rb → custom_field_mappings_capacity.rb} +26 -26
- data/lib/twilio-ruby/rest/insights/v3.rb +17 -7
- data/lib/twilio-ruby/rest/memory/v1/bulk.rb +22 -1
- data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +5 -5
- data/lib/twilio-ruby/rest/memory/v1/import.rb +21 -7
- data/lib/twilio-ruby/rest/memory/v1/observation.rb +9 -9
- data/lib/twilio-ruby/rest/memory/v1/revision.rb +1 -1
- data/lib/twilio-ruby/rest/memory/v1/store.rb +7 -0
- data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +30 -2
- data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +30 -6
- data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +30 -6
- data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +45 -6
- data/lib/twilio-ruby/rest/numbers/v1.rb +0 -6
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +40 -0
- data/lib/twilio-ruby/rest/routes/v3/iso_country_code.rb +402 -0
- data/lib/twilio-ruby/rest/routes/v3.rb +43 -0
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +5 -5
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +4 -4
- data/lib/twilio-ruby/rest/trusthub/v1.rb +2 -2
- data/lib/twilio-ruby/rest/webhooks/v1/auth_profile.rb +825 -0
- data/lib/twilio-ruby/rest/webhooks/v1/edge_zone.rb +320 -0
- data/lib/twilio-ruby/rest/webhooks/v1/operation.rb +513 -0
- data/lib/twilio-ruby/rest/webhooks/v1/rule.rb +818 -0
- data/lib/twilio-ruby/rest/webhooks/v1/setting.rb +1028 -0
- data/lib/twilio-ruby/rest/webhooks/v1/shared_key.rb +722 -0
- data/lib/twilio-ruby/rest/webhooks/v1/test.rb +228 -0
- data/lib/twilio-ruby/rest/webhooks/v1.rb +126 -0
- data/lib/twilio-ruby/rest/webhooks.rb +6 -0
- data/lib/twilio-ruby/rest/webhooks_base.rb +38 -0
- data/lib/twilio-ruby/security/request_validator.rb +54 -8
- data/lib/twilio-ruby/twiml/voice_response.rb +20 -5
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +15 -5
- data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +0 -165
- data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +0 -200
|
@@ -87,7 +87,7 @@ module Twilio
|
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
class CreateConversationWithConfigRequest
|
|
90
|
-
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
90
|
+
# @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
|
|
91
91
|
# @param [name]: [String] The name of the conversation.
|
|
92
92
|
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
93
93
|
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
@@ -112,21 +112,87 @@ module Twilio
|
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
class CreateConversationWithConfigRequestConfiguration
|
|
115
|
+
# @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
|
|
116
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
117
|
+
# @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
|
|
118
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
|
|
115
119
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
120
|
+
# @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
|
|
121
|
+
# @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
|
|
122
|
+
# @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
|
|
116
123
|
# @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
|
|
117
|
-
attr_accessor :intelligence_configuration_ids, :workflows
|
|
124
|
+
attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
|
|
118
125
|
def initialize(payload)
|
|
126
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
127
|
+
@memory_store_id = payload["memory_store_id"]
|
|
128
|
+
@channel_settings = payload["channel_settings"]
|
|
129
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
119
130
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
131
|
+
@trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
|
|
132
|
+
@observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
|
|
133
|
+
@status_callbacks = payload["status_callbacks"]
|
|
120
134
|
@workflows = payload["workflows"]
|
|
121
135
|
end
|
|
122
136
|
def to_json(options = {})
|
|
123
137
|
{
|
|
138
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
139
|
+
"memoryStoreId": @memory_store_id,
|
|
140
|
+
"channelSettings": @channel_settings,
|
|
141
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
124
142
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
143
|
+
"traitExtractionStrategyIds": @trait_extraction_strategy_ids,
|
|
144
|
+
"observationExtractionStrategyIds": @observation_extraction_strategy_ids,
|
|
145
|
+
"statusCallbacks": @status_callbacks,
|
|
125
146
|
"workflows": @workflows,
|
|
126
147
|
}.to_json(options)
|
|
127
148
|
end
|
|
128
149
|
end
|
|
129
150
|
|
|
151
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
|
|
152
|
+
# @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
|
|
153
|
+
attr_accessor :status_timeouts
|
|
154
|
+
def initialize(payload)
|
|
155
|
+
@status_timeouts = payload["status_timeouts"]
|
|
156
|
+
end
|
|
157
|
+
def to_json(options = {})
|
|
158
|
+
{
|
|
159
|
+
"statusTimeouts": @status_timeouts,
|
|
160
|
+
}.to_json(options)
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
|
|
165
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
166
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
167
|
+
attr_accessor :inactive, :closed
|
|
168
|
+
def initialize(payload)
|
|
169
|
+
@inactive = payload["inactive"]
|
|
170
|
+
@closed = payload["closed"]
|
|
171
|
+
end
|
|
172
|
+
def to_json(options = {})
|
|
173
|
+
{
|
|
174
|
+
"inactive": @inactive,
|
|
175
|
+
"closed": @closed,
|
|
176
|
+
}.to_json(options)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
class CreateConversationWithConfigRequestConfigurationStatusCallbacks
|
|
181
|
+
# @param [url]: [String] Destination URL for webhooks.
|
|
182
|
+
# @param [method]: [String] HTTP method used to invoke the webhook URL.
|
|
183
|
+
attr_accessor :url, :method
|
|
184
|
+
def initialize(payload)
|
|
185
|
+
@url = payload["url"]
|
|
186
|
+
@method = payload["method"]
|
|
187
|
+
end
|
|
188
|
+
def to_json(options = {})
|
|
189
|
+
{
|
|
190
|
+
"url": @url,
|
|
191
|
+
"method": @method,
|
|
192
|
+
}.to_json(options)
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
130
196
|
class CreateConversationWithConfigRequestParticipants
|
|
131
197
|
# @param [name]: [String] Display name for the Participant.
|
|
132
198
|
# @param [type]: [String] Type of Participant in the Conversation.
|
|
@@ -291,7 +357,7 @@ module Twilio
|
|
|
291
357
|
end
|
|
292
358
|
|
|
293
359
|
class CreateConversationWithConfigRequest
|
|
294
|
-
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
360
|
+
# @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
|
|
295
361
|
# @param [name]: [String] The name of the conversation.
|
|
296
362
|
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
297
363
|
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
@@ -316,21 +382,87 @@ module Twilio
|
|
|
316
382
|
end
|
|
317
383
|
|
|
318
384
|
class CreateConversationWithConfigRequestConfiguration
|
|
385
|
+
# @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
|
|
386
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
387
|
+
# @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
|
|
388
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
|
|
319
389
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
390
|
+
# @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
|
|
391
|
+
# @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
|
|
392
|
+
# @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
|
|
320
393
|
# @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
|
|
321
|
-
attr_accessor :intelligence_configuration_ids, :workflows
|
|
394
|
+
attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
|
|
322
395
|
def initialize(payload)
|
|
396
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
397
|
+
@memory_store_id = payload["memory_store_id"]
|
|
398
|
+
@channel_settings = payload["channel_settings"]
|
|
399
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
323
400
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
401
|
+
@trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
|
|
402
|
+
@observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
|
|
403
|
+
@status_callbacks = payload["status_callbacks"]
|
|
324
404
|
@workflows = payload["workflows"]
|
|
325
405
|
end
|
|
326
406
|
def to_json(options = {})
|
|
327
407
|
{
|
|
408
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
409
|
+
"memoryStoreId": @memory_store_id,
|
|
410
|
+
"channelSettings": @channel_settings,
|
|
411
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
328
412
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
413
|
+
"traitExtractionStrategyIds": @trait_extraction_strategy_ids,
|
|
414
|
+
"observationExtractionStrategyIds": @observation_extraction_strategy_ids,
|
|
415
|
+
"statusCallbacks": @status_callbacks,
|
|
329
416
|
"workflows": @workflows,
|
|
330
417
|
}.to_json(options)
|
|
331
418
|
end
|
|
332
419
|
end
|
|
333
420
|
|
|
421
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
|
|
422
|
+
# @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
|
|
423
|
+
attr_accessor :status_timeouts
|
|
424
|
+
def initialize(payload)
|
|
425
|
+
@status_timeouts = payload["status_timeouts"]
|
|
426
|
+
end
|
|
427
|
+
def to_json(options = {})
|
|
428
|
+
{
|
|
429
|
+
"statusTimeouts": @status_timeouts,
|
|
430
|
+
}.to_json(options)
|
|
431
|
+
end
|
|
432
|
+
end
|
|
433
|
+
|
|
434
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
|
|
435
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
436
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
437
|
+
attr_accessor :inactive, :closed
|
|
438
|
+
def initialize(payload)
|
|
439
|
+
@inactive = payload["inactive"]
|
|
440
|
+
@closed = payload["closed"]
|
|
441
|
+
end
|
|
442
|
+
def to_json(options = {})
|
|
443
|
+
{
|
|
444
|
+
"inactive": @inactive,
|
|
445
|
+
"closed": @closed,
|
|
446
|
+
}.to_json(options)
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
class CreateConversationWithConfigRequestConfigurationStatusCallbacks
|
|
451
|
+
# @param [url]: [String] Destination URL for webhooks.
|
|
452
|
+
# @param [method]: [String] HTTP method used to invoke the webhook URL.
|
|
453
|
+
attr_accessor :url, :method
|
|
454
|
+
def initialize(payload)
|
|
455
|
+
@url = payload["url"]
|
|
456
|
+
@method = payload["method"]
|
|
457
|
+
end
|
|
458
|
+
def to_json(options = {})
|
|
459
|
+
{
|
|
460
|
+
"url": @url,
|
|
461
|
+
"method": @method,
|
|
462
|
+
}.to_json(options)
|
|
463
|
+
end
|
|
464
|
+
end
|
|
465
|
+
|
|
334
466
|
class CreateConversationWithConfigRequestParticipants
|
|
335
467
|
# @param [name]: [String] Display name for the Participant.
|
|
336
468
|
# @param [type]: [String] Type of Participant in the Conversation.
|
|
@@ -495,7 +627,7 @@ module Twilio
|
|
|
495
627
|
end
|
|
496
628
|
|
|
497
629
|
class CreateConversationWithConfigRequest
|
|
498
|
-
# @param [configuration_id]: [String] The ID of an existing configuration.
|
|
630
|
+
# @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
|
|
499
631
|
# @param [name]: [String] The name of the conversation.
|
|
500
632
|
# @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
|
|
501
633
|
# @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
|
|
@@ -520,21 +652,87 @@ module Twilio
|
|
|
520
652
|
end
|
|
521
653
|
|
|
522
654
|
class CreateConversationWithConfigRequestConfiguration
|
|
655
|
+
# @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
|
|
656
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
657
|
+
# @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
|
|
658
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
|
|
523
659
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
660
|
+
# @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
|
|
661
|
+
# @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
|
|
662
|
+
# @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
|
|
524
663
|
# @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
|
|
525
|
-
attr_accessor :intelligence_configuration_ids, :workflows
|
|
664
|
+
attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
|
|
526
665
|
def initialize(payload)
|
|
666
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
667
|
+
@memory_store_id = payload["memory_store_id"]
|
|
668
|
+
@channel_settings = payload["channel_settings"]
|
|
669
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
527
670
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
671
|
+
@trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
|
|
672
|
+
@observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
|
|
673
|
+
@status_callbacks = payload["status_callbacks"]
|
|
528
674
|
@workflows = payload["workflows"]
|
|
529
675
|
end
|
|
530
676
|
def to_json(options = {})
|
|
531
677
|
{
|
|
678
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
679
|
+
"memoryStoreId": @memory_store_id,
|
|
680
|
+
"channelSettings": @channel_settings,
|
|
681
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
532
682
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
683
|
+
"traitExtractionStrategyIds": @trait_extraction_strategy_ids,
|
|
684
|
+
"observationExtractionStrategyIds": @observation_extraction_strategy_ids,
|
|
685
|
+
"statusCallbacks": @status_callbacks,
|
|
533
686
|
"workflows": @workflows,
|
|
534
687
|
}.to_json(options)
|
|
535
688
|
end
|
|
536
689
|
end
|
|
537
690
|
|
|
691
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
|
|
692
|
+
# @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
|
|
693
|
+
attr_accessor :status_timeouts
|
|
694
|
+
def initialize(payload)
|
|
695
|
+
@status_timeouts = payload["status_timeouts"]
|
|
696
|
+
end
|
|
697
|
+
def to_json(options = {})
|
|
698
|
+
{
|
|
699
|
+
"statusTimeouts": @status_timeouts,
|
|
700
|
+
}.to_json(options)
|
|
701
|
+
end
|
|
702
|
+
end
|
|
703
|
+
|
|
704
|
+
class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
|
|
705
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
706
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
707
|
+
attr_accessor :inactive, :closed
|
|
708
|
+
def initialize(payload)
|
|
709
|
+
@inactive = payload["inactive"]
|
|
710
|
+
@closed = payload["closed"]
|
|
711
|
+
end
|
|
712
|
+
def to_json(options = {})
|
|
713
|
+
{
|
|
714
|
+
"inactive": @inactive,
|
|
715
|
+
"closed": @closed,
|
|
716
|
+
}.to_json(options)
|
|
717
|
+
end
|
|
718
|
+
end
|
|
719
|
+
|
|
720
|
+
class CreateConversationWithConfigRequestConfigurationStatusCallbacks
|
|
721
|
+
# @param [url]: [String] Destination URL for webhooks.
|
|
722
|
+
# @param [method]: [String] HTTP method used to invoke the webhook URL.
|
|
723
|
+
attr_accessor :url, :method
|
|
724
|
+
def initialize(payload)
|
|
725
|
+
@url = payload["url"]
|
|
726
|
+
@method = payload["method"]
|
|
727
|
+
end
|
|
728
|
+
def to_json(options = {})
|
|
729
|
+
{
|
|
730
|
+
"url": @url,
|
|
731
|
+
"method": @method,
|
|
732
|
+
}.to_json(options)
|
|
733
|
+
end
|
|
734
|
+
end
|
|
735
|
+
|
|
538
736
|
class CreateConversationWithConfigRequestParticipants
|
|
539
737
|
# @param [name]: [String] Display name for the Participant.
|
|
540
738
|
# @param [type]: [String] Type of Participant in the Conversation.
|
|
@@ -1229,7 +1427,10 @@ module Twilio
|
|
|
1229
1427
|
'channel_settings' => payload['channel_settings'],
|
|
1230
1428
|
'status_callbacks' => payload['status_callbacks'],
|
|
1231
1429
|
'intelligence_configuration_ids' => payload['intelligence_configuration_ids'],
|
|
1430
|
+
'trait_extraction_strategy_ids' => payload['trait_extraction_strategy_ids'],
|
|
1431
|
+
'observation_extraction_strategy_ids' => payload['observation_extraction_strategy_ids'],
|
|
1232
1432
|
'memory_extraction_enabled' => payload['memory_extraction_enabled'],
|
|
1433
|
+
'redaction_configuration_id' => payload['redaction_configuration_id'],
|
|
1233
1434
|
'conversations_v1_bridge' => payload['conversations_v1_bridge'],
|
|
1234
1435
|
'version' => payload['version'],
|
|
1235
1436
|
}
|
|
@@ -1263,7 +1464,7 @@ module Twilio
|
|
|
1263
1464
|
end
|
|
1264
1465
|
|
|
1265
1466
|
##
|
|
1266
|
-
# @return [String] Configuration ID.
|
|
1467
|
+
# @return [String] Configuration ID. Null when the Conversation was created with an inline configuration.
|
|
1267
1468
|
def configuration_id
|
|
1268
1469
|
@properties['configuration_id']
|
|
1269
1470
|
end
|
|
@@ -1370,12 +1571,30 @@ module Twilio
|
|
|
1370
1571
|
@properties['intelligence_configuration_ids']
|
|
1371
1572
|
end
|
|
1372
1573
|
|
|
1574
|
+
##
|
|
1575
|
+
# @return [Array<String>] A list of Trait Extraction Strategy IDs.
|
|
1576
|
+
def trait_extraction_strategy_ids
|
|
1577
|
+
@properties['trait_extraction_strategy_ids']
|
|
1578
|
+
end
|
|
1579
|
+
|
|
1580
|
+
##
|
|
1581
|
+
# @return [Array<String>] A list of Observation Extraction Strategy IDs.
|
|
1582
|
+
def observation_extraction_strategy_ids
|
|
1583
|
+
@properties['observation_extraction_strategy_ids']
|
|
1584
|
+
end
|
|
1585
|
+
|
|
1373
1586
|
##
|
|
1374
1587
|
# @return [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
1375
1588
|
def memory_extraction_enabled
|
|
1376
1589
|
@properties['memory_extraction_enabled']
|
|
1377
1590
|
end
|
|
1378
1591
|
|
|
1592
|
+
##
|
|
1593
|
+
# @return [String] The ID of the redaction configuration applied to communications in this configuration's conversations.
|
|
1594
|
+
def redaction_configuration_id
|
|
1595
|
+
@properties['redaction_configuration_id']
|
|
1596
|
+
end
|
|
1597
|
+
|
|
1379
1598
|
##
|
|
1380
1599
|
# @return [ConversationsV2ConversationsV1Bridge]
|
|
1381
1600
|
def conversations_v1_bridge
|
|
@@ -369,7 +369,7 @@ module Twilio
|
|
|
369
369
|
end
|
|
370
370
|
|
|
371
371
|
##
|
|
372
|
-
# @return [Array<String>] Tags
|
|
372
|
+
# @return [Array<String>] [Tags](https://www.twilio.com/docs/voice/voice-insights/api/call/details-call-tags) that Voice Insights analysis applies to calls. They indicate a condition that may influence the subjective experience of call audio quality.
|
|
373
373
|
def tags
|
|
374
374
|
@properties['tags']
|
|
375
375
|
end
|
|
@@ -681,7 +681,7 @@ module Twilio
|
|
|
681
681
|
end
|
|
682
682
|
|
|
683
683
|
##
|
|
684
|
-
# @return [Array<String>] Tags
|
|
684
|
+
# @return [Array<String>] [Tags](https://www.twilio.com/docs/voice/voice-insights/api/call/details-call-tags) that Voice Insights analysis applies to calls. They indicate a condition that may influence the subjective experience of call audio quality.
|
|
685
685
|
def tags
|
|
686
686
|
@properties['tags']
|
|
687
687
|
end
|