twilio-ruby 5.19.0 → 5.74.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 +5 -5
- data/.dockerignore +1 -0
- data/.github/workflows/pr-lint.yml +21 -0
- data/.github/workflows/test-and-deploy.yml +129 -0
- data/.gitignore +8 -1
- data/.rubocop.yml +22 -6
- data/.rubocop_todo.yml +147 -73
- data/CHANGES.md +2126 -0
- data/CODE_OF_CONDUCT.md +73 -0
- data/CONTRIBUTING.md +4 -2
- data/Dockerfile +2 -2
- data/Gemfile +1 -9
- data/ISSUE_TEMPLATE.md +17 -13
- data/{LICENSE.md → LICENSE} +2 -2
- data/Makefile +16 -24
- data/PULL_REQUEST_TEMPLATE.md +30 -3
- data/README.md +119 -54
- data/Rakefile +0 -54
- data/VERSIONS.md +9 -10
- data/examples/examples.rb +1 -1
- data/githooks/pre-commit +0 -0
- data/lib/rack/twilio_webhook_authentication.rb +25 -1
- data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
- data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
- data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
- data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
- data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
- data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
- data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
- data/lib/twilio-ruby/http/http_client.rb +34 -15
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/jwt/access_token.rb +20 -2
- data/lib/twilio-ruby/jwt/jwt.rb +6 -0
- data/lib/twilio-ruby/jwt/task_router.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
- data/lib/twilio-ruby/rest/accounts.rb +13 -1
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +38 -29
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +57 -67
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
- data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
- data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
- data/lib/twilio-ruby/rest/api.rb +26 -22
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
- data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
- data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
- data/lib/twilio-ruby/rest/autopilot.rb +8 -2
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
- data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
- data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
- data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
- data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
- data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
- data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
- data/lib/twilio-ruby/rest/chat.rb +19 -3
- data/lib/twilio-ruby/rest/client.rb +218 -75
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
- data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
- data/lib/twilio-ruby/rest/content/v1.rb +45 -0
- data/lib/twilio-ruby/rest/content.rb +47 -0
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
- data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
- data/lib/twilio-ruby/rest/conversations.rb +104 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
- data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
- data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
- data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
- data/lib/twilio-ruby/rest/events/v1.rb +94 -0
- data/lib/twilio-ruby/rest/events.rb +72 -0
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +229 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +288 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +190 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +166 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +166 -0
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
- data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
- data/lib/twilio-ruby/rest/flex_api.rb +139 -0
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
- data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
- data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
- data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
- data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
- data/lib/twilio-ruby/rest/insights.rb +34 -6
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
- data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
- data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
- data/lib/twilio-ruby/rest/lookups.rb +11 -4
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
- data/lib/twilio-ruby/rest/media/v1.rb +76 -0
- data/lib/twilio-ruby/rest/media.rb +65 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
- data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +709 -0
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +94 -6
- data/lib/twilio-ruby/rest/messaging.rb +55 -2
- data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
- data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
- data/lib/twilio-ruby/rest/microvisor.rb +54 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
- data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
- data/lib/twilio-ruby/rest/monitor.rb +5 -3
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
- data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
- data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
- data/lib/twilio-ruby/rest/notify.rb +5 -3
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
- data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
- data/lib/twilio-ruby/rest/numbers.rb +44 -0
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
- data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
- data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
- data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
- data/lib/twilio-ruby/rest/oauth.rb +68 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
- data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
- data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
- data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
- data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
- data/lib/twilio-ruby/rest/preview.rb +6 -35
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
- data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
- data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
- data/lib/twilio-ruby/rest/pricing.rb +20 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
- data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
- data/lib/twilio-ruby/rest/proxy.rb +3 -2
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
- data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
- data/lib/twilio-ruby/rest/routes.rb +62 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
- data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
- data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
- data/lib/twilio-ruby/rest/serverless.rb +47 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
- data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
- data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
- data/lib/twilio-ruby/rest/studio.rb +19 -5
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
- data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
- data/lib/twilio-ruby/rest/supersim.rb +112 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
- data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
- data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
- data/lib/twilio-ruby/rest/sync.rb +3 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
- data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
- data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
- data/lib/twilio-ruby/rest/trunking.rb +3 -3
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
- data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
- data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
- data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
- data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
- data/lib/twilio-ruby/rest/trusthub.rb +100 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +378 -0
- data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
- data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
- data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
- data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
- data/lib/twilio-ruby/rest/verify.rb +48 -9
- data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
- data/lib/twilio-ruby/rest/video/v1.rb +25 -24
- data/lib/twilio-ruby/rest/video.rb +9 -9
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
- data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
- data/lib/twilio-ruby/rest/voice.rb +48 -4
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
- data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
- data/lib/twilio-ruby/rest/wireless.rb +10 -4
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/security/request_validator.rb +64 -11
- data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
- data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
- data/lib/twilio-ruby/twiml/twiml.rb +4 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
- data/lib/twilio-ruby/util/configuration.rb +22 -5
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +9 -25
- data/sonar-project.properties +13 -0
- data/twilio-ruby.gemspec +12 -7
- metadata +336 -654
- data/.travis.yml +0 -26
- data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
- data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
- data/lib/twilio-ruby/rest/authy.rb +0 -55
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
- data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
- data/lib/twilio-ruby/rest/fax.rb +0 -46
- data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
- data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
- data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
- data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
- data/spec/framework/request_spec.rb +0 -36
- data/spec/framework/serialize_spec.rb +0 -80
- data/spec/holodeck/holodeck.rb +0 -61
- data/spec/holodeck/hologram.rb +0 -4
- data/spec/http/http_client_spec.rb +0 -122
- data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
- data/spec/integration/accounts/v1/credential_spec.rb +0 -12
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
- data/spec/integration/api/v2010/account/address_spec.rb +0 -269
- data/spec/integration/api/v2010/account/application_spec.rb +0 -280
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
- data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
- data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
- data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
- data/spec/integration/api/v2010/account/call_spec.rb +0 -314
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
- data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
- data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
- data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
- data/spec/integration/api/v2010/account/key_spec.rb +0 -180
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
- data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
- data/spec/integration/api/v2010/account/message_spec.rb +0 -290
- data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
- data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
- data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
- data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
- data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
- data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
- data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
- data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
- data/spec/integration/api/v2010/account/token_spec.rb +0 -58
- data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
- data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
- data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
- data/spec/integration/api/v2010/account_spec.rb +0 -275
- data/spec/integration/authy/v1/form_spec.rb +0 -48
- data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
- data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
- data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
- data/spec/integration/authy/v1/service_spec.rb +0 -227
- data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
- data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
- data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
- data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
- data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
- data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
- data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
- data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
- data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
- data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
- data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
- data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
- data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
- data/spec/integration/chat/v1/credential_spec.rb +0 -223
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
- data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
- data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
- data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
- data/spec/integration/chat/v1/service/role_spec.rb +0 -263
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
- data/spec/integration/chat/v1/service/user_spec.rb +0 -266
- data/spec/integration/chat/v1/service_spec.rb +0 -299
- data/spec/integration/chat/v2/credential_spec.rb +0 -223
- data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
- data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
- data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
- data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
- data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
- data/spec/integration/chat/v2/service/role_spec.rb +0 -263
- data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
- data/spec/integration/chat/v2/service/user_spec.rb +0 -270
- data/spec/integration/chat/v2/service_spec.rb +0 -354
- data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
- data/spec/integration/fax/v1/fax_spec.rb +0 -271
- data/spec/integration/insights/v1/summary_spec.rb +0 -60
- data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
- data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
- data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
- data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
- data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
- data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
- data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
- data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
- data/spec/integration/messaging/v1/service_spec.rb +0 -271
- data/spec/integration/monitor/v1/alert_spec.rb +0 -163
- data/spec/integration/monitor/v1/event_spec.rb +0 -150
- data/spec/integration/notify/v1/credential_spec.rb +0 -223
- data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
- data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
- data/spec/integration/notify/v1/service_spec.rb +0 -286
- data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service_spec.rb +0 -185
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
- data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
- data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
- data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
- data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
- data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
- data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
- data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
- data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
- data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
- data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
- data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
- data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
- data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/document_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
- data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
- data/spec/integration/preview/sync/service_spec.rb +0 -246
- data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
- data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
- data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
- data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
- data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
- data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
- data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
- data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
- data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
- data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
- data/spec/integration/preview/understand/assistant_spec.rb +0 -274
- data/spec/integration/preview/wireless/command_spec.rb +0 -169
- data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
- data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
- data/spec/integration/preview/wireless/sim_spec.rb +0 -210
- data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
- data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
- data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
- data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
- data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
- data/spec/integration/pricing/v1/voice_spec.rb +0 -12
- data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
- data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
- data/spec/integration/pricing/v2/voice_spec.rb +0 -12
- data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
- data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
- data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
- data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
- data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
- data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
- data/spec/integration/proxy/v1/service_spec.rb +0 -218
- data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
- data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
- data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
- data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
- data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
- data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
- data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
- data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
- data/spec/integration/studio/v1/flow_spec.rb +0 -117
- data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/document_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
- data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
- data/spec/integration/sync/v1/service_spec.rb +0 -254
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
- data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
- data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
- data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
- data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
- data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
- data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
- data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
- data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
- data/spec/integration/verify/v1/service_spec.rb +0 -227
- data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
- data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
- data/spec/integration/video/v1/composition_spec.rb +0 -325
- data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
- data/spec/integration/video/v1/recording_spec.rb +0 -179
- data/spec/integration/video/v1/room/recording_spec.rb +0 -188
- data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
- data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
- data/spec/integration/video/v1/room_spec.rb +0 -257
- data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
- data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
- data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
- data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
- data/spec/integration/wireless/v1/command_spec.rb +0 -289
- data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
- data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
- data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
- data/spec/integration/wireless/v1/sim_spec.rb +0 -242
- data/spec/jwt/access_token_spec.rb +0 -151
- data/spec/jwt/client_capability_spec.rb +0 -104
- data/spec/jwt/task_router_spec.rb +0 -172
- data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
- data/spec/rest/client_spec.rb +0 -61
- data/spec/security/request_validator_spec.rb +0 -86
- data/spec/spec_helper.rb +0 -38
- data/spec/support/fakeweb.rb +0 -2
- data/spec/twilio_spec.rb +0 -15
- data/spec/twiml/messaging_response_spec.rb +0 -235
- data/spec/twiml/voice_response_spec.rb +0 -847
- data/spec/util/configuration_spec.rb +0 -15
- data/spec/util/url_encode_spec.rb +0 -12
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# \ / _ _ _| _ _
|
|
4
4
|
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
5
|
# / /
|
|
6
|
-
#
|
|
6
|
+
#
|
|
7
7
|
# frozen_string_literal: true
|
|
8
8
|
|
|
9
9
|
module Twilio
|
|
@@ -46,9 +46,13 @@ module Twilio
|
|
|
46
46
|
# recording_status_callback_event:: Recording status callback events
|
|
47
47
|
# answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
|
|
48
48
|
# ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
|
|
49
|
+
# recording_track:: To indicate which audio track should be recorded
|
|
50
|
+
# sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
|
|
51
|
+
# refer_url:: Webhook that will receive future SIP REFER requests
|
|
52
|
+
# refer_method:: The HTTP method to use for the refer Webhook
|
|
49
53
|
# keyword_args:: additional attributes
|
|
50
|
-
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_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, **keyword_args)
|
|
51
|
-
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_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, **keyword_args)
|
|
54
|
+
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_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, **keyword_args)
|
|
55
|
+
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_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, **keyword_args)
|
|
52
56
|
|
|
53
57
|
yield(dial) if block_given?
|
|
54
58
|
append(dial)
|
|
@@ -65,13 +69,14 @@ module Twilio
|
|
|
65
69
|
# Create a new <Enqueue> element
|
|
66
70
|
# name:: Friendly name
|
|
67
71
|
# action:: Action URL
|
|
72
|
+
# max_queue_size:: Maximum size of queue
|
|
68
73
|
# method:: Action URL method
|
|
69
74
|
# wait_url:: Wait URL
|
|
70
75
|
# wait_url_method:: Wait URL method
|
|
71
76
|
# workflow_sid:: TaskRouter Workflow SID
|
|
72
77
|
# keyword_args:: additional attributes
|
|
73
|
-
def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
|
|
74
|
-
enqueue = Enqueue.new(name: name, action: action, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
|
|
78
|
+
def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
|
|
79
|
+
enqueue = Enqueue.new(name: name, action: action, max_queue_size: max_queue_size, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
|
|
75
80
|
|
|
76
81
|
yield(enqueue) if block_given?
|
|
77
82
|
append(enqueue)
|
|
@@ -94,9 +99,12 @@ module Twilio
|
|
|
94
99
|
# hints:: Speech recognition hints
|
|
95
100
|
# barge_in:: Stop playing media upon speech
|
|
96
101
|
# debug:: Allow debug for gather
|
|
102
|
+
# action_on_empty_result:: Force webhook to the action URL event if there is no input
|
|
103
|
+
# speech_model:: Specify the model that is best suited for your use case
|
|
104
|
+
# enhanced:: Use enhanced speech model
|
|
97
105
|
# keyword_args:: additional attributes
|
|
98
|
-
def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, **keyword_args)
|
|
99
|
-
gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, **keyword_args)
|
|
106
|
+
def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, action_on_empty_result: nil, speech_model: nil, enhanced: nil, **keyword_args)
|
|
107
|
+
gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, action_on_empty_result: action_on_empty_result, speech_model: speech_model, enhanced: enhanced, **keyword_args)
|
|
100
108
|
|
|
101
109
|
yield(gather) if block_given?
|
|
102
110
|
append(gather)
|
|
@@ -106,7 +114,10 @@ module Twilio
|
|
|
106
114
|
# Create a new <Hangup> element
|
|
107
115
|
# keyword_args:: additional attributes
|
|
108
116
|
def hangup(**keyword_args)
|
|
109
|
-
|
|
117
|
+
hangup = Hangup.new(**keyword_args)
|
|
118
|
+
|
|
119
|
+
yield(hangup) if block_given?
|
|
120
|
+
append(hangup)
|
|
110
121
|
end
|
|
111
122
|
|
|
112
123
|
##
|
|
@@ -179,7 +190,10 @@ module Twilio
|
|
|
179
190
|
# reason:: Rejection reason
|
|
180
191
|
# keyword_args:: additional attributes
|
|
181
192
|
def reject(reason: nil, **keyword_args)
|
|
182
|
-
|
|
193
|
+
reject = Reject.new(reason: reason, **keyword_args)
|
|
194
|
+
|
|
195
|
+
yield(reject) if block_given?
|
|
196
|
+
append(reject)
|
|
183
197
|
end
|
|
184
198
|
|
|
185
199
|
##
|
|
@@ -187,7 +201,7 @@ module Twilio
|
|
|
187
201
|
# message:: Message to say
|
|
188
202
|
# voice:: Voice to use
|
|
189
203
|
# loop:: Times to loop message
|
|
190
|
-
# language:: Message
|
|
204
|
+
# language:: Message language
|
|
191
205
|
# keyword_args:: additional attributes
|
|
192
206
|
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
|
193
207
|
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
|
@@ -213,13 +227,16 @@ module Twilio
|
|
|
213
227
|
# Create a new <Pay> element
|
|
214
228
|
# input:: Input type Twilio should accept
|
|
215
229
|
# action:: Action URL
|
|
230
|
+
# bank_account_type:: Bank account type for ach transactions. If set, payment method attribute must be provided and value should be set to ach-debit. defaults to consumer-checking
|
|
216
231
|
# status_callback:: Status callback URL
|
|
217
232
|
# status_callback_method:: Status callback method
|
|
218
233
|
# timeout:: Time to wait to gather input
|
|
219
234
|
# max_attempts:: Maximum number of allowed retries when gathering input
|
|
220
235
|
# security_code:: Prompt for security code
|
|
221
236
|
# postal_code:: Prompt for postal code and it should be true/false or default postal code
|
|
237
|
+
# min_postal_code_length:: Prompt for minimum postal code length
|
|
222
238
|
# payment_connector:: Unique name for payment connector
|
|
239
|
+
# payment_method:: Payment method to be used. defaults to credit-card
|
|
223
240
|
# token_type:: Type of token
|
|
224
241
|
# charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
|
|
225
242
|
# currency:: Currency of the amount attribute
|
|
@@ -227,8 +244,8 @@ module Twilio
|
|
|
227
244
|
# valid_card_types:: Comma separated accepted card types
|
|
228
245
|
# language:: Language to use
|
|
229
246
|
# keyword_args:: additional attributes
|
|
230
|
-
def pay(input: nil, action: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, payment_connector: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
|
|
231
|
-
pay = Pay.new(input: input, action: action, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, payment_connector: payment_connector, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
|
|
247
|
+
def pay(input: nil, action: nil, bank_account_type: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, min_postal_code_length: nil, payment_connector: nil, payment_method: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
|
|
248
|
+
pay = Pay.new(input: input, action: action, bank_account_type: bank_account_type, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, min_postal_code_length: min_postal_code_length, payment_connector: payment_connector, payment_method: payment_method, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
|
|
232
249
|
|
|
233
250
|
yield(pay) if block_given?
|
|
234
251
|
append(pay)
|
|
@@ -236,17 +253,213 @@ module Twilio
|
|
|
236
253
|
|
|
237
254
|
##
|
|
238
255
|
# Create a new <Prompt> element
|
|
239
|
-
# for_:: Name of the
|
|
256
|
+
# for_:: Name of the payment source data element
|
|
240
257
|
# error_type:: Type of error
|
|
241
258
|
# card_type:: Type of the credit card
|
|
242
259
|
# attempt:: Current attempt count
|
|
260
|
+
# require_matching_inputs:: Require customer to input requested information twice and verify matching.
|
|
243
261
|
# keyword_args:: additional attributes
|
|
244
|
-
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
|
|
245
|
-
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
|
|
262
|
+
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
|
|
263
|
+
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
|
|
246
264
|
|
|
247
265
|
yield(prompt) if block_given?
|
|
248
266
|
append(prompt)
|
|
249
267
|
end
|
|
268
|
+
|
|
269
|
+
##
|
|
270
|
+
# Create a new <Start> element
|
|
271
|
+
# action:: Action URL
|
|
272
|
+
# method:: Action URL method
|
|
273
|
+
# keyword_args:: additional attributes
|
|
274
|
+
def start(action: nil, method: nil, **keyword_args)
|
|
275
|
+
start = Start.new(action: action, method: method, **keyword_args)
|
|
276
|
+
|
|
277
|
+
yield(start) if block_given?
|
|
278
|
+
append(start)
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
##
|
|
282
|
+
# Create a new <Stop> element
|
|
283
|
+
# keyword_args:: additional attributes
|
|
284
|
+
def stop(**keyword_args)
|
|
285
|
+
stop = Stop.new(**keyword_args)
|
|
286
|
+
|
|
287
|
+
yield(stop) if block_given?
|
|
288
|
+
append(stop)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
##
|
|
292
|
+
# Create a new <Refer> element
|
|
293
|
+
# action:: Action URL
|
|
294
|
+
# method:: Action URL method
|
|
295
|
+
# keyword_args:: additional attributes
|
|
296
|
+
def refer(action: nil, method: nil, **keyword_args)
|
|
297
|
+
refer = Refer.new(action: action, method: method, **keyword_args)
|
|
298
|
+
|
|
299
|
+
yield(refer) if block_given?
|
|
300
|
+
append(refer)
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
##
|
|
305
|
+
# <Refer> TwiML Verb
|
|
306
|
+
class Refer < TwiML
|
|
307
|
+
def initialize(**keyword_args)
|
|
308
|
+
super(**keyword_args)
|
|
309
|
+
@name = 'Refer'
|
|
310
|
+
|
|
311
|
+
yield(self) if block_given?
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
##
|
|
315
|
+
# Create a new <Sip> element
|
|
316
|
+
# sip_url:: SIP URL
|
|
317
|
+
# keyword_args:: additional attributes
|
|
318
|
+
def sip(sip_url, **keyword_args)
|
|
319
|
+
append(ReferSip.new(sip_url, **keyword_args))
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
##
|
|
324
|
+
# <Sip> TwiML Noun used in <Refer>
|
|
325
|
+
class ReferSip < TwiML
|
|
326
|
+
def initialize(sip_url, **keyword_args)
|
|
327
|
+
super(**keyword_args)
|
|
328
|
+
@name = 'Sip'
|
|
329
|
+
@value = sip_url
|
|
330
|
+
yield(self) if block_given?
|
|
331
|
+
end
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
##
|
|
335
|
+
# <Stop> TwiML Verb
|
|
336
|
+
class Stop < TwiML
|
|
337
|
+
def initialize(**keyword_args)
|
|
338
|
+
super(**keyword_args)
|
|
339
|
+
@name = 'Stop'
|
|
340
|
+
|
|
341
|
+
yield(self) if block_given?
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
##
|
|
345
|
+
# Create a new <Stream> element
|
|
346
|
+
# name:: Friendly name given to the Stream
|
|
347
|
+
# connector_name:: Unique name for Stream Connector
|
|
348
|
+
# url:: URL of the remote service where the Stream is routed
|
|
349
|
+
# track:: Track to be streamed to remote service
|
|
350
|
+
# status_callback:: Status Callback URL
|
|
351
|
+
# status_callback_method:: Status Callback URL method
|
|
352
|
+
# keyword_args:: additional attributes
|
|
353
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
|
354
|
+
stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
|
|
355
|
+
|
|
356
|
+
yield(stream) if block_given?
|
|
357
|
+
append(stream)
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
##
|
|
361
|
+
# Create a new <Siprec> element
|
|
362
|
+
# name:: Friendly name given to SIPREC
|
|
363
|
+
# connector_name:: Unique name for Connector
|
|
364
|
+
# track:: Track to be streamed to remote service
|
|
365
|
+
# keyword_args:: additional attributes
|
|
366
|
+
def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
|
|
367
|
+
siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
|
|
368
|
+
|
|
369
|
+
yield(siprec) if block_given?
|
|
370
|
+
append(siprec)
|
|
371
|
+
end
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
##
|
|
375
|
+
# <Siprec> TwiML Noun
|
|
376
|
+
class Siprec < TwiML
|
|
377
|
+
def initialize(**keyword_args)
|
|
378
|
+
super(**keyword_args)
|
|
379
|
+
@name = 'Siprec'
|
|
380
|
+
|
|
381
|
+
yield(self) if block_given?
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
##
|
|
385
|
+
# Create a new <Parameter> element
|
|
386
|
+
# name:: The name of the custom parameter
|
|
387
|
+
# value:: The value of the custom parameter
|
|
388
|
+
# keyword_args:: additional attributes
|
|
389
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
390
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
391
|
+
end
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
##
|
|
395
|
+
# <Parameter> TwiML Noun
|
|
396
|
+
class Parameter < TwiML
|
|
397
|
+
def initialize(**keyword_args)
|
|
398
|
+
super(**keyword_args)
|
|
399
|
+
@name = 'Parameter'
|
|
400
|
+
|
|
401
|
+
yield(self) if block_given?
|
|
402
|
+
end
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
##
|
|
406
|
+
# <Stream> TwiML Noun
|
|
407
|
+
class Stream < TwiML
|
|
408
|
+
def initialize(**keyword_args)
|
|
409
|
+
super(**keyword_args)
|
|
410
|
+
@name = 'Stream'
|
|
411
|
+
|
|
412
|
+
yield(self) if block_given?
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
##
|
|
416
|
+
# Create a new <Parameter> element
|
|
417
|
+
# name:: The name of the custom parameter
|
|
418
|
+
# value:: The value of the custom parameter
|
|
419
|
+
# keyword_args:: additional attributes
|
|
420
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
421
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
422
|
+
end
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
##
|
|
426
|
+
# <Start> TwiML Verb
|
|
427
|
+
class Start < TwiML
|
|
428
|
+
def initialize(**keyword_args)
|
|
429
|
+
super(**keyword_args)
|
|
430
|
+
@name = 'Start'
|
|
431
|
+
|
|
432
|
+
yield(self) if block_given?
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
##
|
|
436
|
+
# Create a new <Stream> element
|
|
437
|
+
# name:: Friendly name given to the Stream
|
|
438
|
+
# connector_name:: Unique name for Stream Connector
|
|
439
|
+
# url:: URL of the remote service where the Stream is routed
|
|
440
|
+
# track:: Track to be streamed to remote service
|
|
441
|
+
# status_callback:: Status Callback URL
|
|
442
|
+
# status_callback_method:: Status Callback URL method
|
|
443
|
+
# keyword_args:: additional attributes
|
|
444
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
|
445
|
+
stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
|
|
446
|
+
|
|
447
|
+
yield(stream) if block_given?
|
|
448
|
+
append(stream)
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
##
|
|
452
|
+
# Create a new <Siprec> element
|
|
453
|
+
# name:: Friendly name given to SIPREC
|
|
454
|
+
# connector_name:: Unique name for Connector
|
|
455
|
+
# track:: Track to be streamed to remote service
|
|
456
|
+
# keyword_args:: additional attributes
|
|
457
|
+
def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
|
|
458
|
+
siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
|
|
459
|
+
|
|
460
|
+
yield(siprec) if block_given?
|
|
461
|
+
append(siprec)
|
|
462
|
+
end
|
|
250
463
|
end
|
|
251
464
|
|
|
252
465
|
##
|
|
@@ -264,7 +477,7 @@ module Twilio
|
|
|
264
477
|
# message:: Message to say
|
|
265
478
|
# voice:: Voice to use
|
|
266
479
|
# loop:: Times to loop message
|
|
267
|
-
# language:: Message
|
|
480
|
+
# language:: Message language
|
|
268
481
|
# keyword_args:: additional attributes
|
|
269
482
|
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
|
270
483
|
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
|
@@ -315,12 +528,692 @@ module Twilio
|
|
|
315
528
|
end
|
|
316
529
|
|
|
317
530
|
##
|
|
318
|
-
# <Say> TwiML Verb
|
|
319
|
-
class Say < TwiML
|
|
320
|
-
def initialize(message: nil, **keyword_args)
|
|
531
|
+
# <Say> TwiML Verb
|
|
532
|
+
class Say < TwiML
|
|
533
|
+
def initialize(message: nil, **keyword_args)
|
|
534
|
+
super(**keyword_args)
|
|
535
|
+
@name = 'Say'
|
|
536
|
+
@value = message unless message.nil?
|
|
537
|
+
yield(self) if block_given?
|
|
538
|
+
end
|
|
539
|
+
|
|
540
|
+
##
|
|
541
|
+
# Create a new <Break> element
|
|
542
|
+
# strength:: Set a pause based on strength
|
|
543
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
544
|
+
# keyword_args:: additional attributes
|
|
545
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
546
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
547
|
+
end
|
|
548
|
+
|
|
549
|
+
##
|
|
550
|
+
# Create a new <Emphasis> element
|
|
551
|
+
# words:: Words to emphasize
|
|
552
|
+
# level:: Specify the degree of emphasis
|
|
553
|
+
# keyword_args:: additional attributes
|
|
554
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
555
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
556
|
+
|
|
557
|
+
yield(emphasis) if block_given?
|
|
558
|
+
append(emphasis)
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
##
|
|
562
|
+
# Create a new <Lang> element
|
|
563
|
+
# words:: Words to speak
|
|
564
|
+
# xmlLang:: Specify the language
|
|
565
|
+
# keyword_args:: additional attributes
|
|
566
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
567
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
568
|
+
|
|
569
|
+
yield(lang) if block_given?
|
|
570
|
+
append(lang)
|
|
571
|
+
end
|
|
572
|
+
|
|
573
|
+
##
|
|
574
|
+
# Create a new <P> element
|
|
575
|
+
# words:: Words to speak
|
|
576
|
+
# keyword_args:: additional attributes
|
|
577
|
+
def p(words: nil, **keyword_args)
|
|
578
|
+
p = SsmlP.new(words: words, **keyword_args)
|
|
579
|
+
|
|
580
|
+
yield(p) if block_given?
|
|
581
|
+
append(p)
|
|
582
|
+
end
|
|
583
|
+
|
|
584
|
+
##
|
|
585
|
+
# Create a new <Phoneme> element
|
|
586
|
+
# words:: Words to speak
|
|
587
|
+
# alphabet:: Specify the phonetic alphabet
|
|
588
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
589
|
+
# keyword_args:: additional attributes
|
|
590
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
591
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
##
|
|
595
|
+
# Create a new <Prosody> element
|
|
596
|
+
# words:: Words to speak
|
|
597
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
598
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
599
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
600
|
+
# keyword_args:: additional attributes
|
|
601
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
602
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
603
|
+
|
|
604
|
+
yield(prosody) if block_given?
|
|
605
|
+
append(prosody)
|
|
606
|
+
end
|
|
607
|
+
|
|
608
|
+
##
|
|
609
|
+
# Create a new <S> element
|
|
610
|
+
# words:: Words to speak
|
|
611
|
+
# keyword_args:: additional attributes
|
|
612
|
+
def s(words: nil, **keyword_args)
|
|
613
|
+
s = SsmlS.new(words: words, **keyword_args)
|
|
614
|
+
|
|
615
|
+
yield(s) if block_given?
|
|
616
|
+
append(s)
|
|
617
|
+
end
|
|
618
|
+
|
|
619
|
+
##
|
|
620
|
+
# Create a new <Say-As> element
|
|
621
|
+
# words:: Words to be interpreted
|
|
622
|
+
# interpretAs:: Specify the type of words are spoken
|
|
623
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
624
|
+
# keyword_args:: additional attributes
|
|
625
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
626
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
##
|
|
630
|
+
# Create a new <Sub> element
|
|
631
|
+
# words:: Words to be substituted
|
|
632
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
633
|
+
# keyword_args:: additional attributes
|
|
634
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
635
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
636
|
+
end
|
|
637
|
+
|
|
638
|
+
##
|
|
639
|
+
# Create a new <W> element
|
|
640
|
+
# words:: Words to speak
|
|
641
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
642
|
+
# keyword_args:: additional attributes
|
|
643
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
644
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
645
|
+
|
|
646
|
+
yield(w) if block_given?
|
|
647
|
+
append(w)
|
|
648
|
+
end
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
##
|
|
652
|
+
# Improving Pronunciation by Specifying Parts of Speech in <Say>
|
|
653
|
+
class SsmlW < TwiML
|
|
654
|
+
def initialize(words: nil, **keyword_args)
|
|
655
|
+
super(**keyword_args)
|
|
656
|
+
@name = 'w'
|
|
657
|
+
@value = words unless words.nil?
|
|
658
|
+
yield(self) if block_given?
|
|
659
|
+
end
|
|
660
|
+
|
|
661
|
+
##
|
|
662
|
+
# Create a new <Break> element
|
|
663
|
+
# strength:: Set a pause based on strength
|
|
664
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
665
|
+
# keyword_args:: additional attributes
|
|
666
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
667
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
668
|
+
end
|
|
669
|
+
|
|
670
|
+
##
|
|
671
|
+
# Create a new <Emphasis> element
|
|
672
|
+
# words:: Words to emphasize
|
|
673
|
+
# level:: Specify the degree of emphasis
|
|
674
|
+
# keyword_args:: additional attributes
|
|
675
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
676
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
677
|
+
|
|
678
|
+
yield(emphasis) if block_given?
|
|
679
|
+
append(emphasis)
|
|
680
|
+
end
|
|
681
|
+
|
|
682
|
+
##
|
|
683
|
+
# Create a new <Phoneme> element
|
|
684
|
+
# words:: Words to speak
|
|
685
|
+
# alphabet:: Specify the phonetic alphabet
|
|
686
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
687
|
+
# keyword_args:: additional attributes
|
|
688
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
689
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
690
|
+
end
|
|
691
|
+
|
|
692
|
+
##
|
|
693
|
+
# Create a new <Prosody> element
|
|
694
|
+
# words:: Words to speak
|
|
695
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
696
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
697
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
698
|
+
# keyword_args:: additional attributes
|
|
699
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
700
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
701
|
+
|
|
702
|
+
yield(prosody) if block_given?
|
|
703
|
+
append(prosody)
|
|
704
|
+
end
|
|
705
|
+
|
|
706
|
+
##
|
|
707
|
+
# Create a new <Say-As> element
|
|
708
|
+
# words:: Words to be interpreted
|
|
709
|
+
# interpretAs:: Specify the type of words are spoken
|
|
710
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
711
|
+
# keyword_args:: additional attributes
|
|
712
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
713
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
714
|
+
end
|
|
715
|
+
|
|
716
|
+
##
|
|
717
|
+
# Create a new <Sub> element
|
|
718
|
+
# words:: Words to be substituted
|
|
719
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
720
|
+
# keyword_args:: additional attributes
|
|
721
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
722
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
723
|
+
end
|
|
724
|
+
end
|
|
725
|
+
|
|
726
|
+
##
|
|
727
|
+
# Pronouncing Acronyms and Abbreviations in <Say>
|
|
728
|
+
class SsmlSub < TwiML
|
|
729
|
+
def initialize(words, **keyword_args)
|
|
730
|
+
super(**keyword_args)
|
|
731
|
+
@name = 'sub'
|
|
732
|
+
@value = words
|
|
733
|
+
yield(self) if block_given?
|
|
734
|
+
end
|
|
735
|
+
end
|
|
736
|
+
|
|
737
|
+
##
|
|
738
|
+
# Controlling How Special Types of Words Are Spoken in <Say>
|
|
739
|
+
class SsmlSayAs < TwiML
|
|
740
|
+
def initialize(words, **keyword_args)
|
|
741
|
+
super(**keyword_args)
|
|
742
|
+
@name = 'say-as'
|
|
743
|
+
@value = words
|
|
744
|
+
yield(self) if block_given?
|
|
745
|
+
end
|
|
746
|
+
end
|
|
747
|
+
|
|
748
|
+
##
|
|
749
|
+
# Controling Volume, Speaking Rate, and Pitch in <Say>
|
|
750
|
+
class SsmlProsody < TwiML
|
|
751
|
+
def initialize(words: nil, **keyword_args)
|
|
752
|
+
super(**keyword_args)
|
|
753
|
+
@name = 'prosody'
|
|
754
|
+
@value = words unless words.nil?
|
|
755
|
+
yield(self) if block_given?
|
|
756
|
+
end
|
|
757
|
+
|
|
758
|
+
##
|
|
759
|
+
# Create a new <Break> element
|
|
760
|
+
# strength:: Set a pause based on strength
|
|
761
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
762
|
+
# keyword_args:: additional attributes
|
|
763
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
764
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
765
|
+
end
|
|
766
|
+
|
|
767
|
+
##
|
|
768
|
+
# Create a new <Emphasis> element
|
|
769
|
+
# words:: Words to emphasize
|
|
770
|
+
# level:: Specify the degree of emphasis
|
|
771
|
+
# keyword_args:: additional attributes
|
|
772
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
773
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
774
|
+
|
|
775
|
+
yield(emphasis) if block_given?
|
|
776
|
+
append(emphasis)
|
|
777
|
+
end
|
|
778
|
+
|
|
779
|
+
##
|
|
780
|
+
# Create a new <Lang> element
|
|
781
|
+
# words:: Words to speak
|
|
782
|
+
# xmlLang:: Specify the language
|
|
783
|
+
# keyword_args:: additional attributes
|
|
784
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
785
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
786
|
+
|
|
787
|
+
yield(lang) if block_given?
|
|
788
|
+
append(lang)
|
|
789
|
+
end
|
|
790
|
+
|
|
791
|
+
##
|
|
792
|
+
# Create a new <P> element
|
|
793
|
+
# words:: Words to speak
|
|
794
|
+
# keyword_args:: additional attributes
|
|
795
|
+
def p(words: nil, **keyword_args)
|
|
796
|
+
p = SsmlP.new(words: words, **keyword_args)
|
|
797
|
+
|
|
798
|
+
yield(p) if block_given?
|
|
799
|
+
append(p)
|
|
800
|
+
end
|
|
801
|
+
|
|
802
|
+
##
|
|
803
|
+
# Create a new <Phoneme> element
|
|
804
|
+
# words:: Words to speak
|
|
805
|
+
# alphabet:: Specify the phonetic alphabet
|
|
806
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
807
|
+
# keyword_args:: additional attributes
|
|
808
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
809
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
810
|
+
end
|
|
811
|
+
|
|
812
|
+
##
|
|
813
|
+
# Create a new <Prosody> element
|
|
814
|
+
# words:: Words to speak
|
|
815
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
816
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
817
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
818
|
+
# keyword_args:: additional attributes
|
|
819
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
820
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
821
|
+
|
|
822
|
+
yield(prosody) if block_given?
|
|
823
|
+
append(prosody)
|
|
824
|
+
end
|
|
825
|
+
|
|
826
|
+
##
|
|
827
|
+
# Create a new <S> element
|
|
828
|
+
# words:: Words to speak
|
|
829
|
+
# keyword_args:: additional attributes
|
|
830
|
+
def s(words: nil, **keyword_args)
|
|
831
|
+
s = SsmlS.new(words: words, **keyword_args)
|
|
832
|
+
|
|
833
|
+
yield(s) if block_given?
|
|
834
|
+
append(s)
|
|
835
|
+
end
|
|
836
|
+
|
|
837
|
+
##
|
|
838
|
+
# Create a new <Say-As> element
|
|
839
|
+
# words:: Words to be interpreted
|
|
840
|
+
# interpretAs:: Specify the type of words are spoken
|
|
841
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
842
|
+
# keyword_args:: additional attributes
|
|
843
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
844
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
845
|
+
end
|
|
846
|
+
|
|
847
|
+
##
|
|
848
|
+
# Create a new <Sub> element
|
|
849
|
+
# words:: Words to be substituted
|
|
850
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
851
|
+
# keyword_args:: additional attributes
|
|
852
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
853
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
854
|
+
end
|
|
855
|
+
|
|
856
|
+
##
|
|
857
|
+
# Create a new <W> element
|
|
858
|
+
# words:: Words to speak
|
|
859
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
860
|
+
# keyword_args:: additional attributes
|
|
861
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
862
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
863
|
+
|
|
864
|
+
yield(w) if block_given?
|
|
865
|
+
append(w)
|
|
866
|
+
end
|
|
867
|
+
end
|
|
868
|
+
|
|
869
|
+
##
|
|
870
|
+
# Adding A Pause Between Sentences in <Say>
|
|
871
|
+
class SsmlS < TwiML
|
|
872
|
+
def initialize(words: nil, **keyword_args)
|
|
873
|
+
super(**keyword_args)
|
|
874
|
+
@name = 's'
|
|
875
|
+
@value = words unless words.nil?
|
|
876
|
+
yield(self) if block_given?
|
|
877
|
+
end
|
|
878
|
+
|
|
879
|
+
##
|
|
880
|
+
# Create a new <Break> element
|
|
881
|
+
# strength:: Set a pause based on strength
|
|
882
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
883
|
+
# keyword_args:: additional attributes
|
|
884
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
885
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
886
|
+
end
|
|
887
|
+
|
|
888
|
+
##
|
|
889
|
+
# Create a new <Emphasis> element
|
|
890
|
+
# words:: Words to emphasize
|
|
891
|
+
# level:: Specify the degree of emphasis
|
|
892
|
+
# keyword_args:: additional attributes
|
|
893
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
894
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
895
|
+
|
|
896
|
+
yield(emphasis) if block_given?
|
|
897
|
+
append(emphasis)
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
##
|
|
901
|
+
# Create a new <Lang> element
|
|
902
|
+
# words:: Words to speak
|
|
903
|
+
# xmlLang:: Specify the language
|
|
904
|
+
# keyword_args:: additional attributes
|
|
905
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
906
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
907
|
+
|
|
908
|
+
yield(lang) if block_given?
|
|
909
|
+
append(lang)
|
|
910
|
+
end
|
|
911
|
+
|
|
912
|
+
##
|
|
913
|
+
# Create a new <Phoneme> element
|
|
914
|
+
# words:: Words to speak
|
|
915
|
+
# alphabet:: Specify the phonetic alphabet
|
|
916
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
917
|
+
# keyword_args:: additional attributes
|
|
918
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
919
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
920
|
+
end
|
|
921
|
+
|
|
922
|
+
##
|
|
923
|
+
# Create a new <Prosody> element
|
|
924
|
+
# words:: Words to speak
|
|
925
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
926
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
927
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
928
|
+
# keyword_args:: additional attributes
|
|
929
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
930
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
931
|
+
|
|
932
|
+
yield(prosody) if block_given?
|
|
933
|
+
append(prosody)
|
|
934
|
+
end
|
|
935
|
+
|
|
936
|
+
##
|
|
937
|
+
# Create a new <Say-As> element
|
|
938
|
+
# words:: Words to be interpreted
|
|
939
|
+
# interpretAs:: Specify the type of words are spoken
|
|
940
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
941
|
+
# keyword_args:: additional attributes
|
|
942
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
943
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
944
|
+
end
|
|
945
|
+
|
|
946
|
+
##
|
|
947
|
+
# Create a new <Sub> element
|
|
948
|
+
# words:: Words to be substituted
|
|
949
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
950
|
+
# keyword_args:: additional attributes
|
|
951
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
952
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
953
|
+
end
|
|
954
|
+
|
|
955
|
+
##
|
|
956
|
+
# Create a new <W> element
|
|
957
|
+
# words:: Words to speak
|
|
958
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
959
|
+
# keyword_args:: additional attributes
|
|
960
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
961
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
962
|
+
|
|
963
|
+
yield(w) if block_given?
|
|
964
|
+
append(w)
|
|
965
|
+
end
|
|
966
|
+
end
|
|
967
|
+
|
|
968
|
+
##
|
|
969
|
+
# Using Phonetic Pronunciation in <Say>
|
|
970
|
+
class SsmlPhoneme < TwiML
|
|
971
|
+
def initialize(words, **keyword_args)
|
|
972
|
+
super(**keyword_args)
|
|
973
|
+
@name = 'phoneme'
|
|
974
|
+
@value = words
|
|
975
|
+
yield(self) if block_given?
|
|
976
|
+
end
|
|
977
|
+
end
|
|
978
|
+
|
|
979
|
+
##
|
|
980
|
+
# Specifying Another Language for Specific Words in <Say>
|
|
981
|
+
class SsmlLang < TwiML
|
|
982
|
+
def initialize(words: nil, **keyword_args)
|
|
983
|
+
super(**keyword_args)
|
|
984
|
+
@name = 'lang'
|
|
985
|
+
@value = words unless words.nil?
|
|
986
|
+
yield(self) if block_given?
|
|
987
|
+
end
|
|
988
|
+
|
|
989
|
+
##
|
|
990
|
+
# Create a new <Break> element
|
|
991
|
+
# strength:: Set a pause based on strength
|
|
992
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
993
|
+
# keyword_args:: additional attributes
|
|
994
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
995
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
996
|
+
end
|
|
997
|
+
|
|
998
|
+
##
|
|
999
|
+
# Create a new <Emphasis> element
|
|
1000
|
+
# words:: Words to emphasize
|
|
1001
|
+
# level:: Specify the degree of emphasis
|
|
1002
|
+
# keyword_args:: additional attributes
|
|
1003
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
1004
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
1005
|
+
|
|
1006
|
+
yield(emphasis) if block_given?
|
|
1007
|
+
append(emphasis)
|
|
1008
|
+
end
|
|
1009
|
+
|
|
1010
|
+
##
|
|
1011
|
+
# Create a new <Lang> element
|
|
1012
|
+
# words:: Words to speak
|
|
1013
|
+
# xmlLang:: Specify the language
|
|
1014
|
+
# keyword_args:: additional attributes
|
|
1015
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
1016
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
1017
|
+
|
|
1018
|
+
yield(lang) if block_given?
|
|
1019
|
+
append(lang)
|
|
1020
|
+
end
|
|
1021
|
+
|
|
1022
|
+
##
|
|
1023
|
+
# Create a new <P> element
|
|
1024
|
+
# words:: Words to speak
|
|
1025
|
+
# keyword_args:: additional attributes
|
|
1026
|
+
def p(words: nil, **keyword_args)
|
|
1027
|
+
p = SsmlP.new(words: words, **keyword_args)
|
|
1028
|
+
|
|
1029
|
+
yield(p) if block_given?
|
|
1030
|
+
append(p)
|
|
1031
|
+
end
|
|
1032
|
+
|
|
1033
|
+
##
|
|
1034
|
+
# Create a new <Phoneme> element
|
|
1035
|
+
# words:: Words to speak
|
|
1036
|
+
# alphabet:: Specify the phonetic alphabet
|
|
1037
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
1038
|
+
# keyword_args:: additional attributes
|
|
1039
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
1040
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
1041
|
+
end
|
|
1042
|
+
|
|
1043
|
+
##
|
|
1044
|
+
# Create a new <Prosody> element
|
|
1045
|
+
# words:: Words to speak
|
|
1046
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
1047
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
1048
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
1049
|
+
# keyword_args:: additional attributes
|
|
1050
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
1051
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
1052
|
+
|
|
1053
|
+
yield(prosody) if block_given?
|
|
1054
|
+
append(prosody)
|
|
1055
|
+
end
|
|
1056
|
+
|
|
1057
|
+
##
|
|
1058
|
+
# Create a new <S> element
|
|
1059
|
+
# words:: Words to speak
|
|
1060
|
+
# keyword_args:: additional attributes
|
|
1061
|
+
def s(words: nil, **keyword_args)
|
|
1062
|
+
s = SsmlS.new(words: words, **keyword_args)
|
|
1063
|
+
|
|
1064
|
+
yield(s) if block_given?
|
|
1065
|
+
append(s)
|
|
1066
|
+
end
|
|
1067
|
+
|
|
1068
|
+
##
|
|
1069
|
+
# Create a new <Say-As> element
|
|
1070
|
+
# words:: Words to be interpreted
|
|
1071
|
+
# interpretAs:: Specify the type of words are spoken
|
|
1072
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
1073
|
+
# keyword_args:: additional attributes
|
|
1074
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1075
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
1076
|
+
end
|
|
1077
|
+
|
|
1078
|
+
##
|
|
1079
|
+
# Create a new <Sub> element
|
|
1080
|
+
# words:: Words to be substituted
|
|
1081
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
1082
|
+
# keyword_args:: additional attributes
|
|
1083
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
1084
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
1085
|
+
end
|
|
1086
|
+
|
|
1087
|
+
##
|
|
1088
|
+
# Create a new <W> element
|
|
1089
|
+
# words:: Words to speak
|
|
1090
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
1091
|
+
# keyword_args:: additional attributes
|
|
1092
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
1093
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
1094
|
+
|
|
1095
|
+
yield(w) if block_given?
|
|
1096
|
+
append(w)
|
|
1097
|
+
end
|
|
1098
|
+
end
|
|
1099
|
+
|
|
1100
|
+
##
|
|
1101
|
+
# Adding a Pause Between Paragraphs in <Say>
|
|
1102
|
+
class SsmlP < TwiML
|
|
1103
|
+
def initialize(words: nil, **keyword_args)
|
|
1104
|
+
super(**keyword_args)
|
|
1105
|
+
@name = 'p'
|
|
1106
|
+
@value = words unless words.nil?
|
|
1107
|
+
yield(self) if block_given?
|
|
1108
|
+
end
|
|
1109
|
+
|
|
1110
|
+
##
|
|
1111
|
+
# Create a new <Break> element
|
|
1112
|
+
# strength:: Set a pause based on strength
|
|
1113
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
|
1114
|
+
# keyword_args:: additional attributes
|
|
1115
|
+
def break(strength: nil, time: nil, **keyword_args)
|
|
1116
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
|
1117
|
+
end
|
|
1118
|
+
|
|
1119
|
+
##
|
|
1120
|
+
# Create a new <Emphasis> element
|
|
1121
|
+
# words:: Words to emphasize
|
|
1122
|
+
# level:: Specify the degree of emphasis
|
|
1123
|
+
# keyword_args:: additional attributes
|
|
1124
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
1125
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
1126
|
+
|
|
1127
|
+
yield(emphasis) if block_given?
|
|
1128
|
+
append(emphasis)
|
|
1129
|
+
end
|
|
1130
|
+
|
|
1131
|
+
##
|
|
1132
|
+
# Create a new <Lang> element
|
|
1133
|
+
# words:: Words to speak
|
|
1134
|
+
# xmlLang:: Specify the language
|
|
1135
|
+
# keyword_args:: additional attributes
|
|
1136
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
1137
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
1138
|
+
|
|
1139
|
+
yield(lang) if block_given?
|
|
1140
|
+
append(lang)
|
|
1141
|
+
end
|
|
1142
|
+
|
|
1143
|
+
##
|
|
1144
|
+
# Create a new <Phoneme> element
|
|
1145
|
+
# words:: Words to speak
|
|
1146
|
+
# alphabet:: Specify the phonetic alphabet
|
|
1147
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
|
1148
|
+
# keyword_args:: additional attributes
|
|
1149
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
|
1150
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
|
1151
|
+
end
|
|
1152
|
+
|
|
1153
|
+
##
|
|
1154
|
+
# Create a new <Prosody> element
|
|
1155
|
+
# words:: Words to speak
|
|
1156
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
|
1157
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
1158
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
1159
|
+
# keyword_args:: additional attributes
|
|
1160
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
1161
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
1162
|
+
|
|
1163
|
+
yield(prosody) if block_given?
|
|
1164
|
+
append(prosody)
|
|
1165
|
+
end
|
|
1166
|
+
|
|
1167
|
+
##
|
|
1168
|
+
# Create a new <S> element
|
|
1169
|
+
# words:: Words to speak
|
|
1170
|
+
# keyword_args:: additional attributes
|
|
1171
|
+
def s(words: nil, **keyword_args)
|
|
1172
|
+
s = SsmlS.new(words: words, **keyword_args)
|
|
1173
|
+
|
|
1174
|
+
yield(s) if block_given?
|
|
1175
|
+
append(s)
|
|
1176
|
+
end
|
|
1177
|
+
|
|
1178
|
+
##
|
|
1179
|
+
# Create a new <Say-As> element
|
|
1180
|
+
# words:: Words to be interpreted
|
|
1181
|
+
# interpretAs:: Specify the type of words are spoken
|
|
1182
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
1183
|
+
# keyword_args:: additional attributes
|
|
1184
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1185
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
1186
|
+
end
|
|
1187
|
+
|
|
1188
|
+
##
|
|
1189
|
+
# Create a new <Sub> element
|
|
1190
|
+
# words:: Words to be substituted
|
|
1191
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
1192
|
+
# keyword_args:: additional attributes
|
|
1193
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
1194
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
1195
|
+
end
|
|
1196
|
+
|
|
1197
|
+
##
|
|
1198
|
+
# Create a new <W> element
|
|
1199
|
+
# words:: Words to speak
|
|
1200
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
1201
|
+
# keyword_args:: additional attributes
|
|
1202
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
1203
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
1204
|
+
|
|
1205
|
+
yield(w) if block_given?
|
|
1206
|
+
append(w)
|
|
1207
|
+
end
|
|
1208
|
+
end
|
|
1209
|
+
|
|
1210
|
+
##
|
|
1211
|
+
# Emphasizing Words in <Say>
|
|
1212
|
+
class SsmlEmphasis < TwiML
|
|
1213
|
+
def initialize(words: nil, **keyword_args)
|
|
321
1214
|
super(**keyword_args)
|
|
322
|
-
@name = '
|
|
323
|
-
@value =
|
|
1215
|
+
@name = 'emphasis'
|
|
1216
|
+
@value = words unless words.nil?
|
|
324
1217
|
yield(self) if block_given?
|
|
325
1218
|
end
|
|
326
1219
|
|
|
@@ -338,25 +1231,23 @@ module Twilio
|
|
|
338
1231
|
# words:: Words to emphasize
|
|
339
1232
|
# level:: Specify the degree of emphasis
|
|
340
1233
|
# keyword_args:: additional attributes
|
|
341
|
-
def emphasis(words, level: nil, **keyword_args)
|
|
342
|
-
|
|
1234
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
|
1235
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
|
1236
|
+
|
|
1237
|
+
yield(emphasis) if block_given?
|
|
1238
|
+
append(emphasis)
|
|
343
1239
|
end
|
|
344
1240
|
|
|
345
1241
|
##
|
|
346
1242
|
# Create a new <Lang> element
|
|
347
1243
|
# words:: Words to speak
|
|
348
|
-
#
|
|
1244
|
+
# xmlLang:: Specify the language
|
|
349
1245
|
# keyword_args:: additional attributes
|
|
350
|
-
def lang(words, xmlLang: nil, **keyword_args)
|
|
351
|
-
|
|
352
|
-
end
|
|
1246
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
|
1247
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
|
353
1248
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
# words:: Words to speak
|
|
357
|
-
# keyword_args:: additional attributes
|
|
358
|
-
def p(words, **keyword_args)
|
|
359
|
-
append(SsmlP.new(words, **keyword_args))
|
|
1249
|
+
yield(lang) if block_given?
|
|
1250
|
+
append(lang)
|
|
360
1251
|
end
|
|
361
1252
|
|
|
362
1253
|
##
|
|
@@ -376,32 +1267,27 @@ module Twilio
|
|
|
376
1267
|
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
|
377
1268
|
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
|
378
1269
|
# keyword_args:: additional attributes
|
|
379
|
-
def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
380
|
-
|
|
381
|
-
end
|
|
1270
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
|
1271
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
|
382
1272
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
# words:: Words to speak
|
|
386
|
-
# keyword_args:: additional attributes
|
|
387
|
-
def s(words, **keyword_args)
|
|
388
|
-
append(SsmlS.new(words, **keyword_args))
|
|
1273
|
+
yield(prosody) if block_given?
|
|
1274
|
+
append(prosody)
|
|
389
1275
|
end
|
|
390
1276
|
|
|
391
1277
|
##
|
|
392
1278
|
# Create a new <Say-As> element
|
|
393
1279
|
# words:: Words to be interpreted
|
|
394
|
-
#
|
|
395
|
-
#
|
|
1280
|
+
# interpretAs:: Specify the type of words are spoken
|
|
1281
|
+
# format:: Specify the format of the date when interpret-as is set to date
|
|
396
1282
|
# keyword_args:: additional attributes
|
|
397
|
-
def say_as(words, interpretAs: nil,
|
|
398
|
-
append(SsmlSayAs.new(words, interpretAs: interpretAs,
|
|
1283
|
+
def say_as(words, interpretAs: nil, format: nil, **keyword_args)
|
|
1284
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
|
|
399
1285
|
end
|
|
400
1286
|
|
|
401
1287
|
##
|
|
402
1288
|
# Create a new <Sub> element
|
|
403
1289
|
# words:: Words to be substituted
|
|
404
|
-
#
|
|
1290
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
|
405
1291
|
# keyword_args:: additional attributes
|
|
406
1292
|
def sub(words, aliasAttribute: nil, **keyword_args)
|
|
407
1293
|
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
|
@@ -412,107 +1298,11 @@ module Twilio
|
|
|
412
1298
|
# words:: Words to speak
|
|
413
1299
|
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
|
414
1300
|
# keyword_args:: additional attributes
|
|
415
|
-
def w(words, role: nil, **keyword_args)
|
|
416
|
-
|
|
417
|
-
end
|
|
418
|
-
end
|
|
419
|
-
|
|
420
|
-
##
|
|
421
|
-
# Improving Pronunciation by Specifying Parts of Speech in <Say>
|
|
422
|
-
class SsmlW < TwiML
|
|
423
|
-
def initialize(words, **keyword_args)
|
|
424
|
-
super(**keyword_args)
|
|
425
|
-
@name = 'w'
|
|
426
|
-
@value = words
|
|
427
|
-
yield(self) if block_given?
|
|
428
|
-
end
|
|
429
|
-
end
|
|
430
|
-
|
|
431
|
-
##
|
|
432
|
-
# Pronouncing Acronyms and Abbreviations in <Say>
|
|
433
|
-
class SsmlSub < TwiML
|
|
434
|
-
def initialize(words, **keyword_args)
|
|
435
|
-
super(**keyword_args)
|
|
436
|
-
@name = 'sub'
|
|
437
|
-
@value = words
|
|
438
|
-
yield(self) if block_given?
|
|
439
|
-
end
|
|
440
|
-
end
|
|
441
|
-
|
|
442
|
-
##
|
|
443
|
-
# Controlling How Special Types of Words Are Spoken in <Say>
|
|
444
|
-
class SsmlSayAs < TwiML
|
|
445
|
-
def initialize(words, **keyword_args)
|
|
446
|
-
super(**keyword_args)
|
|
447
|
-
@name = 'say-as'
|
|
448
|
-
@value = words
|
|
449
|
-
yield(self) if block_given?
|
|
450
|
-
end
|
|
451
|
-
end
|
|
452
|
-
|
|
453
|
-
##
|
|
454
|
-
# Adding A Pause Between Sentences in <Say>
|
|
455
|
-
class SsmlS < TwiML
|
|
456
|
-
def initialize(words, **keyword_args)
|
|
457
|
-
super(**keyword_args)
|
|
458
|
-
@name = 's'
|
|
459
|
-
@value = words
|
|
460
|
-
yield(self) if block_given?
|
|
461
|
-
end
|
|
462
|
-
end
|
|
463
|
-
|
|
464
|
-
##
|
|
465
|
-
# Controling Volume, Speaking Rate, and Pitch in <Say>
|
|
466
|
-
class SsmlProsody < TwiML
|
|
467
|
-
def initialize(words, **keyword_args)
|
|
468
|
-
super(**keyword_args)
|
|
469
|
-
@name = 'prosody'
|
|
470
|
-
@value = words
|
|
471
|
-
yield(self) if block_given?
|
|
472
|
-
end
|
|
473
|
-
end
|
|
474
|
-
|
|
475
|
-
##
|
|
476
|
-
# Using Phonetic Pronunciation in <Say>
|
|
477
|
-
class SsmlPhoneme < TwiML
|
|
478
|
-
def initialize(words, **keyword_args)
|
|
479
|
-
super(**keyword_args)
|
|
480
|
-
@name = 'phoneme'
|
|
481
|
-
@value = words
|
|
482
|
-
yield(self) if block_given?
|
|
483
|
-
end
|
|
484
|
-
end
|
|
485
|
-
|
|
486
|
-
##
|
|
487
|
-
# Adding a Pause Between Paragraphs in <Say>
|
|
488
|
-
class SsmlP < TwiML
|
|
489
|
-
def initialize(words, **keyword_args)
|
|
490
|
-
super(**keyword_args)
|
|
491
|
-
@name = 'p'
|
|
492
|
-
@value = words
|
|
493
|
-
yield(self) if block_given?
|
|
494
|
-
end
|
|
495
|
-
end
|
|
496
|
-
|
|
497
|
-
##
|
|
498
|
-
# Specifying Another Language for Specific Words in <Say>
|
|
499
|
-
class SsmlLang < TwiML
|
|
500
|
-
def initialize(words, **keyword_args)
|
|
501
|
-
super(**keyword_args)
|
|
502
|
-
@name = 'lang'
|
|
503
|
-
@value = words
|
|
504
|
-
yield(self) if block_given?
|
|
505
|
-
end
|
|
506
|
-
end
|
|
1301
|
+
def w(words: nil, role: nil, **keyword_args)
|
|
1302
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
|
507
1303
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
class SsmlEmphasis < TwiML
|
|
511
|
-
def initialize(words, **keyword_args)
|
|
512
|
-
super(**keyword_args)
|
|
513
|
-
@name = 'emphasis'
|
|
514
|
-
@value = words
|
|
515
|
-
yield(self) if block_given?
|
|
1304
|
+
yield(w) if block_given?
|
|
1305
|
+
append(w)
|
|
516
1306
|
end
|
|
517
1307
|
end
|
|
518
1308
|
|
|
@@ -539,17 +1329,27 @@ module Twilio
|
|
|
539
1329
|
|
|
540
1330
|
##
|
|
541
1331
|
# Create a new <Prompt> element
|
|
542
|
-
# for_:: Name of the
|
|
1332
|
+
# for_:: Name of the payment source data element
|
|
543
1333
|
# error_type:: Type of error
|
|
544
1334
|
# card_type:: Type of the credit card
|
|
545
1335
|
# attempt:: Current attempt count
|
|
1336
|
+
# require_matching_inputs:: Require customer to input requested information twice and verify matching.
|
|
546
1337
|
# keyword_args:: additional attributes
|
|
547
|
-
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
|
|
548
|
-
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
|
|
1338
|
+
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
|
|
1339
|
+
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
|
|
549
1340
|
|
|
550
1341
|
yield(prompt) if block_given?
|
|
551
1342
|
append(prompt)
|
|
552
1343
|
end
|
|
1344
|
+
|
|
1345
|
+
##
|
|
1346
|
+
# Create a new <Parameter> element
|
|
1347
|
+
# name:: The name of the custom parameter
|
|
1348
|
+
# value:: The value of the custom parameter
|
|
1349
|
+
# keyword_args:: additional attributes
|
|
1350
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
1351
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
1352
|
+
end
|
|
553
1353
|
end
|
|
554
1354
|
|
|
555
1355
|
##
|
|
@@ -572,6 +1372,15 @@ module Twilio
|
|
|
572
1372
|
|
|
573
1373
|
yield(self) if block_given?
|
|
574
1374
|
end
|
|
1375
|
+
|
|
1376
|
+
##
|
|
1377
|
+
# Create a new <Parameter> element
|
|
1378
|
+
# name:: The name of the custom parameter
|
|
1379
|
+
# value:: The value of the custom parameter
|
|
1380
|
+
# keyword_args:: additional attributes
|
|
1381
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
1382
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
1383
|
+
end
|
|
575
1384
|
end
|
|
576
1385
|
|
|
577
1386
|
##
|
|
@@ -627,6 +1436,15 @@ module Twilio
|
|
|
627
1436
|
|
|
628
1437
|
yield(self) if block_given?
|
|
629
1438
|
end
|
|
1439
|
+
|
|
1440
|
+
##
|
|
1441
|
+
# Create a new <Parameter> element
|
|
1442
|
+
# name:: The name of the custom parameter
|
|
1443
|
+
# value:: The value of the custom parameter
|
|
1444
|
+
# keyword_args:: additional attributes
|
|
1445
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
1446
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
1447
|
+
end
|
|
630
1448
|
end
|
|
631
1449
|
|
|
632
1450
|
##
|
|
@@ -644,7 +1462,7 @@ module Twilio
|
|
|
644
1462
|
# message:: Message to say
|
|
645
1463
|
# voice:: Voice to use
|
|
646
1464
|
# loop:: Times to loop message
|
|
647
|
-
# language:: Message
|
|
1465
|
+
# language:: Message language
|
|
648
1466
|
# keyword_args:: additional attributes
|
|
649
1467
|
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
|
650
1468
|
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
|
@@ -753,7 +1571,7 @@ module Twilio
|
|
|
753
1571
|
# max_participants:: Maximum number of participants
|
|
754
1572
|
# record:: Record the conference
|
|
755
1573
|
# region:: Conference region
|
|
756
|
-
#
|
|
1574
|
+
# coach:: Call coach
|
|
757
1575
|
# trim:: Trim the conference recording
|
|
758
1576
|
# status_callback_event:: Events to call status callback URL
|
|
759
1577
|
# status_callback:: Status callback URL
|
|
@@ -762,9 +1580,11 @@ module Twilio
|
|
|
762
1580
|
# recording_status_callback_method:: Recording status callback URL method
|
|
763
1581
|
# recording_status_callback_event:: Recording status callback events
|
|
764
1582
|
# event_callback_url:: Event callback URL
|
|
1583
|
+
# jitter_buffer_size:: Size of jitter buffer for participant
|
|
1584
|
+
# participant_label:: A label for participant
|
|
765
1585
|
# keyword_args:: additional attributes
|
|
766
|
-
def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil,
|
|
767
|
-
append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region,
|
|
1586
|
+
def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, jitter_buffer_size: nil, participant_label: nil, **keyword_args)
|
|
1587
|
+
append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, jitter_buffer_size: jitter_buffer_size, participant_label: participant_label, **keyword_args))
|
|
768
1588
|
end
|
|
769
1589
|
|
|
770
1590
|
##
|
|
@@ -776,9 +1596,17 @@ module Twilio
|
|
|
776
1596
|
# status_callback_event:: Events to call status callback
|
|
777
1597
|
# status_callback:: Status callback URL
|
|
778
1598
|
# status_callback_method:: Status callback URL method
|
|
1599
|
+
# byoc:: BYOC trunk SID (Beta)
|
|
1600
|
+
# machine_detection:: Enable machine detection or end of greeting detection
|
|
1601
|
+
# amd_status_callback_method:: HTTP Method to use with amd_status_callback
|
|
1602
|
+
# amd_status_callback:: The URL we should call to send amd status information to your application
|
|
1603
|
+
# machine_detection_timeout:: Number of seconds to wait for machine detection
|
|
1604
|
+
# machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
|
|
1605
|
+
# machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
|
|
1606
|
+
# machine_detection_silence_timeout:: Number of milliseconds of initial silence
|
|
779
1607
|
# keyword_args:: additional attributes
|
|
780
|
-
def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
|
781
|
-
append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
|
|
1608
|
+
def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
|
|
1609
|
+
append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
|
|
782
1610
|
end
|
|
783
1611
|
|
|
784
1612
|
##
|
|
@@ -811,9 +1639,73 @@ module Twilio
|
|
|
811
1639
|
# status_callback_event:: Status callback events
|
|
812
1640
|
# status_callback:: Status callback URL
|
|
813
1641
|
# status_callback_method:: Status callback URL method
|
|
1642
|
+
# machine_detection:: Enable machine detection or end of greeting detection
|
|
1643
|
+
# amd_status_callback_method:: HTTP Method to use with amd_status_callback
|
|
1644
|
+
# amd_status_callback:: The URL we should call to send amd status information to your application
|
|
1645
|
+
# machine_detection_timeout:: Number of seconds to wait for machine detection
|
|
1646
|
+
# machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
|
|
1647
|
+
# machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
|
|
1648
|
+
# machine_detection_silence_timeout:: Number of milliseconds of initial silence
|
|
1649
|
+
# keyword_args:: additional attributes
|
|
1650
|
+
def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
|
|
1651
|
+
append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
|
|
1652
|
+
end
|
|
1653
|
+
|
|
1654
|
+
##
|
|
1655
|
+
# Create a new <Application> element
|
|
1656
|
+
# application_sid:: Application sid
|
|
1657
|
+
# url:: TwiML URL
|
|
1658
|
+
# method:: TwiML URL Method
|
|
1659
|
+
# status_callback_event:: Events to trigger status callback
|
|
1660
|
+
# status_callback:: Status Callback URL
|
|
1661
|
+
# status_callback_method:: Status Callback URL Method
|
|
1662
|
+
# customer_id:: Identity of the customer calling application
|
|
1663
|
+
# copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
|
|
1664
|
+
# keyword_args:: additional attributes
|
|
1665
|
+
def application(application_sid: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, customer_id: nil, copy_parent_to: nil, **keyword_args)
|
|
1666
|
+
application = Application.new(application_sid: application_sid, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, customer_id: customer_id, copy_parent_to: copy_parent_to, **keyword_args)
|
|
1667
|
+
|
|
1668
|
+
yield(application) if block_given?
|
|
1669
|
+
append(application)
|
|
1670
|
+
end
|
|
1671
|
+
end
|
|
1672
|
+
|
|
1673
|
+
##
|
|
1674
|
+
# <Application> TwiML Noun
|
|
1675
|
+
class Application < TwiML
|
|
1676
|
+
def initialize(application_sid: nil, **keyword_args)
|
|
1677
|
+
super(**keyword_args)
|
|
1678
|
+
@name = 'Application'
|
|
1679
|
+
@value = application_sid unless application_sid.nil?
|
|
1680
|
+
yield(self) if block_given?
|
|
1681
|
+
end
|
|
1682
|
+
|
|
1683
|
+
##
|
|
1684
|
+
# Create a new <ApplicationSid> element
|
|
1685
|
+
# sid:: Application sid to dial
|
|
1686
|
+
# keyword_args:: additional attributes
|
|
1687
|
+
def application_sid(sid, **keyword_args)
|
|
1688
|
+
append(ApplicationSid.new(sid, **keyword_args))
|
|
1689
|
+
end
|
|
1690
|
+
|
|
1691
|
+
##
|
|
1692
|
+
# Create a new <Parameter> element
|
|
1693
|
+
# name:: The name of the custom parameter
|
|
1694
|
+
# value:: The value of the custom parameter
|
|
814
1695
|
# keyword_args:: additional attributes
|
|
815
|
-
def
|
|
816
|
-
append(
|
|
1696
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
1697
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
1698
|
+
end
|
|
1699
|
+
end
|
|
1700
|
+
|
|
1701
|
+
##
|
|
1702
|
+
# <ApplicationSid> TwiML Noun
|
|
1703
|
+
class ApplicationSid < TwiML
|
|
1704
|
+
def initialize(sid, **keyword_args)
|
|
1705
|
+
super(**keyword_args)
|
|
1706
|
+
@name = 'ApplicationSid'
|
|
1707
|
+
@value = sid
|
|
1708
|
+
yield(self) if block_given?
|
|
817
1709
|
end
|
|
818
1710
|
end
|
|
819
1711
|
|
|
@@ -889,17 +1781,6 @@ module Twilio
|
|
|
889
1781
|
end
|
|
890
1782
|
end
|
|
891
1783
|
|
|
892
|
-
##
|
|
893
|
-
# <Parameter> TwiML Noun
|
|
894
|
-
class Parameter < TwiML
|
|
895
|
-
def initialize(**keyword_args)
|
|
896
|
-
super(**keyword_args)
|
|
897
|
-
@name = 'Parameter'
|
|
898
|
-
|
|
899
|
-
yield(self) if block_given?
|
|
900
|
-
end
|
|
901
|
-
end
|
|
902
|
-
|
|
903
1784
|
##
|
|
904
1785
|
# <Identity> TwiML Noun
|
|
905
1786
|
class Identity < TwiML
|
|
@@ -924,10 +1805,10 @@ module Twilio
|
|
|
924
1805
|
##
|
|
925
1806
|
# Create a new <Room> element
|
|
926
1807
|
# name:: Room name
|
|
927
|
-
#
|
|
1808
|
+
# participant_identity:: Participant identity when connecting to the Room
|
|
928
1809
|
# keyword_args:: additional attributes
|
|
929
|
-
def room(name,
|
|
930
|
-
append(Room.new(name,
|
|
1810
|
+
def room(name, participant_identity: nil, **keyword_args)
|
|
1811
|
+
append(Room.new(name, participant_identity: participant_identity, **keyword_args))
|
|
931
1812
|
end
|
|
932
1813
|
|
|
933
1814
|
##
|
|
@@ -937,6 +1818,109 @@ module Twilio
|
|
|
937
1818
|
def autopilot(name, **keyword_args)
|
|
938
1819
|
append(Autopilot.new(name, **keyword_args))
|
|
939
1820
|
end
|
|
1821
|
+
|
|
1822
|
+
##
|
|
1823
|
+
# Create a new <Stream> element
|
|
1824
|
+
# name:: Friendly name given to the Stream
|
|
1825
|
+
# connector_name:: Unique name for Stream Connector
|
|
1826
|
+
# url:: URL of the remote service where the Stream is routed
|
|
1827
|
+
# track:: Track to be streamed to remote service
|
|
1828
|
+
# status_callback:: Status Callback URL
|
|
1829
|
+
# status_callback_method:: Status Callback URL method
|
|
1830
|
+
# keyword_args:: additional attributes
|
|
1831
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
|
1832
|
+
stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
|
|
1833
|
+
|
|
1834
|
+
yield(stream) if block_given?
|
|
1835
|
+
append(stream)
|
|
1836
|
+
end
|
|
1837
|
+
|
|
1838
|
+
##
|
|
1839
|
+
# Create a new <VirtualAgent> element
|
|
1840
|
+
# connector_name:: Defines the conversation profile Dialogflow needs to use
|
|
1841
|
+
# language:: Language to be used by Dialogflow to transcribe speech
|
|
1842
|
+
# sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
|
|
1843
|
+
# status_callback:: URL to post status callbacks from Twilio
|
|
1844
|
+
# status_callback_method:: HTTP method to use when requesting the status callback URL
|
|
1845
|
+
# keyword_args:: additional attributes
|
|
1846
|
+
def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
|
1847
|
+
virtual_agent = VirtualAgent.new(connector_name: connector_name, language: language, sentiment_analysis: sentiment_analysis, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
|
|
1848
|
+
|
|
1849
|
+
yield(virtual_agent) if block_given?
|
|
1850
|
+
append(virtual_agent)
|
|
1851
|
+
end
|
|
1852
|
+
|
|
1853
|
+
##
|
|
1854
|
+
# Create a new <Conversation> element
|
|
1855
|
+
# service_instance_sid:: Service instance Sid
|
|
1856
|
+
# inbound_autocreation:: Inbound autocreation
|
|
1857
|
+
# routing_assignment_timeout:: Routing assignment timeout
|
|
1858
|
+
# inbound_timeout:: Inbound timeout
|
|
1859
|
+
# url:: TwiML URL
|
|
1860
|
+
# method:: TwiML URL method
|
|
1861
|
+
# record:: Record
|
|
1862
|
+
# trim:: Trim
|
|
1863
|
+
# recording_status_callback:: Recording status callback URL
|
|
1864
|
+
# recording_status_callback_method:: Recording status callback URL method
|
|
1865
|
+
# recording_status_callback_event:: Recording status callback events
|
|
1866
|
+
# status_callback:: Status callback URL
|
|
1867
|
+
# status_callback_method:: Status callback URL method
|
|
1868
|
+
# status_callback_event:: Events to call status callback URL
|
|
1869
|
+
# keyword_args:: additional attributes
|
|
1870
|
+
def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: nil, url: nil, method: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, status_callback: nil, status_callback_method: nil, status_callback_event: nil, **keyword_args)
|
|
1871
|
+
append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, url: url, method: method, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, status_callback_event: status_callback_event, **keyword_args))
|
|
1872
|
+
end
|
|
1873
|
+
end
|
|
1874
|
+
|
|
1875
|
+
##
|
|
1876
|
+
# <Conversation> TwiML Noun
|
|
1877
|
+
class Conversation < TwiML
|
|
1878
|
+
def initialize(**keyword_args)
|
|
1879
|
+
super(**keyword_args)
|
|
1880
|
+
@name = 'Conversation'
|
|
1881
|
+
|
|
1882
|
+
yield(self) if block_given?
|
|
1883
|
+
end
|
|
1884
|
+
end
|
|
1885
|
+
|
|
1886
|
+
##
|
|
1887
|
+
# <VirtualAgent> TwiML Noun
|
|
1888
|
+
class VirtualAgent < TwiML
|
|
1889
|
+
def initialize(**keyword_args)
|
|
1890
|
+
super(**keyword_args)
|
|
1891
|
+
@name = 'VirtualAgent'
|
|
1892
|
+
|
|
1893
|
+
yield(self) if block_given?
|
|
1894
|
+
end
|
|
1895
|
+
|
|
1896
|
+
##
|
|
1897
|
+
# Create a new <Config> element
|
|
1898
|
+
# name:: The name of the custom config
|
|
1899
|
+
# value:: The value of the custom config
|
|
1900
|
+
# keyword_args:: additional attributes
|
|
1901
|
+
def config(name: nil, value: nil, **keyword_args)
|
|
1902
|
+
append(Config.new(name: name, value: value, **keyword_args))
|
|
1903
|
+
end
|
|
1904
|
+
|
|
1905
|
+
##
|
|
1906
|
+
# Create a new <Parameter> element
|
|
1907
|
+
# name:: The name of the custom parameter
|
|
1908
|
+
# value:: The value of the custom parameter
|
|
1909
|
+
# keyword_args:: additional attributes
|
|
1910
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
|
1911
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
|
1912
|
+
end
|
|
1913
|
+
end
|
|
1914
|
+
|
|
1915
|
+
##
|
|
1916
|
+
# <Config> TwiML Noun
|
|
1917
|
+
class Config < TwiML
|
|
1918
|
+
def initialize(**keyword_args)
|
|
1919
|
+
super(**keyword_args)
|
|
1920
|
+
@name = 'Config'
|
|
1921
|
+
|
|
1922
|
+
yield(self) if block_given?
|
|
1923
|
+
end
|
|
940
1924
|
end
|
|
941
1925
|
|
|
942
1926
|
##
|