twilio-ruby 7.10.7 → 7.11.2
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 +43 -67
- data/.gitignore +0 -1
- data/CHANGES.md +267 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +154 -0
- data/README.md +3 -3
- data/Rakefile +1 -1
- data/lib/rack/twilio_webhook_authentication.rb +45 -2
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -65
- data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +0 -59
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -71
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +6 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +0 -59
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +0 -59
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +0 -59
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -59
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -59
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +0 -59
- data/lib/twilio-ruby/rest/client.rb +0 -5
- data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -60
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +0 -59
- data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -61
- data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
- data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +584 -21
- data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
- data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -69
- data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
- data/lib/twilio-ruby/rest/conversations/v2.rb +55 -49
- data/lib/twilio-ruby/rest/events/v1/schema.rb +0 -59
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +0 -59
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +12 -14
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +2 -4
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +0 -59
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +0 -59
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +0 -59
- data/lib/twilio-ruby/rest/iam/v1/api_key.rb +0 -59
- data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -61
- data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -61
- data/lib/twilio-ruby/rest/iam/v1/token.rb +0 -59
- data/lib/twilio-ruby/rest/iam_base.rb +6 -1
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +0 -59
- data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -59
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
- data/lib/twilio-ruby/rest/insights/v1/call.rb +0 -59
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +0 -59
- data/lib/twilio-ruby/rest/insights/v2/inbound.rb +2 -261
- data/lib/twilio-ruby/rest/insights/v2/inbound_report.rb +258 -0
- data/lib/twilio-ruby/rest/insights/v2/outbound.rb +18 -299
- data/lib/twilio-ruby/rest/insights/v2/outbound_report.rb +258 -0
- data/lib/twilio-ruby/rest/insights/v2/report.rb +27 -184
- data/lib/twilio-ruby/rest/insights/v2.rb +14 -4
- data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -60
- data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -60
- data/lib/twilio-ruby/rest/insights/v3/query_job.rb +654 -0
- data/lib/twilio-ruby/rest/insights/v3/result.rb +195 -0
- data/lib/twilio-ruby/rest/insights/v3.rb +17 -1
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +0 -59
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +0 -59
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +0 -59
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +0 -59
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +0 -59
- data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
- data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +443 -0
- data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +0 -59
- data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
- data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
- data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +0 -59
- data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -176
- data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +0 -59
- data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +0 -59
- data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +0 -59
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +0 -59
- data/lib/twilio-ruby/rest/lookups/v2/query.rb +0 -59
- data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +0 -59
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +0 -59
- data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +0 -59
- data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +0 -59
- data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +0 -59
- data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -177
- data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +15 -9
- data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
- data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -81
- data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -191
- data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
- data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -60
- data/lib/twilio-ruby/rest/memory/v1/observation.rb +72 -22
- data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -60
- data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
- data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -60
- data/lib/twilio-ruby/rest/memory/v1/revision.rb +3 -5
- data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
- data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
- data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
- data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
- data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +2 -4
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
- data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +0 -59
- data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -63
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +172 -0
- data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +179 -0
- data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +186 -0
- data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +165 -0
- data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
- data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +0 -59
- data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +0 -59
- data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +0 -59
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +0 -59
- data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -61
- data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +200 -0
- data/lib/twilio-ruby/rest/oauth/v2/token.rb +10 -63
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -59
- data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +0 -59
- data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +0 -59
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -78
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +0 -59
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +0 -59
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +0 -59
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +0 -59
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +0 -59
- data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +406 -0
- data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
- data/lib/twilio-ruby/rest/routes_base.rb +6 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +0 -59
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +0 -59
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +0 -59
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +0 -59
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +0 -59
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +271 -0
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +174 -0
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +262 -0
- data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +174 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +0 -59
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +0 -59
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +0 -59
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +386 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +386 -0
- data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
- data/lib/twilio-ruby/rest/verify/v2/form.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +3 -62
- data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -61
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +0 -59
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +0 -59
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +0 -59
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +0 -59
- data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +0 -59
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +0 -59
- data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +0 -59
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +0 -59
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +0 -59
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +0 -59
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +0 -59
- data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +497 -0
- data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +297 -0
- data/lib/twilio-ruby/rest/voice/v2/configuration.rb +353 -0
- data/lib/twilio-ruby/rest/voice/v2/recording.rb +557 -0
- data/lib/twilio-ruby/rest/voice/v2/transcription.rb +532 -0
- data/lib/twilio-ruby/rest/voice/v2/type.rb +459 -0
- data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
- data/lib/twilio-ruby/rest/voice/v3/transcription.rb +259 -50
- data/lib/twilio-ruby/rest/voice_base.rb +5 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
- data/lib/twilio-ruby/version.rb +1 -1
- data/twilio-ruby.gemspec +1 -1
- metadata +36 -22
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
- data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
- data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
- data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
- data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
- data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
- data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
- data/lib/twilio-ruby/rest/assistants/v1/session.rb +0 -501
- data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
- data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
- data/lib/twilio-ruby/rest/assistants.rb +0 -6
- data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
- data/lib/twilio-ruby/rest/memory/v1/event.rb +0 -320
|
@@ -57,13 +57,14 @@ module Twilio
|
|
|
57
57
|
class CreateConfigurationRequest
|
|
58
58
|
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
59
59
|
# @param [description]: [String] Human-readable description for the configuration.
|
|
60
|
-
# @param [conversation_grouping_type]: [String]
|
|
60
|
+
# @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.
|
|
61
61
|
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
62
62
|
# @param [channel_settings]: [Hash<String, CreateConfigurationRequestChannelSettingsValue>]
|
|
63
63
|
# @param [status_callbacks]: [Array<ConfigurationList.CreateConfigurationRequestStatusCallbacks>] A list of webhook configurations.
|
|
64
64
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
65
65
|
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
66
|
-
|
|
66
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
67
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
67
68
|
def initialize(payload)
|
|
68
69
|
@display_name = payload["display_name"]
|
|
69
70
|
@description = payload["description"]
|
|
@@ -73,6 +74,7 @@ module Twilio
|
|
|
73
74
|
@status_callbacks = payload["status_callbacks"]
|
|
74
75
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
75
76
|
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
77
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
76
78
|
end
|
|
77
79
|
def to_json(options = {})
|
|
78
80
|
{
|
|
@@ -84,6 +86,7 @@ module Twilio
|
|
|
84
86
|
"statusCallbacks": @status_callbacks,
|
|
85
87
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
86
88
|
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
89
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
87
90
|
}.to_json(options)
|
|
88
91
|
end
|
|
89
92
|
end
|
|
@@ -139,6 +142,19 @@ module Twilio
|
|
|
139
142
|
end
|
|
140
143
|
end
|
|
141
144
|
|
|
145
|
+
class CreateConfigurationRequestConversationsV1Bridge
|
|
146
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
147
|
+
attr_accessor :service_id
|
|
148
|
+
def initialize(payload)
|
|
149
|
+
@service_id = payload["service_id"]
|
|
150
|
+
end
|
|
151
|
+
def to_json(options = {})
|
|
152
|
+
{
|
|
153
|
+
"serviceId": @service_id,
|
|
154
|
+
}.to_json(options)
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
142
158
|
class CreateConfigurationRequestStatusCallbacks
|
|
143
159
|
# @param [url]: [String] The destination URL for webhooks.
|
|
144
160
|
# @param [method]: [String] The HTTP method used to invoke the webhook URL.
|
|
@@ -155,16 +171,83 @@ module Twilio
|
|
|
155
171
|
end
|
|
156
172
|
end
|
|
157
173
|
|
|
174
|
+
class PatchConfigurationRequest
|
|
175
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
176
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
177
|
+
# @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.
|
|
178
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
179
|
+
# @param [channel_settings]: [Hash<String, PatchConfigurationRequestChannelSettingsValue>] Channel-specific settings to merge onto the existing channelSettings map. A channel key mapped to a value replaces that channel's settings; a channel key explicitly mapped to null removes it; an omitted channel key is left untouched.
|
|
180
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
181
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
182
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration.
|
|
183
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.PatchConfigurationRequestConversationsV1Bridge]
|
|
184
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
185
|
+
def initialize(payload)
|
|
186
|
+
@display_name = payload["display_name"]
|
|
187
|
+
@description = payload["description"]
|
|
188
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
189
|
+
@memory_store_id = payload["memory_store_id"]
|
|
190
|
+
@channel_settings = payload["channel_settings"]
|
|
191
|
+
@status_callbacks = payload["status_callbacks"]
|
|
192
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
193
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
194
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
195
|
+
end
|
|
196
|
+
def to_json(options = {})
|
|
197
|
+
{
|
|
198
|
+
"displayName": @display_name,
|
|
199
|
+
"description": @description,
|
|
200
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
201
|
+
"memoryStoreId": @memory_store_id,
|
|
202
|
+
"channelSettings": @channel_settings,
|
|
203
|
+
"statusCallbacks": @status_callbacks,
|
|
204
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
205
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
206
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
207
|
+
}.to_json(options)
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
class PatchConfigurationRequestChannelSettingsValue
|
|
212
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
213
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
214
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
215
|
+
def initialize(payload)
|
|
216
|
+
@status_timeouts = payload["status_timeouts"]
|
|
217
|
+
@capture_rules = payload["capture_rules"]
|
|
218
|
+
end
|
|
219
|
+
def to_json(options = {})
|
|
220
|
+
{
|
|
221
|
+
"statusTimeouts": @status_timeouts,
|
|
222
|
+
"captureRules": @capture_rules,
|
|
223
|
+
}.to_json(options)
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
class PatchConfigurationRequestConversationsV1Bridge
|
|
228
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
229
|
+
attr_accessor :service_id
|
|
230
|
+
def initialize(payload)
|
|
231
|
+
@service_id = payload["service_id"]
|
|
232
|
+
end
|
|
233
|
+
def to_json(options = {})
|
|
234
|
+
{
|
|
235
|
+
"serviceId": @service_id,
|
|
236
|
+
}.to_json(options)
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
|
|
158
240
|
class UpdateConfigurationRequest
|
|
159
241
|
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
160
242
|
# @param [description]: [String] Human-readable description for the configuration.
|
|
161
|
-
# @param [conversation_grouping_type]: [String]
|
|
243
|
+
# @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.
|
|
162
244
|
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
163
245
|
# @param [channel_settings]: [Hash<String, UpdateConfigurationRequestChannelSettingsValue>]
|
|
164
246
|
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
165
247
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
166
248
|
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
167
|
-
|
|
249
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
250
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
168
251
|
def initialize(payload)
|
|
169
252
|
@display_name = payload["display_name"]
|
|
170
253
|
@description = payload["description"]
|
|
@@ -174,6 +257,7 @@ module Twilio
|
|
|
174
257
|
@status_callbacks = payload["status_callbacks"]
|
|
175
258
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
176
259
|
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
260
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
177
261
|
end
|
|
178
262
|
def to_json(options = {})
|
|
179
263
|
{
|
|
@@ -185,6 +269,7 @@ module Twilio
|
|
|
185
269
|
"statusCallbacks": @status_callbacks,
|
|
186
270
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
187
271
|
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
272
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
188
273
|
}.to_json(options)
|
|
189
274
|
end
|
|
190
275
|
end
|
|
@@ -295,13 +380,14 @@ module Twilio
|
|
|
295
380
|
class CreateConfigurationRequest
|
|
296
381
|
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
297
382
|
# @param [description]: [String] Human-readable description for the configuration.
|
|
298
|
-
# @param [conversation_grouping_type]: [String]
|
|
383
|
+
# @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.
|
|
299
384
|
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
300
385
|
# @param [channel_settings]: [Hash<String, CreateConfigurationRequestChannelSettingsValue>]
|
|
301
386
|
# @param [status_callbacks]: [Array<ConfigurationList.CreateConfigurationRequestStatusCallbacks>] A list of webhook configurations.
|
|
302
387
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
303
388
|
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
304
|
-
|
|
389
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
390
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
305
391
|
def initialize(payload)
|
|
306
392
|
@display_name = payload["display_name"]
|
|
307
393
|
@description = payload["description"]
|
|
@@ -311,6 +397,7 @@ module Twilio
|
|
|
311
397
|
@status_callbacks = payload["status_callbacks"]
|
|
312
398
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
313
399
|
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
400
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
314
401
|
end
|
|
315
402
|
def to_json(options = {})
|
|
316
403
|
{
|
|
@@ -322,6 +409,7 @@ module Twilio
|
|
|
322
409
|
"statusCallbacks": @status_callbacks,
|
|
323
410
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
324
411
|
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
412
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
325
413
|
}.to_json(options)
|
|
326
414
|
end
|
|
327
415
|
end
|
|
@@ -377,6 +465,19 @@ module Twilio
|
|
|
377
465
|
end
|
|
378
466
|
end
|
|
379
467
|
|
|
468
|
+
class CreateConfigurationRequestConversationsV1Bridge
|
|
469
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
470
|
+
attr_accessor :service_id
|
|
471
|
+
def initialize(payload)
|
|
472
|
+
@service_id = payload["service_id"]
|
|
473
|
+
end
|
|
474
|
+
def to_json(options = {})
|
|
475
|
+
{
|
|
476
|
+
"serviceId": @service_id,
|
|
477
|
+
}.to_json(options)
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
|
|
380
481
|
class CreateConfigurationRequestStatusCallbacks
|
|
381
482
|
# @param [url]: [String] The destination URL for webhooks.
|
|
382
483
|
# @param [method]: [String] The HTTP method used to invoke the webhook URL.
|
|
@@ -393,16 +494,83 @@ module Twilio
|
|
|
393
494
|
end
|
|
394
495
|
end
|
|
395
496
|
|
|
497
|
+
class PatchConfigurationRequest
|
|
498
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
499
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
500
|
+
# @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.
|
|
501
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
502
|
+
# @param [channel_settings]: [Hash<String, PatchConfigurationRequestChannelSettingsValue>] Channel-specific settings to merge onto the existing channelSettings map. A channel key mapped to a value replaces that channel's settings; a channel key explicitly mapped to null removes it; an omitted channel key is left untouched.
|
|
503
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
504
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
505
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration.
|
|
506
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.PatchConfigurationRequestConversationsV1Bridge]
|
|
507
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
508
|
+
def initialize(payload)
|
|
509
|
+
@display_name = payload["display_name"]
|
|
510
|
+
@description = payload["description"]
|
|
511
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
512
|
+
@memory_store_id = payload["memory_store_id"]
|
|
513
|
+
@channel_settings = payload["channel_settings"]
|
|
514
|
+
@status_callbacks = payload["status_callbacks"]
|
|
515
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
516
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
517
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
518
|
+
end
|
|
519
|
+
def to_json(options = {})
|
|
520
|
+
{
|
|
521
|
+
"displayName": @display_name,
|
|
522
|
+
"description": @description,
|
|
523
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
524
|
+
"memoryStoreId": @memory_store_id,
|
|
525
|
+
"channelSettings": @channel_settings,
|
|
526
|
+
"statusCallbacks": @status_callbacks,
|
|
527
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
528
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
529
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
530
|
+
}.to_json(options)
|
|
531
|
+
end
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
class PatchConfigurationRequestChannelSettingsValue
|
|
535
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
536
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
537
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
538
|
+
def initialize(payload)
|
|
539
|
+
@status_timeouts = payload["status_timeouts"]
|
|
540
|
+
@capture_rules = payload["capture_rules"]
|
|
541
|
+
end
|
|
542
|
+
def to_json(options = {})
|
|
543
|
+
{
|
|
544
|
+
"statusTimeouts": @status_timeouts,
|
|
545
|
+
"captureRules": @capture_rules,
|
|
546
|
+
}.to_json(options)
|
|
547
|
+
end
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
class PatchConfigurationRequestConversationsV1Bridge
|
|
551
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
552
|
+
attr_accessor :service_id
|
|
553
|
+
def initialize(payload)
|
|
554
|
+
@service_id = payload["service_id"]
|
|
555
|
+
end
|
|
556
|
+
def to_json(options = {})
|
|
557
|
+
{
|
|
558
|
+
"serviceId": @service_id,
|
|
559
|
+
}.to_json(options)
|
|
560
|
+
end
|
|
561
|
+
end
|
|
562
|
+
|
|
396
563
|
class UpdateConfigurationRequest
|
|
397
564
|
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
398
565
|
# @param [description]: [String] Human-readable description for the configuration.
|
|
399
|
-
# @param [conversation_grouping_type]: [String]
|
|
566
|
+
# @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.
|
|
400
567
|
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
401
568
|
# @param [channel_settings]: [Hash<String, UpdateConfigurationRequestChannelSettingsValue>]
|
|
402
569
|
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
403
570
|
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
404
571
|
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
405
|
-
|
|
572
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
573
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
406
574
|
def initialize(payload)
|
|
407
575
|
@display_name = payload["display_name"]
|
|
408
576
|
@description = payload["description"]
|
|
@@ -412,6 +580,7 @@ module Twilio
|
|
|
412
580
|
@status_callbacks = payload["status_callbacks"]
|
|
413
581
|
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
414
582
|
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
583
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
415
584
|
end
|
|
416
585
|
def to_json(options = {})
|
|
417
586
|
{
|
|
@@ -423,6 +592,330 @@ module Twilio
|
|
|
423
592
|
"statusCallbacks": @status_callbacks,
|
|
424
593
|
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
425
594
|
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
595
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
596
|
+
}.to_json(options)
|
|
597
|
+
end
|
|
598
|
+
end
|
|
599
|
+
|
|
600
|
+
class UpdateConfigurationRequestChannelSettingsValue
|
|
601
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
602
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
603
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
604
|
+
def initialize(payload)
|
|
605
|
+
@status_timeouts = payload["status_timeouts"]
|
|
606
|
+
@capture_rules = payload["capture_rules"]
|
|
607
|
+
end
|
|
608
|
+
def to_json(options = {})
|
|
609
|
+
{
|
|
610
|
+
"statusTimeouts": @status_timeouts,
|
|
611
|
+
"captureRules": @capture_rules,
|
|
612
|
+
}.to_json(options)
|
|
613
|
+
end
|
|
614
|
+
end
|
|
615
|
+
|
|
616
|
+
class UpdateConfigurationRequestChannelSettingsValueCaptureRules
|
|
617
|
+
# @param [from]: [String]
|
|
618
|
+
# @param [to]: [String]
|
|
619
|
+
# @param [metadata]: [Hash<String, String>]
|
|
620
|
+
attr_accessor :from, :to, :metadata
|
|
621
|
+
def initialize(payload)
|
|
622
|
+
@from = payload["from"]
|
|
623
|
+
@to = payload["to"]
|
|
624
|
+
@metadata = payload["metadata"]
|
|
625
|
+
end
|
|
626
|
+
def to_json(options = {})
|
|
627
|
+
{
|
|
628
|
+
"from": @from,
|
|
629
|
+
"to": @to,
|
|
630
|
+
"metadata": @metadata,
|
|
631
|
+
}.to_json(options)
|
|
632
|
+
end
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
class UpdateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
636
|
+
# @param [inactive]: [Integer]
|
|
637
|
+
# @param [closed]: [Integer]
|
|
638
|
+
attr_accessor :inactive, :closed
|
|
639
|
+
def initialize(payload)
|
|
640
|
+
@inactive = payload["inactive"]
|
|
641
|
+
@closed = payload["closed"]
|
|
642
|
+
end
|
|
643
|
+
def to_json(options = {})
|
|
644
|
+
{
|
|
645
|
+
"inactive": @inactive,
|
|
646
|
+
"closed": @closed,
|
|
647
|
+
}.to_json(options)
|
|
648
|
+
end
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
class UpdateConfigurationRequestStatusCallbacks
|
|
652
|
+
# @param [url]: [String]
|
|
653
|
+
# @param [method]: [String]
|
|
654
|
+
attr_accessor :url, :method
|
|
655
|
+
def initialize(payload)
|
|
656
|
+
@url = payload["url"]
|
|
657
|
+
@method = payload["method"]
|
|
658
|
+
end
|
|
659
|
+
def to_json(options = {})
|
|
660
|
+
{
|
|
661
|
+
"url": @url,
|
|
662
|
+
"method": @method,
|
|
663
|
+
}.to_json(options)
|
|
664
|
+
end
|
|
665
|
+
end
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
class ConversationsV2CaptureRule
|
|
669
|
+
# @param [from]: [String] The from address. Use `*` for wildcard to match any from address.
|
|
670
|
+
# @param [to]: [String] The to address. Use `*` for wildcard to match any to address.
|
|
671
|
+
# @param [metadata]: [Hash<String, String>] Additional matching criteria for the capture rule. For voice calls, can include `callType` (`PSTN`, `SIP`, and similar).
|
|
672
|
+
attr_accessor :from, :to, :metadata
|
|
673
|
+
def initialize(payload)
|
|
674
|
+
@from = payload["from"]
|
|
675
|
+
@to = payload["to"]
|
|
676
|
+
@metadata = payload["metadata"]
|
|
677
|
+
end
|
|
678
|
+
def to_json(options = {})
|
|
679
|
+
{
|
|
680
|
+
"from": @from,
|
|
681
|
+
"to": @to,
|
|
682
|
+
"metadata": @metadata,
|
|
683
|
+
}.to_json(options)
|
|
684
|
+
end
|
|
685
|
+
end
|
|
686
|
+
|
|
687
|
+
class ConversationsV2StatusTimeouts
|
|
688
|
+
# @param [inactive]: [Integer] Inactivity timeout in minutes.
|
|
689
|
+
# @param [closed]: [Integer] Close timeout in minutes.
|
|
690
|
+
attr_accessor :inactive, :closed
|
|
691
|
+
def initialize(payload)
|
|
692
|
+
@inactive = payload["inactive"]
|
|
693
|
+
@closed = payload["closed"]
|
|
694
|
+
end
|
|
695
|
+
def to_json(options = {})
|
|
696
|
+
{
|
|
697
|
+
"inactive": @inactive,
|
|
698
|
+
"closed": @closed,
|
|
699
|
+
}.to_json(options)
|
|
700
|
+
end
|
|
701
|
+
end
|
|
702
|
+
|
|
703
|
+
class CreateConfigurationRequest
|
|
704
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
705
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
706
|
+
# @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.
|
|
707
|
+
# @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
|
|
708
|
+
# @param [channel_settings]: [Hash<String, CreateConfigurationRequestChannelSettingsValue>]
|
|
709
|
+
# @param [status_callbacks]: [Array<ConfigurationList.CreateConfigurationRequestStatusCallbacks>] A list of webhook configurations.
|
|
710
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
711
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
712
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
713
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
714
|
+
def initialize(payload)
|
|
715
|
+
@display_name = payload["display_name"]
|
|
716
|
+
@description = payload["description"]
|
|
717
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
718
|
+
@memory_store_id = payload["memory_store_id"]
|
|
719
|
+
@channel_settings = payload["channel_settings"]
|
|
720
|
+
@status_callbacks = payload["status_callbacks"]
|
|
721
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
722
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
723
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
724
|
+
end
|
|
725
|
+
def to_json(options = {})
|
|
726
|
+
{
|
|
727
|
+
"displayName": @display_name,
|
|
728
|
+
"description": @description,
|
|
729
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
730
|
+
"memoryStoreId": @memory_store_id,
|
|
731
|
+
"channelSettings": @channel_settings,
|
|
732
|
+
"statusCallbacks": @status_callbacks,
|
|
733
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
734
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
735
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
736
|
+
}.to_json(options)
|
|
737
|
+
end
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
class CreateConfigurationRequestChannelSettingsValue
|
|
741
|
+
# @param [status_timeouts]: [CreateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
742
|
+
# @param [capture_rules]: [Array<CreateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
743
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
744
|
+
def initialize(payload)
|
|
745
|
+
@status_timeouts = payload["status_timeouts"]
|
|
746
|
+
@capture_rules = payload["capture_rules"]
|
|
747
|
+
end
|
|
748
|
+
def to_json(options = {})
|
|
749
|
+
{
|
|
750
|
+
"statusTimeouts": @status_timeouts,
|
|
751
|
+
"captureRules": @capture_rules,
|
|
752
|
+
}.to_json(options)
|
|
753
|
+
end
|
|
754
|
+
end
|
|
755
|
+
|
|
756
|
+
class CreateConfigurationRequestChannelSettingsValueCaptureRules
|
|
757
|
+
# @param [from]: [String] The from address. Use '*' for wildcard.
|
|
758
|
+
# @param [to]: [String] The to address. Use '*' for wildcard.
|
|
759
|
+
# @param [metadata]: [Hash<String, String>]
|
|
760
|
+
attr_accessor :from, :to, :metadata
|
|
761
|
+
def initialize(payload)
|
|
762
|
+
@from = payload["from"]
|
|
763
|
+
@to = payload["to"]
|
|
764
|
+
@metadata = payload["metadata"]
|
|
765
|
+
end
|
|
766
|
+
def to_json(options = {})
|
|
767
|
+
{
|
|
768
|
+
"from": @from,
|
|
769
|
+
"to": @to,
|
|
770
|
+
"metadata": @metadata,
|
|
771
|
+
}.to_json(options)
|
|
772
|
+
end
|
|
773
|
+
end
|
|
774
|
+
|
|
775
|
+
class CreateConfigurationRequestChannelSettingsValueStatusTimeouts
|
|
776
|
+
# @param [inactive]: [Integer] The inactivity timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
777
|
+
# @param [closed]: [Integer] The close timeout in minutes. For more information, see [Conversation lifecycle](/docs/platform/conversations/concepts/lifecycle).
|
|
778
|
+
attr_accessor :inactive, :closed
|
|
779
|
+
def initialize(payload)
|
|
780
|
+
@inactive = payload["inactive"]
|
|
781
|
+
@closed = payload["closed"]
|
|
782
|
+
end
|
|
783
|
+
def to_json(options = {})
|
|
784
|
+
{
|
|
785
|
+
"inactive": @inactive,
|
|
786
|
+
"closed": @closed,
|
|
787
|
+
}.to_json(options)
|
|
788
|
+
end
|
|
789
|
+
end
|
|
790
|
+
|
|
791
|
+
class CreateConfigurationRequestConversationsV1Bridge
|
|
792
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
793
|
+
attr_accessor :service_id
|
|
794
|
+
def initialize(payload)
|
|
795
|
+
@service_id = payload["service_id"]
|
|
796
|
+
end
|
|
797
|
+
def to_json(options = {})
|
|
798
|
+
{
|
|
799
|
+
"serviceId": @service_id,
|
|
800
|
+
}.to_json(options)
|
|
801
|
+
end
|
|
802
|
+
end
|
|
803
|
+
|
|
804
|
+
class CreateConfigurationRequestStatusCallbacks
|
|
805
|
+
# @param [url]: [String] The destination URL for webhooks.
|
|
806
|
+
# @param [method]: [String] The HTTP method used to invoke the webhook URL.
|
|
807
|
+
attr_accessor :url, :method
|
|
808
|
+
def initialize(payload)
|
|
809
|
+
@url = payload["url"]
|
|
810
|
+
@method = payload["method"]
|
|
811
|
+
end
|
|
812
|
+
def to_json(options = {})
|
|
813
|
+
{
|
|
814
|
+
"url": @url,
|
|
815
|
+
"method": @method,
|
|
816
|
+
}.to_json(options)
|
|
817
|
+
end
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
class PatchConfigurationRequest
|
|
821
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
822
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
823
|
+
# @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.
|
|
824
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
825
|
+
# @param [channel_settings]: [Hash<String, PatchConfigurationRequestChannelSettingsValue>] Channel-specific settings to merge onto the existing channelSettings map. A channel key mapped to a value replaces that channel's settings; a channel key explicitly mapped to null removes it; an omitted channel key is left untouched.
|
|
826
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
827
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
828
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration.
|
|
829
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.PatchConfigurationRequestConversationsV1Bridge]
|
|
830
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
831
|
+
def initialize(payload)
|
|
832
|
+
@display_name = payload["display_name"]
|
|
833
|
+
@description = payload["description"]
|
|
834
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
835
|
+
@memory_store_id = payload["memory_store_id"]
|
|
836
|
+
@channel_settings = payload["channel_settings"]
|
|
837
|
+
@status_callbacks = payload["status_callbacks"]
|
|
838
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
839
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
840
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
841
|
+
end
|
|
842
|
+
def to_json(options = {})
|
|
843
|
+
{
|
|
844
|
+
"displayName": @display_name,
|
|
845
|
+
"description": @description,
|
|
846
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
847
|
+
"memoryStoreId": @memory_store_id,
|
|
848
|
+
"channelSettings": @channel_settings,
|
|
849
|
+
"statusCallbacks": @status_callbacks,
|
|
850
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
851
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
852
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
853
|
+
}.to_json(options)
|
|
854
|
+
end
|
|
855
|
+
end
|
|
856
|
+
|
|
857
|
+
class PatchConfigurationRequestChannelSettingsValue
|
|
858
|
+
# @param [status_timeouts]: [UpdateConfigurationRequestChannelSettingsValueStatusTimeouts]
|
|
859
|
+
# @param [capture_rules]: [Array<UpdateConfigurationRequestChannelSettingsValueCaptureRules>]
|
|
860
|
+
attr_accessor :status_timeouts, :capture_rules
|
|
861
|
+
def initialize(payload)
|
|
862
|
+
@status_timeouts = payload["status_timeouts"]
|
|
863
|
+
@capture_rules = payload["capture_rules"]
|
|
864
|
+
end
|
|
865
|
+
def to_json(options = {})
|
|
866
|
+
{
|
|
867
|
+
"statusTimeouts": @status_timeouts,
|
|
868
|
+
"captureRules": @capture_rules,
|
|
869
|
+
}.to_json(options)
|
|
870
|
+
end
|
|
871
|
+
end
|
|
872
|
+
|
|
873
|
+
class PatchConfigurationRequestConversationsV1Bridge
|
|
874
|
+
# @param [service_id]: [String] The Conversations V1 Service SID (IS prefix). One configuration per V1 Service SID.
|
|
875
|
+
attr_accessor :service_id
|
|
876
|
+
def initialize(payload)
|
|
877
|
+
@service_id = payload["service_id"]
|
|
878
|
+
end
|
|
879
|
+
def to_json(options = {})
|
|
880
|
+
{
|
|
881
|
+
"serviceId": @service_id,
|
|
882
|
+
}.to_json(options)
|
|
883
|
+
end
|
|
884
|
+
end
|
|
885
|
+
|
|
886
|
+
class UpdateConfigurationRequest
|
|
887
|
+
# @param [display_name]: [String] A human-readable name for the configuration. Limited to 32 characters.
|
|
888
|
+
# @param [description]: [String] Human-readable description for the configuration.
|
|
889
|
+
# @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.
|
|
890
|
+
# @param [memory_store_id]: [String] The Memory Store ID for profile resolution.
|
|
891
|
+
# @param [channel_settings]: [Hash<String, UpdateConfigurationRequestChannelSettingsValue>]
|
|
892
|
+
# @param [status_callbacks]: [Array<ConfigurationList.UpdateConfigurationRequestStatusCallbacks>]
|
|
893
|
+
# @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
|
|
894
|
+
# @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
|
|
895
|
+
# @param [conversations_v1_bridge]: [ConfigurationList.CreateConfigurationRequestConversationsV1Bridge]
|
|
896
|
+
attr_accessor :display_name, :description, :conversation_grouping_type, :memory_store_id, :channel_settings, :status_callbacks, :intelligence_configuration_ids, :memory_extraction_enabled, :conversations_v1_bridge
|
|
897
|
+
def initialize(payload)
|
|
898
|
+
@display_name = payload["display_name"]
|
|
899
|
+
@description = payload["description"]
|
|
900
|
+
@conversation_grouping_type = payload["conversation_grouping_type"]
|
|
901
|
+
@memory_store_id = payload["memory_store_id"]
|
|
902
|
+
@channel_settings = payload["channel_settings"]
|
|
903
|
+
@status_callbacks = payload["status_callbacks"]
|
|
904
|
+
@intelligence_configuration_ids = payload["intelligence_configuration_ids"]
|
|
905
|
+
@memory_extraction_enabled = payload["memory_extraction_enabled"]
|
|
906
|
+
@conversations_v1_bridge = payload["conversations_v1_bridge"]
|
|
907
|
+
end
|
|
908
|
+
def to_json(options = {})
|
|
909
|
+
{
|
|
910
|
+
"displayName": @display_name,
|
|
911
|
+
"description": @description,
|
|
912
|
+
"conversationGroupingType": @conversation_grouping_type,
|
|
913
|
+
"memoryStoreId": @memory_store_id,
|
|
914
|
+
"channelSettings": @channel_settings,
|
|
915
|
+
"statusCallbacks": @status_callbacks,
|
|
916
|
+
"intelligenceConfigurationIds": @intelligence_configuration_ids,
|
|
917
|
+
"memoryExtractionEnabled": @memory_extraction_enabled,
|
|
918
|
+
"conversationsV1Bridge": @conversations_v1_bridge,
|
|
426
919
|
}.to_json(options)
|
|
427
920
|
end
|
|
428
921
|
end
|
|
@@ -703,16 +1196,16 @@ module Twilio
|
|
|
703
1196
|
##
|
|
704
1197
|
# Initialize the ConfigurationContext
|
|
705
1198
|
# @param [Version] version Version that contains the resource
|
|
706
|
-
# @param [String]
|
|
1199
|
+
# @param [String] id
|
|
707
1200
|
# @return [ConfigurationContext] ConfigurationContext
|
|
708
|
-
def initialize(version,
|
|
1201
|
+
def initialize(version, id)
|
|
709
1202
|
|
|
710
1203
|
apiV1Version = ApiV1Version.new version.domain, version
|
|
711
1204
|
super(apiV1Version)
|
|
712
1205
|
|
|
713
1206
|
# Path Solution
|
|
714
|
-
@solution = {
|
|
715
|
-
@uri = "/ControlPlane/Configurations/#{@solution[:
|
|
1207
|
+
@solution = { id: id, }
|
|
1208
|
+
@uri = "/ControlPlane/Configurations/#{@solution[:id]}"
|
|
716
1209
|
|
|
717
1210
|
|
|
718
1211
|
end
|
|
@@ -732,7 +1225,7 @@ module Twilio
|
|
|
732
1225
|
ConfigurationInstance.new(
|
|
733
1226
|
@version,
|
|
734
1227
|
response.body,
|
|
735
|
-
|
|
1228
|
+
id: @solution[:id],
|
|
736
1229
|
)
|
|
737
1230
|
|
|
738
1231
|
end
|
|
@@ -774,7 +1267,7 @@ module Twilio
|
|
|
774
1267
|
ConfigurationInstance.new(
|
|
775
1268
|
@version,
|
|
776
1269
|
payload,
|
|
777
|
-
|
|
1270
|
+
id: @solution[:id],
|
|
778
1271
|
)
|
|
779
1272
|
end
|
|
780
1273
|
|
|
@@ -793,7 +1286,61 @@ module Twilio
|
|
|
793
1286
|
configuration_instance = ConfigurationInstance.new(
|
|
794
1287
|
@version,
|
|
795
1288
|
response.body,
|
|
796
|
-
|
|
1289
|
+
id: @solution[:id],
|
|
1290
|
+
)
|
|
1291
|
+
ConfigurationInstanceMetadata.new(
|
|
1292
|
+
@version,
|
|
1293
|
+
configuration_instance,
|
|
1294
|
+
response.headers,
|
|
1295
|
+
response.status_code
|
|
1296
|
+
)
|
|
1297
|
+
end
|
|
1298
|
+
|
|
1299
|
+
##
|
|
1300
|
+
# Patch the ConfigurationInstance
|
|
1301
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
1302
|
+
# @param [PatchConfigurationRequest] patch_configuration_request The partial configuration update.
|
|
1303
|
+
# @return [ConfigurationInstance] Patched ConfigurationInstance
|
|
1304
|
+
def patch(
|
|
1305
|
+
idempotency_key: :unset,
|
|
1306
|
+
patch_configuration_request: :unset
|
|
1307
|
+
)
|
|
1308
|
+
|
|
1309
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
1310
|
+
headers['Content-Type'] = 'application/json'
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
payload = @version.patch('PATCH', @uri, headers: headers, data: patch_configuration_request.to_json)
|
|
1316
|
+
ConfigurationInstance.new(
|
|
1317
|
+
@version,
|
|
1318
|
+
payload,
|
|
1319
|
+
id: @solution[:id],
|
|
1320
|
+
)
|
|
1321
|
+
end
|
|
1322
|
+
|
|
1323
|
+
##
|
|
1324
|
+
# Patch the ConfigurationInstanceMetadata
|
|
1325
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
1326
|
+
# @param [PatchConfigurationRequest] patch_configuration_request The partial configuration update.
|
|
1327
|
+
# @return [ConfigurationInstance] Patchd ConfigurationInstance
|
|
1328
|
+
def patch_with_metadata(
|
|
1329
|
+
idempotency_key: :unset,
|
|
1330
|
+
patch_configuration_request: :unset
|
|
1331
|
+
)
|
|
1332
|
+
|
|
1333
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'Idempotency-Key' => idempotency_key, })
|
|
1334
|
+
headers['Content-Type'] = 'application/json'
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
response = @version.patch_with_metadata('PATCH', @uri, headers: headers, data: patch_configuration_request.to_json)
|
|
1340
|
+
configuration_instance = ConfigurationInstance.new(
|
|
1341
|
+
@version,
|
|
1342
|
+
response.body,
|
|
1343
|
+
id: @solution[:id],
|
|
797
1344
|
)
|
|
798
1345
|
ConfigurationInstanceMetadata.new(
|
|
799
1346
|
@version,
|
|
@@ -823,7 +1370,7 @@ module Twilio
|
|
|
823
1370
|
ConfigurationInstance.new(
|
|
824
1371
|
@version,
|
|
825
1372
|
payload,
|
|
826
|
-
|
|
1373
|
+
id: @solution[:id],
|
|
827
1374
|
)
|
|
828
1375
|
end
|
|
829
1376
|
|
|
@@ -847,7 +1394,7 @@ module Twilio
|
|
|
847
1394
|
configuration_instance = ConfigurationInstance.new(
|
|
848
1395
|
@version,
|
|
849
1396
|
response.body,
|
|
850
|
-
|
|
1397
|
+
id: @solution[:id],
|
|
851
1398
|
)
|
|
852
1399
|
ConfigurationInstanceMetadata.new(
|
|
853
1400
|
@version,
|
|
@@ -1020,7 +1567,7 @@ module Twilio
|
|
|
1020
1567
|
# resource.
|
|
1021
1568
|
# @param [String] sid The SID of the Call resource to fetch.
|
|
1022
1569
|
# @return [ConfigurationInstance] ConfigurationInstance
|
|
1023
|
-
def initialize(version, payload ,
|
|
1570
|
+
def initialize(version, payload , id: nil)
|
|
1024
1571
|
|
|
1025
1572
|
apiV1Version = ApiV1Version.new version.domain, version
|
|
1026
1573
|
super(apiV1Version)
|
|
@@ -1046,7 +1593,7 @@ module Twilio
|
|
|
1046
1593
|
|
|
1047
1594
|
# Context
|
|
1048
1595
|
@instance_context = nil
|
|
1049
|
-
@params = { '
|
|
1596
|
+
@params = { 'id' => id || @properties['id'] , }
|
|
1050
1597
|
end
|
|
1051
1598
|
|
|
1052
1599
|
##
|
|
@@ -1055,7 +1602,7 @@ module Twilio
|
|
|
1055
1602
|
# @return [ConfigurationContext] CallContext for this CallInstance
|
|
1056
1603
|
def context
|
|
1057
1604
|
unless @instance_context
|
|
1058
|
-
@instance_context = ConfigurationContext.new(@version , @params['
|
|
1605
|
+
@instance_context = ConfigurationContext.new(@version , @params['id'])
|
|
1059
1606
|
end
|
|
1060
1607
|
@instance_context
|
|
1061
1608
|
end
|
|
@@ -1091,7 +1638,7 @@ module Twilio
|
|
|
1091
1638
|
end
|
|
1092
1639
|
|
|
1093
1640
|
##
|
|
1094
|
-
# @return [
|
|
1641
|
+
# @return [ConversationsV2ConversationGroupingType]
|
|
1095
1642
|
def conversation_grouping_type
|
|
1096
1643
|
@properties['conversation_grouping_type']
|
|
1097
1644
|
end
|
|
@@ -1171,6 +1718,22 @@ module Twilio
|
|
|
1171
1718
|
context.fetch
|
|
1172
1719
|
end
|
|
1173
1720
|
|
|
1721
|
+
##
|
|
1722
|
+
# Patch the ConfigurationInstance
|
|
1723
|
+
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|
|
1724
|
+
# @param [PatchConfigurationRequest] patch_configuration_request The partial configuration update.
|
|
1725
|
+
# @return [ConfigurationInstance] Patched ConfigurationInstance
|
|
1726
|
+
def patch(
|
|
1727
|
+
idempotency_key: :unset,
|
|
1728
|
+
patch_configuration_request: :unset
|
|
1729
|
+
)
|
|
1730
|
+
|
|
1731
|
+
context.patch(
|
|
1732
|
+
idempotency_key: idempotency_key,
|
|
1733
|
+
patch_configuration_request: patch_configuration_request,
|
|
1734
|
+
)
|
|
1735
|
+
end
|
|
1736
|
+
|
|
1174
1737
|
##
|
|
1175
1738
|
# Update the ConfigurationInstance
|
|
1176
1739
|
# @param [String] idempotency_key Client-generated UUID key to ensure idempotent behavior. Submitting the same key returns the original response without creating a duplicate operation. Keys are scoped to account + region with a 24-hour TTL.
|