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
|
@@ -47,56 +47,6 @@ module Twilio
|
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
class VoiceV3TranscriptionParticipant
|
|
51
|
-
# @param [type]: [String] The role of this participant in the conversation.
|
|
52
|
-
# @param [address]: [String] The phone number or identifier for this participant (E.164 format for phone numbers). Used to correlate this participant with their profile and conversation history.
|
|
53
|
-
# @param [name]: [String] User-defined name for this participant
|
|
54
|
-
# @param [audio_channel_index]: [String] One-based index of the audio channel in a multi-channel recording
|
|
55
|
-
attr_accessor :type, :address, :name, :audio_channel_index
|
|
56
|
-
def initialize(payload)
|
|
57
|
-
@type = payload["type"]
|
|
58
|
-
@address = payload["address"]
|
|
59
|
-
@name = payload["name"]
|
|
60
|
-
@audio_channel_index = payload["audio_channel_index"]
|
|
61
|
-
end
|
|
62
|
-
def to_json(options = {})
|
|
63
|
-
{
|
|
64
|
-
"type": @type,
|
|
65
|
-
"address": @address,
|
|
66
|
-
"name": @name,
|
|
67
|
-
"audioChannelIndex": @audio_channel_index,
|
|
68
|
-
}.to_json(options)
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
class VoiceV3TranscriptionResolvedConfiguration
|
|
73
|
-
# @param [transcription_engine]: [String] The engine used for transcription (Deepgram, Google, or auto)
|
|
74
|
-
# @param [speech_model]: [String] The speech model used for transcription (e.g., nova-2, nova-3, chirp_2)
|
|
75
|
-
# @param [language]: [String] The language code for transcription
|
|
76
|
-
# @param [transcription_status_callback]: [VoiceV3TranscriptionTranscriptionStatusCallback]
|
|
77
|
-
# @param [conversation_configuration_id]: [String] Maestro conversation configuration ID
|
|
78
|
-
# @param [participant_defaults]: [Array<VoiceV3TranscriptionResolvedConfigurationParticipantDefaults>] Default participant configurations for the transcription
|
|
79
|
-
attr_accessor :transcription_engine, :speech_model, :language, :transcription_status_callback, :conversation_configuration_id, :participant_defaults
|
|
80
|
-
def initialize(payload)
|
|
81
|
-
@transcription_engine = payload["transcription_engine"]
|
|
82
|
-
@speech_model = payload["speech_model"]
|
|
83
|
-
@language = payload["language"]
|
|
84
|
-
@transcription_status_callback = payload["transcription_status_callback"]
|
|
85
|
-
@conversation_configuration_id = payload["conversation_configuration_id"]
|
|
86
|
-
@participant_defaults = payload["participant_defaults"]
|
|
87
|
-
end
|
|
88
|
-
def to_json(options = {})
|
|
89
|
-
{
|
|
90
|
-
"transcriptionEngine": @transcription_engine,
|
|
91
|
-
"speechModel": @speech_model,
|
|
92
|
-
"language": @language,
|
|
93
|
-
"transcriptionStatusCallback": @transcription_status_callback,
|
|
94
|
-
"conversationConfigurationId": @conversation_configuration_id,
|
|
95
|
-
"participantDefaults": @participant_defaults,
|
|
96
|
-
}.to_json(options)
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
50
|
class VoiceV3TranscriptionResolvedConfigurationParticipantDefaults
|
|
101
51
|
# @param [audio_channel_index]: [Integer] One-based index of the audio channel
|
|
102
52
|
# @param [type]: [String] The participant role type
|
|
@@ -199,6 +149,167 @@ module Twilio
|
|
|
199
149
|
end
|
|
200
150
|
|
|
201
151
|
|
|
152
|
+
##
|
|
153
|
+
# Lists TranscriptionInstance records from the API as a list.
|
|
154
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
155
|
+
# memory before returning.
|
|
156
|
+
# @param [Time] created_after Only include transcriptions created at or after this time (inclusive)
|
|
157
|
+
# @param [Time] created_before Only include transcriptions created strictly before this time (exclusive)
|
|
158
|
+
# @param [String] language_code Only include transcriptions whose resolved language matches this value exactly. The comparison is case sensitive, so use the stored form, for example en-US.
|
|
159
|
+
# @param [String] source_id Only include transcriptions for this source audio. Must be a Recording SID in lowercase hex; anything else is rejected with a 400.
|
|
160
|
+
# @param [String] status Only include transcriptions in this status
|
|
161
|
+
# @param [String] page_token Opaque cursor for retrieving the next or previous page of results
|
|
162
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
163
|
+
# guarantees to never return more than limit. Default is no limit
|
|
164
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
165
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
166
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
167
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
168
|
+
# @return [Array] Array of up to limit results
|
|
169
|
+
def list(created_after: :unset, created_before: :unset, language_code: :unset, source_id: :unset, status: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
170
|
+
self.stream(
|
|
171
|
+
created_after: created_after,
|
|
172
|
+
created_before: created_before,
|
|
173
|
+
language_code: language_code,
|
|
174
|
+
source_id: source_id,
|
|
175
|
+
status: status,
|
|
176
|
+
page_token: page_token,
|
|
177
|
+
limit: limit,
|
|
178
|
+
page_size: page_size
|
|
179
|
+
).entries
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
##
|
|
183
|
+
# Streams Instance records from the API as an Enumerable.
|
|
184
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
185
|
+
# is reached.
|
|
186
|
+
# @param [Time] created_after Only include transcriptions created at or after this time (inclusive)
|
|
187
|
+
# @param [Time] created_before Only include transcriptions created strictly before this time (exclusive)
|
|
188
|
+
# @param [String] language_code Only include transcriptions whose resolved language matches this value exactly. The comparison is case sensitive, so use the stored form, for example en-US.
|
|
189
|
+
# @param [String] source_id Only include transcriptions for this source audio. Must be a Recording SID in lowercase hex; anything else is rejected with a 400.
|
|
190
|
+
# @param [String] status Only include transcriptions in this status
|
|
191
|
+
# @param [String] page_token Opaque cursor for retrieving the next or previous page of results
|
|
192
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
193
|
+
# guarantees to never return more than limit. Default is no limit
|
|
194
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
195
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
196
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
197
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
198
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
199
|
+
def stream(created_after: :unset, created_before: :unset, language_code: :unset, source_id: :unset, status: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
200
|
+
limits = @version.read_limits(limit, page_size)
|
|
201
|
+
|
|
202
|
+
page = self.page(
|
|
203
|
+
created_after: created_after,
|
|
204
|
+
created_before: created_before,
|
|
205
|
+
language_code: language_code,
|
|
206
|
+
source_id: source_id,
|
|
207
|
+
status: status,
|
|
208
|
+
page_token: page_token,
|
|
209
|
+
page_size: limits[:page_size], )
|
|
210
|
+
|
|
211
|
+
return [].each if page.nil?
|
|
212
|
+
|
|
213
|
+
result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
214
|
+
return [].each if result.nil?
|
|
215
|
+
result
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
##
|
|
219
|
+
# Lists TranscriptionPageMetadata records from the API as a list.
|
|
220
|
+
# @param [Time] created_after Only include transcriptions created at or after this time (inclusive)
|
|
221
|
+
# @param [Time] created_before Only include transcriptions created strictly before this time (exclusive)
|
|
222
|
+
# @param [String] language_code Only include transcriptions whose resolved language matches this value exactly. The comparison is case sensitive, so use the stored form, for example en-US.
|
|
223
|
+
# @param [String] source_id Only include transcriptions for this source audio. Must be a Recording SID in lowercase hex; anything else is rejected with a 400.
|
|
224
|
+
# @param [String] status Only include transcriptions in this status
|
|
225
|
+
# @param [String] page_token Opaque cursor for retrieving the next or previous page of results
|
|
226
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
227
|
+
# guarantees to never return more than limit. Default is no limit
|
|
228
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
229
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
230
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
231
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
232
|
+
# @return [Array] Array of up to limit results
|
|
233
|
+
def list_with_metadata(created_after: :unset, created_before: :unset, language_code: :unset, source_id: :unset, status: :unset, page_token: :unset, limit: nil, page_size: nil)
|
|
234
|
+
limits = @version.read_limits(limit, page_size)
|
|
235
|
+
params = Twilio::Values.of({
|
|
236
|
+
'createdAfter' => Twilio.serialize_iso8601_datetime(created_after),
|
|
237
|
+
'createdBefore' => Twilio.serialize_iso8601_datetime(created_before),
|
|
238
|
+
'languageCode' => language_code,
|
|
239
|
+
'sourceId' => source_id,
|
|
240
|
+
'status' => status,
|
|
241
|
+
'pageToken' => page_token,
|
|
242
|
+
|
|
243
|
+
'PageSize' => limits[:page_size],
|
|
244
|
+
});
|
|
245
|
+
headers = Twilio::Values.of({})
|
|
246
|
+
|
|
247
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
248
|
+
|
|
249
|
+
TranscriptionPageMetadata.new(@version, response, @solution, limits[:limit])
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
##
|
|
253
|
+
# When passed a block, yields TranscriptionInstance records from the API.
|
|
254
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
255
|
+
# is reached.
|
|
256
|
+
def each
|
|
257
|
+
limits = @version.read_limits
|
|
258
|
+
|
|
259
|
+
page = self.page(page_size: limits[:page_size], )
|
|
260
|
+
|
|
261
|
+
return [].each if page.nil?
|
|
262
|
+
|
|
263
|
+
result = @version.stream(page,
|
|
264
|
+
limit: limits[:limit],
|
|
265
|
+
page_limit: limits[:page_limit])
|
|
266
|
+
return [].each if result.nil?
|
|
267
|
+
result.each {|x| yield x}
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
##
|
|
271
|
+
# Retrieve a single page of TranscriptionInstance records from the API.
|
|
272
|
+
# Request is executed immediately.
|
|
273
|
+
# @param [Time] created_after Only include transcriptions created at or after this time (inclusive)
|
|
274
|
+
# @param [Time] created_before Only include transcriptions created strictly before this time (exclusive)
|
|
275
|
+
# @param [String] language_code Only include transcriptions whose resolved language matches this value exactly. The comparison is case sensitive, so use the stored form, for example en-US.
|
|
276
|
+
# @param [String] source_id Only include transcriptions for this source audio. Must be a Recording SID in lowercase hex; anything else is rejected with a 400.
|
|
277
|
+
# @param [String] status Only include transcriptions in this status
|
|
278
|
+
# @param [String] page_token Opaque cursor for retrieving the next or previous page of results
|
|
279
|
+
|
|
280
|
+
# @return [Page] Page of TranscriptionInstance
|
|
281
|
+
def page(created_after: :unset, created_before: :unset, language_code: :unset, source_id: :unset, status: :unset, page_token: :unset, page_size: :unset)
|
|
282
|
+
params = Twilio::Values.of({
|
|
283
|
+
'createdAfter' => Twilio.serialize_iso8601_datetime(created_after),
|
|
284
|
+
'createdBefore' => Twilio.serialize_iso8601_datetime(created_before),
|
|
285
|
+
'languageCode' => language_code,
|
|
286
|
+
'sourceId' => source_id,
|
|
287
|
+
'status' => status,
|
|
288
|
+
'pageToken' => page_token,
|
|
289
|
+
'PageSize' => page_size,
|
|
290
|
+
})
|
|
291
|
+
headers = Twilio::Values.of({})
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
296
|
+
|
|
297
|
+
TranscriptionPage.new(@version, response, @solution)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
##
|
|
301
|
+
# Retrieve a single page of TranscriptionInstance records from the API.
|
|
302
|
+
# Request is executed immediately.
|
|
303
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
304
|
+
# @return [Page] Page of TranscriptionInstance
|
|
305
|
+
def get_page(target_url)
|
|
306
|
+
response = @version.domain.request(
|
|
307
|
+
'GET',
|
|
308
|
+
target_url
|
|
309
|
+
)
|
|
310
|
+
TranscriptionPage.new(@version, response, @solution)
|
|
311
|
+
end
|
|
312
|
+
|
|
202
313
|
|
|
203
314
|
|
|
204
315
|
# Provide a user friendly representation
|
|
@@ -443,6 +554,20 @@ module Twilio
|
|
|
443
554
|
'status_url' => payload['status_url'],
|
|
444
555
|
'transcription' => payload['transcription'],
|
|
445
556
|
'operation_id' => payload['operation_id'],
|
|
557
|
+
'id' => payload['id'],
|
|
558
|
+
'account_id' => payload['account_id'],
|
|
559
|
+
'transcription_configuration_id' => payload['transcription_configuration_id'],
|
|
560
|
+
'media_url' => payload['media_url'],
|
|
561
|
+
'source_id' => payload['source_id'],
|
|
562
|
+
'audio_started_at' => Twilio.deserialize_iso8601_datetime(payload['audio_started_at']),
|
|
563
|
+
'conversation_id' => payload['conversation_id'],
|
|
564
|
+
'participants' => payload['participants'],
|
|
565
|
+
'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
|
|
566
|
+
'resolved_configuration' => payload['resolved_configuration'],
|
|
567
|
+
'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
|
|
568
|
+
'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
|
|
569
|
+
'url' => payload['url'],
|
|
570
|
+
'links' => payload['links'],
|
|
446
571
|
}
|
|
447
572
|
|
|
448
573
|
# Context
|
|
@@ -485,6 +610,90 @@ module Twilio
|
|
|
485
610
|
@properties['operation_id']
|
|
486
611
|
end
|
|
487
612
|
|
|
613
|
+
##
|
|
614
|
+
# @return [String] Unique identifier for a Transcription. This is also the transcriptionId returned in the LRO 202 response.
|
|
615
|
+
def id
|
|
616
|
+
@properties['id']
|
|
617
|
+
end
|
|
618
|
+
|
|
619
|
+
##
|
|
620
|
+
# @return [String] Twilio Account SID
|
|
621
|
+
def account_id
|
|
622
|
+
@properties['account_id']
|
|
623
|
+
end
|
|
624
|
+
|
|
625
|
+
##
|
|
626
|
+
# @return [String] Unique identifier for a Transcription configuration.
|
|
627
|
+
def transcription_configuration_id
|
|
628
|
+
@properties['transcription_configuration_id']
|
|
629
|
+
end
|
|
630
|
+
|
|
631
|
+
##
|
|
632
|
+
# @return [String] The third party media URL
|
|
633
|
+
def media_url
|
|
634
|
+
@properties['media_url']
|
|
635
|
+
end
|
|
636
|
+
|
|
637
|
+
##
|
|
638
|
+
# @return [String] The source ID (recording ID) - used for tracking only
|
|
639
|
+
def source_id
|
|
640
|
+
@properties['source_id']
|
|
641
|
+
end
|
|
642
|
+
|
|
643
|
+
##
|
|
644
|
+
# @return [Time] The call/recording start time. When the transcription was created using a sourceId, this value is inferred from the recording resource's start time. When created using a mediaUrl, this reflects the value supplied by the caller.
|
|
645
|
+
def audio_started_at
|
|
646
|
+
@properties['audio_started_at']
|
|
647
|
+
end
|
|
648
|
+
|
|
649
|
+
##
|
|
650
|
+
# @return [String] Maestro conversation ID, populated once the transcription has been stored in Maestro.
|
|
651
|
+
def conversation_id
|
|
652
|
+
@properties['conversation_id']
|
|
653
|
+
end
|
|
654
|
+
|
|
655
|
+
##
|
|
656
|
+
# @return [Array<VoiceV3TranscriptionParticipant>] Array of participants in the conversation
|
|
657
|
+
def participants
|
|
658
|
+
@properties['participants']
|
|
659
|
+
end
|
|
660
|
+
|
|
661
|
+
##
|
|
662
|
+
# @return [String] Audio duration in seconds
|
|
663
|
+
def duration
|
|
664
|
+
@properties['duration']
|
|
665
|
+
end
|
|
666
|
+
|
|
667
|
+
##
|
|
668
|
+
# @return [VoiceV3TranscriptionResolvedConfiguration]
|
|
669
|
+
def resolved_configuration
|
|
670
|
+
@properties['resolved_configuration']
|
|
671
|
+
end
|
|
672
|
+
|
|
673
|
+
##
|
|
674
|
+
# @return [Time] When this transcript was created
|
|
675
|
+
def created_at
|
|
676
|
+
@properties['created_at']
|
|
677
|
+
end
|
|
678
|
+
|
|
679
|
+
##
|
|
680
|
+
# @return [Time] When this transcript was last updated
|
|
681
|
+
def updated_at
|
|
682
|
+
@properties['updated_at']
|
|
683
|
+
end
|
|
684
|
+
|
|
685
|
+
##
|
|
686
|
+
# @return [String] The URL of this resource
|
|
687
|
+
def url
|
|
688
|
+
@properties['url']
|
|
689
|
+
end
|
|
690
|
+
|
|
691
|
+
##
|
|
692
|
+
# @return [Hash] Absolute URLs of resources related to this Transcription. Includes `conversation`, the Conversations API resource for this Transcription's `conversationId`, once the transcript has been stored. Omitted entirely when there is no related resource to link to.
|
|
693
|
+
def links
|
|
694
|
+
@properties['links']
|
|
695
|
+
end
|
|
696
|
+
|
|
488
697
|
##
|
|
489
698
|
# Fetch the TranscriptionInstance
|
|
490
699
|
# @return [TranscriptionInstance] Fetched TranscriptionInstance
|
|
@@ -22,6 +22,7 @@ module Twilio
|
|
|
22
22
|
@host = "voice.twilio.com"
|
|
23
23
|
@port = 443
|
|
24
24
|
@v1 = nil
|
|
25
|
+
@v2 = nil
|
|
25
26
|
@v3 = nil
|
|
26
27
|
end
|
|
27
28
|
|
|
@@ -29,6 +30,10 @@ module Twilio
|
|
|
29
30
|
@v1 ||= Voice::V1.new self
|
|
30
31
|
end
|
|
31
32
|
|
|
33
|
+
def v2
|
|
34
|
+
@v2 ||= Voice::V2.new self
|
|
35
|
+
end
|
|
36
|
+
|
|
32
37
|
def v3
|
|
33
38
|
@v3 ||= Voice::V3.new self
|
|
34
39
|
end
|
|
@@ -52,9 +52,10 @@ module Twilio
|
|
|
52
52
|
# refer_url:: Webhook that will receive future SIP REFER requests
|
|
53
53
|
# refer_method:: The HTTP method to use for the refer Webhook
|
|
54
54
|
# events:: Subscription to events
|
|
55
|
+
# passports:: Base64-encoded comma-separated identity passports (e.g. shaken, div)
|
|
55
56
|
# keyword_args:: additional attributes
|
|
56
|
-
def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_configuration_id: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, events: nil, **keyword_args)
|
|
57
|
-
dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_configuration_id: recording_configuration_id, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, events: events, **keyword_args)
|
|
57
|
+
def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_configuration_id: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, events: nil, passports: nil, **keyword_args)
|
|
58
|
+
dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_configuration_id: recording_configuration_id, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, events: events, passports: passports, **keyword_args)
|
|
58
59
|
|
|
59
60
|
yield(dial) if block_given?
|
|
60
61
|
append(dial)
|
|
@@ -2119,37 +2120,6 @@ module Twilio
|
|
|
2119
2120
|
append(conversation_relay)
|
|
2120
2121
|
end
|
|
2121
2122
|
|
|
2122
|
-
##
|
|
2123
|
-
# Create a new <Assistant> element
|
|
2124
|
-
# id:: The assistant ID of the AI Assistant
|
|
2125
|
-
# language:: Language to be used for both text-to-speech and transcription
|
|
2126
|
-
# tts_language:: Language to be used for text-to-speech
|
|
2127
|
-
# transcription_language:: Language to be used for transcription
|
|
2128
|
-
# tts_provider:: Provider to be used for text-to-speech
|
|
2129
|
-
# voice:: Voice to be used for text-to-speech
|
|
2130
|
-
# transcription_provider:: Provider to be used for transcription
|
|
2131
|
-
# speech_model:: Speech model to be used for transcription
|
|
2132
|
-
# profanity_filter:: Whether profanities should be filtered out of the speech transcription
|
|
2133
|
-
# dtmf_detection:: Whether DTMF tones should be detected and reported in speech transcription
|
|
2134
|
-
# welcome_greeting:: The sentence to be played automatically when the session is connected
|
|
2135
|
-
# partial_prompts:: Whether partial prompts should be reported to WebSocket server before the caller finishes speaking
|
|
2136
|
-
# welcome_greeting_interruptible:: "Whether and how the input from a caller, such as speaking or DTMF can interrupt the welcome greeting
|
|
2137
|
-
# interruptible:: Whether and how the input from a caller, such as speaking or DTMF can interrupt the play of text-to-speech
|
|
2138
|
-
# preemptible:: Whether subsequent text-to-speech or play media can interrupt the on-going play of text-to-speech or media
|
|
2139
|
-
# hints:: Phrases to help better accuracy in speech recognition of these pharases
|
|
2140
|
-
# intelligence_service:: The Conversational Intelligence Service id or unique name to be used for the session
|
|
2141
|
-
# report_input_during_agent_speech:: Whether prompts should be reported to WebSocket server when text-to-speech playing and interrupt is disabled
|
|
2142
|
-
# elevenlabs_text_normalization:: When using ElevenLabs as TTS provider, this parameter allows you to enable or disable its text normalization feature
|
|
2143
|
-
# interrupt_sensitivity:: Set the sensitivity of the interrupt feature for speech. The value can be low, medium, or high
|
|
2144
|
-
# debug:: Multiple debug options to be used for troubleshooting
|
|
2145
|
-
# keyword_args:: additional attributes
|
|
2146
|
-
def assistant(id: nil, language: nil, tts_language: nil, transcription_language: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, profanity_filter: nil, dtmf_detection: nil, welcome_greeting: nil, partial_prompts: nil, welcome_greeting_interruptible: nil, interruptible: nil, preemptible: nil, hints: nil, intelligence_service: nil, report_input_during_agent_speech: nil, elevenlabs_text_normalization: nil, interrupt_sensitivity: nil, debug: nil, **keyword_args)
|
|
2147
|
-
assistant = Assistant.new(id: id, language: language, tts_language: tts_language, transcription_language: transcription_language, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, profanity_filter: profanity_filter, dtmf_detection: dtmf_detection, welcome_greeting: welcome_greeting, partial_prompts: partial_prompts, welcome_greeting_interruptible: welcome_greeting_interruptible, interruptible: interruptible, preemptible: preemptible, hints: hints, intelligence_service: intelligence_service, report_input_during_agent_speech: report_input_during_agent_speech, elevenlabs_text_normalization: elevenlabs_text_normalization, interrupt_sensitivity: interrupt_sensitivity, debug: debug, **keyword_args)
|
|
2148
|
-
|
|
2149
|
-
yield(assistant) if block_given?
|
|
2150
|
-
append(assistant)
|
|
2151
|
-
end
|
|
2152
|
-
|
|
2153
2123
|
##
|
|
2154
2124
|
# Create a new <AiSession> element
|
|
2155
2125
|
# ai_connector:: The unique name or installed add-on sid that identifies the installed addon resource for the AI Connector
|
|
@@ -2192,11 +2162,11 @@ module Twilio
|
|
|
2192
2162
|
end
|
|
2193
2163
|
|
|
2194
2164
|
##
|
|
2195
|
-
# <
|
|
2196
|
-
class
|
|
2165
|
+
# <ConversationRelay> TwiML Noun
|
|
2166
|
+
class ConversationRelay < TwiML
|
|
2197
2167
|
def initialize(**keyword_args)
|
|
2198
2168
|
super(**keyword_args)
|
|
2199
|
-
@name = '
|
|
2169
|
+
@name = 'ConversationRelay'
|
|
2200
2170
|
|
|
2201
2171
|
yield(self) if block_given?
|
|
2202
2172
|
end
|
|
@@ -2234,38 +2204,6 @@ module Twilio
|
|
|
2234
2204
|
end
|
|
2235
2205
|
end
|
|
2236
2206
|
|
|
2237
|
-
##
|
|
2238
|
-
# <ConversationRelay> TwiML Noun
|
|
2239
|
-
class ConversationRelay < TwiML
|
|
2240
|
-
def initialize(**keyword_args)
|
|
2241
|
-
super(**keyword_args)
|
|
2242
|
-
@name = 'ConversationRelay'
|
|
2243
|
-
|
|
2244
|
-
yield(self) if block_given?
|
|
2245
|
-
end
|
|
2246
|
-
|
|
2247
|
-
##
|
|
2248
|
-
# Create a new <Language> element
|
|
2249
|
-
# code:: Language code of this language setting is for
|
|
2250
|
-
# tts_provider:: Provider to be used for text-to-speech of this language
|
|
2251
|
-
# voice:: Voice to be used for text-to-speech of this language
|
|
2252
|
-
# transcription_provider:: Provider to be used for transcription of this language
|
|
2253
|
-
# speech_model:: Speech model to be used for transcription of this language
|
|
2254
|
-
# keyword_args:: additional attributes
|
|
2255
|
-
def language(code: nil, tts_provider: nil, voice: nil, transcription_provider: nil, speech_model: nil, **keyword_args)
|
|
2256
|
-
append(Language.new(code: code, tts_provider: tts_provider, voice: voice, transcription_provider: transcription_provider, speech_model: speech_model, **keyword_args))
|
|
2257
|
-
end
|
|
2258
|
-
|
|
2259
|
-
##
|
|
2260
|
-
# Create a new <Parameter> element
|
|
2261
|
-
# name:: The name of the custom parameter
|
|
2262
|
-
# value:: The value of the custom parameter
|
|
2263
|
-
# keyword_args:: additional attributes
|
|
2264
|
-
def parameter(name: nil, value: nil, **keyword_args)
|
|
2265
|
-
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
2266
|
-
end
|
|
2267
|
-
end
|
|
2268
|
-
|
|
2269
2207
|
##
|
|
2270
2208
|
# <Conversation> TwiML Noun
|
|
2271
2209
|
class Conversation < TwiML
|
data/lib/twilio-ruby/version.rb
CHANGED
data/twilio-ruby.gemspec
CHANGED
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
# Workaround for RBX <= 2.2.1, should be fixed in next version
|
|
32
32
|
spec.add_dependency('rubysl') if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
|
|
33
33
|
|
|
34
|
-
spec.add_development_dependency 'bundler', '>= 1.5', '<
|
|
34
|
+
spec.add_development_dependency 'bundler', '>= 1.5', '< 5.0'
|
|
35
35
|
spec.add_development_dependency 'equivalent-xml', '~> 0.6'
|
|
36
36
|
spec.add_development_dependency 'fakeweb', '~> 1.3'
|
|
37
37
|
spec.add_development_dependency 'rack', '~> 2.0'
|