twilio-ruby 3.11.5 → 5.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.dockerignore +1 -0
- data/.github/workflows/pr-lint.yml +15 -0
- data/.github/workflows/test-and-deploy.yml +129 -0
- data/.gitignore +12 -2
- data/.rubocop.yml +59 -0
- data/.rubocop_todo.yml +261 -0
- data/AUTHORS.md +21 -0
- data/CHANGES.md +3045 -0
- data/CODE_OF_CONDUCT.md +73 -0
- data/CONTRIBUTING.md +161 -0
- data/Dockerfile +9 -0
- data/Gemfile +2 -2
- data/ISSUE_TEMPLATE.md +30 -0
- data/LICENSE +13 -11
- data/Makefile +26 -5
- data/PULL_REQUEST_TEMPLATE.md +31 -0
- data/README.md +171 -90
- data/Rakefile +8 -10
- data/UPGRADE.md +30 -0
- data/VERSIONS.md +35 -0
- data/examples/examples.rb +62 -49
- data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
- data/githooks/pre-commit +1 -0
- data/lib/rack/twilio_webhook_authentication.rb +72 -0
- data/lib/twilio-ruby/framework/request.rb +41 -0
- data/lib/twilio-ruby/framework/response.rb +18 -0
- data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
- data/lib/twilio-ruby/framework/rest/error.rb +51 -0
- data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
- data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
- data/lib/twilio-ruby/framework/rest/page.rb +103 -0
- data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
- data/lib/twilio-ruby/framework/rest/version.rb +153 -0
- data/lib/twilio-ruby/framework/serialize.rb +81 -0
- data/lib/twilio-ruby/framework/twilio_response.rb +19 -0
- data/lib/twilio-ruby/framework/values.rb +9 -0
- data/lib/twilio-ruby/http/http_client.rb +79 -0
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/jwt/access_token.rb +285 -0
- data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
- data/lib/twilio-ruby/jwt/jwt.rb +59 -0
- data/lib/twilio-ruby/jwt/task_router.rb +172 -0
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +339 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +339 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -0
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +49 -0
- data/lib/twilio-ruby/rest/accounts.rb +50 -9
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +521 -0
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +593 -0
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +327 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +464 -0
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +301 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +314 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +428 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +522 -0
- 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.rb +998 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +728 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +500 -0
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +414 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +367 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +561 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +560 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +560 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +910 -0
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +309 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +173 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +632 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +145 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +145 -0
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +406 -0
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +365 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +349 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +397 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +387 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +398 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +383 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +520 -0
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +415 -0
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +313 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +387 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +386 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +355 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +660 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +432 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +387 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +157 -0
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +161 -0
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +357 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +351 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +423 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +495 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +120 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +168 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +953 -0
- data/lib/twilio-ruby/rest/api/v2010.rb +154 -0
- data/lib/twilio-ruby/rest/api.rb +247 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +418 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
- data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
- data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
- data/lib/twilio-ruby/rest/autopilot.rb +53 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
- 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/bulkexports/v1/export.rb +243 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
- 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 +413 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +402 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +451 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +522 -0
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +374 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v1/service.rb +904 -0
- data/lib/twilio-ruby/rest/chat/v1.rb +62 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +411 -0
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +397 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +538 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +544 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -0
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +376 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +392 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +430 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +498 -0
- data/lib/twilio-ruby/rest/chat/v2/service.rb +788 -0
- data/lib/twilio-ruby/rest/chat/v2.rb +60 -0
- 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 +79 -0
- data/lib/twilio-ruby/rest/client.rb +572 -214
- 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 +502 -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 +548 -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/conversations/v1/service.rb +457 -0
- 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/events/v1/schema/version.rb +290 -0
- 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/channel.rb +340 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +490 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -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 +99 -0
- data/lib/twilio-ruby/rest/flex_api.rb +80 -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 +314 -0
- data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -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 +90 -0
- data/lib/twilio-ruby/rest/insights.rb +74 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +374 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +370 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +408 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +420 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +495 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +354 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +240 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +425 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +789 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +60 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +374 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +350 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +370 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +462 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +490 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +562 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +354 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +362 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +395 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +474 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +699 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +60 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +61 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -0
- data/lib/twilio-ruby/rest/lookups/v1.rb +46 -0
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +261 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
- data/lib/twilio-ruby/rest/lookups.rb +55 -0
- 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 +58 -7
- 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/external_campaign.rb +150 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +342 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +348 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +343 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -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 +773 -0
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +81 -0
- data/lib/twilio-ruby/rest/messaging.rb +73 -0
- data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +332 -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 +405 -0
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +400 -0
- data/lib/twilio-ruby/rest/monitor/v1.rb +60 -0
- data/lib/twilio-ruby/rest/monitor.rb +56 -0
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +418 -0
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +459 -0
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +369 -0
- data/lib/twilio-ruby/rest/notify/v1/service.rb +632 -0
- data/lib/twilio-ruby/rest/notify/v1.rb +62 -0
- data/lib/twilio-ruby/rest/notify.rb +56 -0
- 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/preview/deployed_devices/fleet/certificate.rb +382 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +365 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +425 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +376 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +469 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +45 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +456 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +62 -0
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +305 -0
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +319 -0
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +408 -0
- data/lib/twilio-ruby/rest/preview/marketplace.rb +60 -0
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +385 -0
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +406 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +418 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +385 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +405 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +415 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +385 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +405 -0
- data/lib/twilio-ruby/rest/preview/sync/service.rb +462 -0
- data/lib/twilio-ruby/rest/preview/sync.rb +44 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +386 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +407 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +380 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +437 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +428 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
- data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
- data/lib/twilio-ruby/rest/preview/understand.rb +45 -0
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +374 -0
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +408 -0
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -0
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +533 -0
- data/lib/twilio-ruby/rest/preview/wireless.rb +76 -0
- data/lib/twilio-ruby/rest/preview.rb +193 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +282 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +127 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +275 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +127 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +282 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +204 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +143 -0
- data/lib/twilio-ruby/rest/pricing/v1.rb +49 -0
- 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 +282 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
- data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
- data/lib/twilio-ruby/rest/pricing.rb +82 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +410 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +429 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +458 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +468 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +554 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +377 -0
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +606 -0
- data/lib/twilio-ruby/rest/proxy/v1.rb +45 -0
- data/lib/twilio-ruby/rest/proxy.rb +47 -0
- 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/serverless/v1/service.rb +503 -0
- 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 +210 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +366 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +401 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +365 -0
- data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
- 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 +60 -0
- 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 +416 -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/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 +147 -0
- data/lib/twilio-ruby/rest/supersim.rb +106 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +382 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +430 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +501 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +381 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +452 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +506 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +379 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +451 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +407 -0
- data/lib/twilio-ruby/rest/sync/v1/service.rb +577 -0
- data/lib/twilio-ruby/rest/sync/v1.rb +44 -0
- data/lib/twilio-ruby/rest/sync.rb +47 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +402 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +471 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +747 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +668 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +389 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +381 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +287 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +265 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +285 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +573 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +743 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +399 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +250 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +277 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +204 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +245 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +638 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +387 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +273 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +517 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +363 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +740 -0
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +44 -0
- data/lib/twilio-ruby/rest/taskrouter.rb +47 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +327 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +324 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +426 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +458 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +640 -0
- data/lib/twilio-ruby/rest/trunking/v1.rb +45 -0
- data/lib/twilio-ruby/rest/trunking.rb +47 -0
- 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/verify/v2/form.rb +191 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +269 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +551 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +472 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +309 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -0
- 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 +373 -0
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +212 -0
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
- data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
- data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -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 +92 -0
- data/lib/twilio-ruby/rest/verify.rb +77 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +517 -0
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +436 -0
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +413 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +335 -0
- 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 +340 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +483 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +612 -0
- data/lib/twilio-ruby/rest/video/v1.rb +106 -0
- data/lib/twilio-ruby/rest/video.rb +86 -0
- 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/dialing_permissions/bulk_country_update.rb +128 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
- 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 +124 -0
- data/lib/twilio-ruby/rest/voice.rb +88 -0
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -0
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +446 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +291 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +657 -0
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
- data/lib/twilio-ruby/rest/wireless/v1.rb +83 -0
- data/lib/twilio-ruby/rest/wireless.rb +71 -0
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/security/request_validator.rb +150 -0
- data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
- data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
- data/lib/twilio-ruby/twiml/twiml.rb +126 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +1849 -0
- data/lib/twilio-ruby/util/configuration.rb +33 -0
- data/lib/twilio-ruby/util.rb +5 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +39 -50
- data/sonar-project.properties +13 -0
- data/twilio-ruby.gemspec +34 -26
- metadata +674 -141
- data/.travis.yml +0 -13
- data/CHANGES +0 -47
- data/docs/Makefile +0 -130
- data/docs/_themes/LICENSE +0 -45
- data/docs/_themes/README.rst +0 -25
- data/docs/_themes/flask_theme_support.py +0 -86
- data/docs/_themes/kr/layout.html +0 -32
- data/docs/_themes/kr/relations.html +0 -19
- data/docs/_themes/kr/static/flasky.css_t +0 -469
- data/docs/_themes/kr/static/small_flask.css +0 -70
- data/docs/_themes/kr/theme.conf +0 -7
- data/docs/_themes/kr_small/layout.html +0 -22
- data/docs/_themes/kr_small/static/flasky.css_t +0 -287
- data/docs/_themes/kr_small/theme.conf +0 -10
- data/docs/changelog.rst +0 -1
- data/docs/conf.py +0 -266
- data/docs/faq.rst +0 -42
- data/docs/getting-started.rst +0 -91
- data/docs/index.rst +0 -109
- data/docs/make.bat +0 -170
- data/docs/src/pip-delete-this-directory.txt +0 -5
- data/docs/usage/accounts.rst +0 -89
- data/docs/usage/applications.rst +0 -108
- data/docs/usage/basics.rst +0 -102
- data/docs/usage/caller-ids.rst +0 -45
- data/docs/usage/conferences.rst +0 -108
- data/docs/usage/errors.rst +0 -29
- data/docs/usage/messages.rst +0 -109
- data/docs/usage/notifications.rst +0 -70
- data/docs/usage/phone-calls.rst +0 -166
- data/docs/usage/phone-numbers.rst +0 -174
- data/docs/usage/queues.rst +0 -112
- data/docs/usage/recordings.rst +0 -96
- data/docs/usage/sip.rst +0 -103
- data/docs/usage/token-generation.rst +0 -81
- data/docs/usage/transcriptions.rst +0 -31
- data/docs/usage/twiml.rst +0 -69
- data/docs/usage/validation.rst +0 -71
- data/lib/twilio-ruby/rest/applications.rb +0 -6
- data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
- data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
- data/lib/twilio-ruby/rest/calls.rb +0 -28
- data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
- data/lib/twilio-ruby/rest/conferences.rb +0 -12
- data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/errors.rb +0 -14
- data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
- data/lib/twilio-ruby/rest/list_resource.rb +0 -110
- data/lib/twilio-ruby/rest/messages.rb +0 -17
- data/lib/twilio-ruby/rest/notifications.rb +0 -6
- data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
- data/lib/twilio-ruby/rest/queues/members.rb +0 -29
- data/lib/twilio-ruby/rest/queues.rb +0 -12
- data/lib/twilio-ruby/rest/recordings.rb +0 -35
- data/lib/twilio-ruby/rest/sandbox.rb +0 -5
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip.rb +0 -12
- data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
- data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
- data/lib/twilio-ruby/rest/sms.rb +0 -11
- data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
- data/lib/twilio-ruby/rest/usage/records.rb +0 -21
- data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
- data/lib/twilio-ruby/rest/usage.rb +0 -10
- data/lib/twilio-ruby/rest/utils.rb +0 -25
- data/lib/twilio-ruby/twiml/response.rb +0 -15
- data/lib/twilio-ruby/util/capability.rb +0 -61
- data/lib/twilio-ruby/util/request_validator.rb +0 -22
- data/spec/rest/account_spec.rb +0 -58
- data/spec/rest/call_spec.rb +0 -18
- data/spec/rest/client_spec.rb +0 -100
- data/spec/rest/conference_spec.rb +0 -9
- data/spec/rest/instance_resource_spec.rb +0 -15
- data/spec/rest/message_spec.rb +0 -12
- data/spec/rest/numbers_spec.rb +0 -46
- data/spec/rest/queue_spec.rb +0 -9
- data/spec/rest/recording_spec.rb +0 -9
- data/spec/spec_helper.rb +0 -6
- data/spec/util/capability_spec.rb +0 -137
- data/spec/util/request_validator_spec.rb +0 -65
- data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,1849 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module TwiML
|
11
|
+
##
|
12
|
+
# <Response> TwiML for Voice
|
13
|
+
class VoiceResponse < TwiML
|
14
|
+
def initialize(**keyword_args)
|
15
|
+
super(**keyword_args)
|
16
|
+
@name = 'Response'
|
17
|
+
|
18
|
+
yield(self) if block_given?
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Create a new <Connect> element
|
23
|
+
# action:: Action URL
|
24
|
+
# method:: Action URL method
|
25
|
+
# keyword_args:: additional attributes
|
26
|
+
def connect(action: nil, method: nil, **keyword_args)
|
27
|
+
connect = Connect.new(action: action, method: method, **keyword_args)
|
28
|
+
|
29
|
+
yield(connect) if block_given?
|
30
|
+
append(connect)
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Create a new <Dial> element
|
35
|
+
# number:: Phone number to dial
|
36
|
+
# action:: Action URL
|
37
|
+
# method:: Action URL method
|
38
|
+
# timeout:: Time to wait for answer
|
39
|
+
# hangup_on_star:: Hangup call on star press
|
40
|
+
# time_limit:: Max time length
|
41
|
+
# caller_id:: Caller ID to display
|
42
|
+
# record:: Record the call
|
43
|
+
# trim:: Trim the recording
|
44
|
+
# recording_status_callback:: Recording status callback URL
|
45
|
+
# recording_status_callback_method:: Recording status callback URL method
|
46
|
+
# recording_status_callback_event:: Recording status callback events
|
47
|
+
# answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
|
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
|
53
|
+
# keyword_args:: additional attributes
|
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)
|
56
|
+
|
57
|
+
yield(dial) if block_given?
|
58
|
+
append(dial)
|
59
|
+
end
|
60
|
+
|
61
|
+
##
|
62
|
+
# Create a new <Echo> element
|
63
|
+
# keyword_args:: additional attributes
|
64
|
+
def echo(**keyword_args)
|
65
|
+
append(Echo.new(**keyword_args))
|
66
|
+
end
|
67
|
+
|
68
|
+
##
|
69
|
+
# Create a new <Enqueue> element
|
70
|
+
# name:: Friendly name
|
71
|
+
# action:: Action URL
|
72
|
+
# max_queue_size:: Maximum size of queue
|
73
|
+
# method:: Action URL method
|
74
|
+
# wait_url:: Wait URL
|
75
|
+
# wait_url_method:: Wait URL method
|
76
|
+
# workflow_sid:: TaskRouter Workflow SID
|
77
|
+
# keyword_args:: additional attributes
|
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)
|
80
|
+
|
81
|
+
yield(enqueue) if block_given?
|
82
|
+
append(enqueue)
|
83
|
+
end
|
84
|
+
|
85
|
+
##
|
86
|
+
# Create a new <Gather> element
|
87
|
+
# input:: Input type Twilio should accept
|
88
|
+
# action:: Action URL
|
89
|
+
# method:: Action URL method
|
90
|
+
# timeout:: Time to wait to gather input
|
91
|
+
# speech_timeout:: Time to wait to gather speech input and it should be either auto or a positive integer.
|
92
|
+
# max_speech_time:: Max allowed time for speech input
|
93
|
+
# profanity_filter:: Profanity Filter on speech
|
94
|
+
# finish_on_key:: Finish gather on key
|
95
|
+
# num_digits:: Number of digits to collect
|
96
|
+
# partial_result_callback:: Partial result callback URL
|
97
|
+
# partial_result_callback_method:: Partial result callback URL method
|
98
|
+
# language:: Language to use
|
99
|
+
# hints:: Speech recognition hints
|
100
|
+
# barge_in:: Stop playing media upon speech
|
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
|
105
|
+
# keyword_args:: additional attributes
|
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)
|
108
|
+
|
109
|
+
yield(gather) if block_given?
|
110
|
+
append(gather)
|
111
|
+
end
|
112
|
+
|
113
|
+
##
|
114
|
+
# Create a new <Hangup> element
|
115
|
+
# keyword_args:: additional attributes
|
116
|
+
def hangup(**keyword_args)
|
117
|
+
append(Hangup.new(**keyword_args))
|
118
|
+
end
|
119
|
+
|
120
|
+
##
|
121
|
+
# Create a new <Leave> element
|
122
|
+
# keyword_args:: additional attributes
|
123
|
+
def leave(**keyword_args)
|
124
|
+
append(Leave.new(**keyword_args))
|
125
|
+
end
|
126
|
+
|
127
|
+
##
|
128
|
+
# Create a new <Pause> element
|
129
|
+
# length:: Length in seconds to pause
|
130
|
+
# keyword_args:: additional attributes
|
131
|
+
def pause(length: nil, **keyword_args)
|
132
|
+
append(Pause.new(length: length, **keyword_args))
|
133
|
+
end
|
134
|
+
|
135
|
+
##
|
136
|
+
# Create a new <Play> element
|
137
|
+
# url:: Media URL
|
138
|
+
# loop:: Times to loop media
|
139
|
+
# digits:: Play DTMF tones for digits
|
140
|
+
# keyword_args:: additional attributes
|
141
|
+
def play(url: nil, loop: nil, digits: nil, **keyword_args)
|
142
|
+
append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
|
143
|
+
end
|
144
|
+
|
145
|
+
##
|
146
|
+
# Create a new <Queue> element
|
147
|
+
# name:: Queue name
|
148
|
+
# url:: Action URL
|
149
|
+
# method:: Action URL method
|
150
|
+
# reservation_sid:: TaskRouter Reservation SID
|
151
|
+
# post_work_activity_sid:: TaskRouter Activity SID
|
152
|
+
# keyword_args:: additional attributes
|
153
|
+
def queue(name, url: nil, method: nil, reservation_sid: nil, post_work_activity_sid: nil, **keyword_args)
|
154
|
+
append(Queue.new(name, url: url, method: method, reservation_sid: reservation_sid, post_work_activity_sid: post_work_activity_sid, **keyword_args))
|
155
|
+
end
|
156
|
+
|
157
|
+
##
|
158
|
+
# Create a new <Record> element
|
159
|
+
# action:: Action URL
|
160
|
+
# method:: Action URL method
|
161
|
+
# timeout:: Timeout to begin recording
|
162
|
+
# finish_on_key:: Finish recording on key
|
163
|
+
# max_length:: Max time to record in seconds
|
164
|
+
# play_beep:: Play beep
|
165
|
+
# trim:: Trim the recording
|
166
|
+
# recording_status_callback:: Status callback URL
|
167
|
+
# recording_status_callback_method:: Status callback URL method
|
168
|
+
# recording_status_callback_event:: Recording status callback events
|
169
|
+
# transcribe:: Transcribe the recording
|
170
|
+
# transcribe_callback:: Transcribe callback URL
|
171
|
+
# keyword_args:: additional attributes
|
172
|
+
def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
|
173
|
+
append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
|
174
|
+
end
|
175
|
+
|
176
|
+
##
|
177
|
+
# Create a new <Redirect> element
|
178
|
+
# url:: Redirect URL
|
179
|
+
# method:: Redirect URL method
|
180
|
+
# keyword_args:: additional attributes
|
181
|
+
def redirect(url, method: nil, **keyword_args)
|
182
|
+
append(Redirect.new(url, method: method, **keyword_args))
|
183
|
+
end
|
184
|
+
|
185
|
+
##
|
186
|
+
# Create a new <Reject> element
|
187
|
+
# reason:: Rejection reason
|
188
|
+
# keyword_args:: additional attributes
|
189
|
+
def reject(reason: nil, **keyword_args)
|
190
|
+
append(Reject.new(reason: reason, **keyword_args))
|
191
|
+
end
|
192
|
+
|
193
|
+
##
|
194
|
+
# Create a new <Say> element
|
195
|
+
# message:: Message to say
|
196
|
+
# voice:: Voice to use
|
197
|
+
# loop:: Times to loop message
|
198
|
+
# language:: Message language
|
199
|
+
# keyword_args:: additional attributes
|
200
|
+
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
201
|
+
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
202
|
+
|
203
|
+
yield(say) if block_given?
|
204
|
+
append(say)
|
205
|
+
end
|
206
|
+
|
207
|
+
##
|
208
|
+
# Create a new <Sms> element
|
209
|
+
# message:: Message body
|
210
|
+
# to:: Number to send message to
|
211
|
+
# from:: Number to send message from
|
212
|
+
# action:: Action URL
|
213
|
+
# method:: Action URL method
|
214
|
+
# status_callback:: Status callback URL
|
215
|
+
# keyword_args:: additional attributes
|
216
|
+
def sms(message, to: nil, from: nil, action: nil, method: nil, status_callback: nil, **keyword_args)
|
217
|
+
append(Sms.new(message, to: to, from: from, action: action, method: method, status_callback: status_callback, **keyword_args))
|
218
|
+
end
|
219
|
+
|
220
|
+
##
|
221
|
+
# Create a new <Pay> element
|
222
|
+
# input:: Input type Twilio should accept
|
223
|
+
# action:: Action URL
|
224
|
+
# 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
|
225
|
+
# status_callback:: Status callback URL
|
226
|
+
# status_callback_method:: Status callback method
|
227
|
+
# timeout:: Time to wait to gather input
|
228
|
+
# max_attempts:: Maximum number of allowed retries when gathering input
|
229
|
+
# security_code:: Prompt for security code
|
230
|
+
# postal_code:: Prompt for postal code and it should be true/false or default postal code
|
231
|
+
# min_postal_code_length:: Prompt for minimum postal code length
|
232
|
+
# payment_connector:: Unique name for payment connector
|
233
|
+
# payment_method:: Payment method to be used. defaults to credit-card
|
234
|
+
# token_type:: Type of token
|
235
|
+
# charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
|
236
|
+
# currency:: Currency of the amount attribute
|
237
|
+
# description:: Details regarding the payment
|
238
|
+
# valid_card_types:: Comma separated accepted card types
|
239
|
+
# language:: Language to use
|
240
|
+
# keyword_args:: additional attributes
|
241
|
+
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)
|
242
|
+
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)
|
243
|
+
|
244
|
+
yield(pay) if block_given?
|
245
|
+
append(pay)
|
246
|
+
end
|
247
|
+
|
248
|
+
##
|
249
|
+
# Create a new <Prompt> element
|
250
|
+
# for_:: Name of the payment source data element
|
251
|
+
# error_type:: Type of error
|
252
|
+
# card_type:: Type of the credit card
|
253
|
+
# attempt:: Current attempt count
|
254
|
+
# keyword_args:: additional attributes
|
255
|
+
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
|
256
|
+
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
|
257
|
+
|
258
|
+
yield(prompt) if block_given?
|
259
|
+
append(prompt)
|
260
|
+
end
|
261
|
+
|
262
|
+
##
|
263
|
+
# Create a new <Start> element
|
264
|
+
# action:: Action URL
|
265
|
+
# method:: Action URL method
|
266
|
+
# keyword_args:: additional attributes
|
267
|
+
def start(action: nil, method: nil, **keyword_args)
|
268
|
+
start = Start.new(action: action, method: method, **keyword_args)
|
269
|
+
|
270
|
+
yield(start) if block_given?
|
271
|
+
append(start)
|
272
|
+
end
|
273
|
+
|
274
|
+
##
|
275
|
+
# Create a new <Stop> element
|
276
|
+
# keyword_args:: additional attributes
|
277
|
+
def stop(**keyword_args)
|
278
|
+
stop = Stop.new(**keyword_args)
|
279
|
+
|
280
|
+
yield(stop) if block_given?
|
281
|
+
append(stop)
|
282
|
+
end
|
283
|
+
|
284
|
+
##
|
285
|
+
# Create a new <Refer> element
|
286
|
+
# action:: Action URL
|
287
|
+
# method:: Action URL method
|
288
|
+
# keyword_args:: additional attributes
|
289
|
+
def refer(action: nil, method: nil, **keyword_args)
|
290
|
+
refer = Refer.new(action: action, method: method, **keyword_args)
|
291
|
+
|
292
|
+
yield(refer) if block_given?
|
293
|
+
append(refer)
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
##
|
298
|
+
# <Refer> TwiML Verb
|
299
|
+
class Refer < TwiML
|
300
|
+
def initialize(**keyword_args)
|
301
|
+
super(**keyword_args)
|
302
|
+
@name = 'Refer'
|
303
|
+
|
304
|
+
yield(self) if block_given?
|
305
|
+
end
|
306
|
+
|
307
|
+
##
|
308
|
+
# Create a new <Sip> element
|
309
|
+
# sip_url:: SIP URL
|
310
|
+
# keyword_args:: additional attributes
|
311
|
+
def sip(sip_url, **keyword_args)
|
312
|
+
append(ReferSip.new(sip_url, **keyword_args))
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
##
|
317
|
+
# <Sip> TwiML Noun used in <Refer>
|
318
|
+
class ReferSip < TwiML
|
319
|
+
def initialize(sip_url, **keyword_args)
|
320
|
+
super(**keyword_args)
|
321
|
+
@name = 'Sip'
|
322
|
+
@value = sip_url
|
323
|
+
yield(self) if block_given?
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
327
|
+
##
|
328
|
+
# <Stop> TwiML Verb
|
329
|
+
class Stop < TwiML
|
330
|
+
def initialize(**keyword_args)
|
331
|
+
super(**keyword_args)
|
332
|
+
@name = 'Stop'
|
333
|
+
|
334
|
+
yield(self) if block_given?
|
335
|
+
end
|
336
|
+
|
337
|
+
##
|
338
|
+
# Create a new <Stream> element
|
339
|
+
# name:: Friendly name given to the Stream
|
340
|
+
# connector_name:: Unique name for Stream Connector
|
341
|
+
# url:: URL of the remote service where the Stream is routed
|
342
|
+
# track:: Track to be streamed to remote service
|
343
|
+
# status_callback:: Status Callback URL
|
344
|
+
# status_callback_method:: Status Callback URL method
|
345
|
+
# keyword_args:: additional attributes
|
346
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
347
|
+
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)
|
348
|
+
|
349
|
+
yield(stream) if block_given?
|
350
|
+
append(stream)
|
351
|
+
end
|
352
|
+
|
353
|
+
##
|
354
|
+
# Create a new <Siprec> element
|
355
|
+
# name:: Friendly name given to SIPREC
|
356
|
+
# connector_name:: Unique name for Connector
|
357
|
+
# track:: Track to be streamed to remote service
|
358
|
+
# keyword_args:: additional attributes
|
359
|
+
def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
|
360
|
+
siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
|
361
|
+
|
362
|
+
yield(siprec) if block_given?
|
363
|
+
append(siprec)
|
364
|
+
end
|
365
|
+
end
|
366
|
+
|
367
|
+
##
|
368
|
+
# <Siprec> TwiML Noun
|
369
|
+
class Siprec < TwiML
|
370
|
+
def initialize(**keyword_args)
|
371
|
+
super(**keyword_args)
|
372
|
+
@name = 'Siprec'
|
373
|
+
|
374
|
+
yield(self) if block_given?
|
375
|
+
end
|
376
|
+
|
377
|
+
##
|
378
|
+
# Create a new <Parameter> element
|
379
|
+
# name:: The name of the custom parameter
|
380
|
+
# value:: The value of the custom parameter
|
381
|
+
# keyword_args:: additional attributes
|
382
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
383
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
384
|
+
end
|
385
|
+
end
|
386
|
+
|
387
|
+
##
|
388
|
+
# <Parameter> TwiML Noun
|
389
|
+
class Parameter < TwiML
|
390
|
+
def initialize(**keyword_args)
|
391
|
+
super(**keyword_args)
|
392
|
+
@name = 'Parameter'
|
393
|
+
|
394
|
+
yield(self) if block_given?
|
395
|
+
end
|
396
|
+
end
|
397
|
+
|
398
|
+
##
|
399
|
+
# <Stream> TwiML Noun
|
400
|
+
class Stream < TwiML
|
401
|
+
def initialize(**keyword_args)
|
402
|
+
super(**keyword_args)
|
403
|
+
@name = 'Stream'
|
404
|
+
|
405
|
+
yield(self) if block_given?
|
406
|
+
end
|
407
|
+
|
408
|
+
##
|
409
|
+
# Create a new <Parameter> element
|
410
|
+
# name:: The name of the custom parameter
|
411
|
+
# value:: The value of the custom parameter
|
412
|
+
# keyword_args:: additional attributes
|
413
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
414
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
415
|
+
end
|
416
|
+
end
|
417
|
+
|
418
|
+
##
|
419
|
+
# <Start> TwiML Verb
|
420
|
+
class Start < TwiML
|
421
|
+
def initialize(**keyword_args)
|
422
|
+
super(**keyword_args)
|
423
|
+
@name = 'Start'
|
424
|
+
|
425
|
+
yield(self) if block_given?
|
426
|
+
end
|
427
|
+
|
428
|
+
##
|
429
|
+
# Create a new <Stream> element
|
430
|
+
# name:: Friendly name given to the Stream
|
431
|
+
# connector_name:: Unique name for Stream Connector
|
432
|
+
# url:: URL of the remote service where the Stream is routed
|
433
|
+
# track:: Track to be streamed to remote service
|
434
|
+
# status_callback:: Status Callback URL
|
435
|
+
# status_callback_method:: Status Callback URL method
|
436
|
+
# keyword_args:: additional attributes
|
437
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
438
|
+
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)
|
439
|
+
|
440
|
+
yield(stream) if block_given?
|
441
|
+
append(stream)
|
442
|
+
end
|
443
|
+
|
444
|
+
##
|
445
|
+
# Create a new <Siprec> element
|
446
|
+
# name:: Friendly name given to SIPREC
|
447
|
+
# connector_name:: Unique name for Connector
|
448
|
+
# track:: Track to be streamed to remote service
|
449
|
+
# keyword_args:: additional attributes
|
450
|
+
def siprec(name: nil, connector_name: nil, track: nil, **keyword_args)
|
451
|
+
siprec = Siprec.new(name: name, connector_name: connector_name, track: track, **keyword_args)
|
452
|
+
|
453
|
+
yield(siprec) if block_given?
|
454
|
+
append(siprec)
|
455
|
+
end
|
456
|
+
end
|
457
|
+
|
458
|
+
##
|
459
|
+
# <Prompt> Twiml Verb
|
460
|
+
class Prompt < TwiML
|
461
|
+
def initialize(**keyword_args)
|
462
|
+
super(**keyword_args)
|
463
|
+
@name = 'Prompt'
|
464
|
+
|
465
|
+
yield(self) if block_given?
|
466
|
+
end
|
467
|
+
|
468
|
+
##
|
469
|
+
# Create a new <Say> element
|
470
|
+
# message:: Message to say
|
471
|
+
# voice:: Voice to use
|
472
|
+
# loop:: Times to loop message
|
473
|
+
# language:: Message language
|
474
|
+
# keyword_args:: additional attributes
|
475
|
+
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
476
|
+
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
477
|
+
|
478
|
+
yield(say) if block_given?
|
479
|
+
append(say)
|
480
|
+
end
|
481
|
+
|
482
|
+
##
|
483
|
+
# Create a new <Play> element
|
484
|
+
# url:: Media URL
|
485
|
+
# loop:: Times to loop media
|
486
|
+
# digits:: Play DTMF tones for digits
|
487
|
+
# keyword_args:: additional attributes
|
488
|
+
def play(url: nil, loop: nil, digits: nil, **keyword_args)
|
489
|
+
append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
|
490
|
+
end
|
491
|
+
|
492
|
+
##
|
493
|
+
# Create a new <Pause> element
|
494
|
+
# length:: Length in seconds to pause
|
495
|
+
# keyword_args:: additional attributes
|
496
|
+
def pause(length: nil, **keyword_args)
|
497
|
+
append(Pause.new(length: length, **keyword_args))
|
498
|
+
end
|
499
|
+
end
|
500
|
+
|
501
|
+
##
|
502
|
+
# <Pause> TwiML Verb
|
503
|
+
class Pause < TwiML
|
504
|
+
def initialize(**keyword_args)
|
505
|
+
super(**keyword_args)
|
506
|
+
@name = 'Pause'
|
507
|
+
|
508
|
+
yield(self) if block_given?
|
509
|
+
end
|
510
|
+
end
|
511
|
+
|
512
|
+
##
|
513
|
+
# <Play> TwiML Verb
|
514
|
+
class Play < TwiML
|
515
|
+
def initialize(url: nil, **keyword_args)
|
516
|
+
super(**keyword_args)
|
517
|
+
@name = 'Play'
|
518
|
+
@value = url unless url.nil?
|
519
|
+
yield(self) if block_given?
|
520
|
+
end
|
521
|
+
end
|
522
|
+
|
523
|
+
##
|
524
|
+
# <Say> TwiML Verb
|
525
|
+
class Say < TwiML
|
526
|
+
def initialize(message: nil, **keyword_args)
|
527
|
+
super(**keyword_args)
|
528
|
+
@name = 'Say'
|
529
|
+
@value = message unless message.nil?
|
530
|
+
yield(self) if block_given?
|
531
|
+
end
|
532
|
+
|
533
|
+
##
|
534
|
+
# Create a new <Break> element
|
535
|
+
# strength:: Set a pause based on strength
|
536
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
537
|
+
# keyword_args:: additional attributes
|
538
|
+
def break(strength: nil, time: nil, **keyword_args)
|
539
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
540
|
+
end
|
541
|
+
|
542
|
+
##
|
543
|
+
# Create a new <Emphasis> element
|
544
|
+
# words:: Words to emphasize
|
545
|
+
# level:: Specify the degree of emphasis
|
546
|
+
# keyword_args:: additional attributes
|
547
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
548
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
549
|
+
|
550
|
+
yield(emphasis) if block_given?
|
551
|
+
append(emphasis)
|
552
|
+
end
|
553
|
+
|
554
|
+
##
|
555
|
+
# Create a new <Lang> element
|
556
|
+
# words:: Words to speak
|
557
|
+
# xmlLang:: Specify the language
|
558
|
+
# keyword_args:: additional attributes
|
559
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
560
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
561
|
+
|
562
|
+
yield(lang) if block_given?
|
563
|
+
append(lang)
|
564
|
+
end
|
565
|
+
|
566
|
+
##
|
567
|
+
# Create a new <P> element
|
568
|
+
# words:: Words to speak
|
569
|
+
# keyword_args:: additional attributes
|
570
|
+
def p(words: nil, **keyword_args)
|
571
|
+
p = SsmlP.new(words: words, **keyword_args)
|
572
|
+
|
573
|
+
yield(p) if block_given?
|
574
|
+
append(p)
|
575
|
+
end
|
576
|
+
|
577
|
+
##
|
578
|
+
# Create a new <Phoneme> element
|
579
|
+
# words:: Words to speak
|
580
|
+
# alphabet:: Specify the phonetic alphabet
|
581
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
582
|
+
# keyword_args:: additional attributes
|
583
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
584
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
585
|
+
end
|
586
|
+
|
587
|
+
##
|
588
|
+
# Create a new <Prosody> element
|
589
|
+
# words:: Words to speak
|
590
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
591
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
592
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
593
|
+
# keyword_args:: additional attributes
|
594
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
595
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
596
|
+
|
597
|
+
yield(prosody) if block_given?
|
598
|
+
append(prosody)
|
599
|
+
end
|
600
|
+
|
601
|
+
##
|
602
|
+
# Create a new <S> element
|
603
|
+
# words:: Words to speak
|
604
|
+
# keyword_args:: additional attributes
|
605
|
+
def s(words: nil, **keyword_args)
|
606
|
+
s = SsmlS.new(words: words, **keyword_args)
|
607
|
+
|
608
|
+
yield(s) if block_given?
|
609
|
+
append(s)
|
610
|
+
end
|
611
|
+
|
612
|
+
##
|
613
|
+
# Create a new <Say-As> element
|
614
|
+
# words:: Words to be interpreted
|
615
|
+
# interpretAs:: Specify the type of words are spoken
|
616
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
617
|
+
# keyword_args:: additional attributes
|
618
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
619
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
620
|
+
end
|
621
|
+
|
622
|
+
##
|
623
|
+
# Create a new <Sub> element
|
624
|
+
# words:: Words to be substituted
|
625
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
626
|
+
# keyword_args:: additional attributes
|
627
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
628
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
629
|
+
end
|
630
|
+
|
631
|
+
##
|
632
|
+
# Create a new <W> element
|
633
|
+
# words:: Words to speak
|
634
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
635
|
+
# keyword_args:: additional attributes
|
636
|
+
def w(words: nil, role: nil, **keyword_args)
|
637
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
638
|
+
|
639
|
+
yield(w) if block_given?
|
640
|
+
append(w)
|
641
|
+
end
|
642
|
+
end
|
643
|
+
|
644
|
+
##
|
645
|
+
# Improving Pronunciation by Specifying Parts of Speech in <Say>
|
646
|
+
class SsmlW < TwiML
|
647
|
+
def initialize(words: nil, **keyword_args)
|
648
|
+
super(**keyword_args)
|
649
|
+
@name = 'w'
|
650
|
+
@value = words unless words.nil?
|
651
|
+
yield(self) if block_given?
|
652
|
+
end
|
653
|
+
|
654
|
+
##
|
655
|
+
# Create a new <Break> element
|
656
|
+
# strength:: Set a pause based on strength
|
657
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
658
|
+
# keyword_args:: additional attributes
|
659
|
+
def break(strength: nil, time: nil, **keyword_args)
|
660
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
661
|
+
end
|
662
|
+
|
663
|
+
##
|
664
|
+
# Create a new <Emphasis> element
|
665
|
+
# words:: Words to emphasize
|
666
|
+
# level:: Specify the degree of emphasis
|
667
|
+
# keyword_args:: additional attributes
|
668
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
669
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
670
|
+
|
671
|
+
yield(emphasis) if block_given?
|
672
|
+
append(emphasis)
|
673
|
+
end
|
674
|
+
|
675
|
+
##
|
676
|
+
# Create a new <Phoneme> element
|
677
|
+
# words:: Words to speak
|
678
|
+
# alphabet:: Specify the phonetic alphabet
|
679
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
680
|
+
# keyword_args:: additional attributes
|
681
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
682
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
683
|
+
end
|
684
|
+
|
685
|
+
##
|
686
|
+
# Create a new <Prosody> element
|
687
|
+
# words:: Words to speak
|
688
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
689
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
690
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
691
|
+
# keyword_args:: additional attributes
|
692
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
693
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
694
|
+
|
695
|
+
yield(prosody) if block_given?
|
696
|
+
append(prosody)
|
697
|
+
end
|
698
|
+
|
699
|
+
##
|
700
|
+
# Create a new <Say-As> element
|
701
|
+
# words:: Words to be interpreted
|
702
|
+
# interpretAs:: Specify the type of words are spoken
|
703
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
704
|
+
# keyword_args:: additional attributes
|
705
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
706
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
707
|
+
end
|
708
|
+
|
709
|
+
##
|
710
|
+
# Create a new <Sub> element
|
711
|
+
# words:: Words to be substituted
|
712
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
713
|
+
# keyword_args:: additional attributes
|
714
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
715
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
716
|
+
end
|
717
|
+
end
|
718
|
+
|
719
|
+
##
|
720
|
+
# Pronouncing Acronyms and Abbreviations in <Say>
|
721
|
+
class SsmlSub < TwiML
|
722
|
+
def initialize(words, **keyword_args)
|
723
|
+
super(**keyword_args)
|
724
|
+
@name = 'sub'
|
725
|
+
@value = words
|
726
|
+
yield(self) if block_given?
|
727
|
+
end
|
728
|
+
end
|
729
|
+
|
730
|
+
##
|
731
|
+
# Controlling How Special Types of Words Are Spoken in <Say>
|
732
|
+
class SsmlSayAs < TwiML
|
733
|
+
def initialize(words, **keyword_args)
|
734
|
+
super(**keyword_args)
|
735
|
+
@name = 'say-as'
|
736
|
+
@value = words
|
737
|
+
yield(self) if block_given?
|
738
|
+
end
|
739
|
+
end
|
740
|
+
|
741
|
+
##
|
742
|
+
# Controling Volume, Speaking Rate, and Pitch in <Say>
|
743
|
+
class SsmlProsody < TwiML
|
744
|
+
def initialize(words: nil, **keyword_args)
|
745
|
+
super(**keyword_args)
|
746
|
+
@name = 'prosody'
|
747
|
+
@value = words unless words.nil?
|
748
|
+
yield(self) if block_given?
|
749
|
+
end
|
750
|
+
|
751
|
+
##
|
752
|
+
# Create a new <Break> element
|
753
|
+
# strength:: Set a pause based on strength
|
754
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
755
|
+
# keyword_args:: additional attributes
|
756
|
+
def break(strength: nil, time: nil, **keyword_args)
|
757
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
758
|
+
end
|
759
|
+
|
760
|
+
##
|
761
|
+
# Create a new <Emphasis> element
|
762
|
+
# words:: Words to emphasize
|
763
|
+
# level:: Specify the degree of emphasis
|
764
|
+
# keyword_args:: additional attributes
|
765
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
766
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
767
|
+
|
768
|
+
yield(emphasis) if block_given?
|
769
|
+
append(emphasis)
|
770
|
+
end
|
771
|
+
|
772
|
+
##
|
773
|
+
# Create a new <Lang> element
|
774
|
+
# words:: Words to speak
|
775
|
+
# xmlLang:: Specify the language
|
776
|
+
# keyword_args:: additional attributes
|
777
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
778
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
779
|
+
|
780
|
+
yield(lang) if block_given?
|
781
|
+
append(lang)
|
782
|
+
end
|
783
|
+
|
784
|
+
##
|
785
|
+
# Create a new <P> element
|
786
|
+
# words:: Words to speak
|
787
|
+
# keyword_args:: additional attributes
|
788
|
+
def p(words: nil, **keyword_args)
|
789
|
+
p = SsmlP.new(words: words, **keyword_args)
|
790
|
+
|
791
|
+
yield(p) if block_given?
|
792
|
+
append(p)
|
793
|
+
end
|
794
|
+
|
795
|
+
##
|
796
|
+
# Create a new <Phoneme> element
|
797
|
+
# words:: Words to speak
|
798
|
+
# alphabet:: Specify the phonetic alphabet
|
799
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
800
|
+
# keyword_args:: additional attributes
|
801
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
802
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
803
|
+
end
|
804
|
+
|
805
|
+
##
|
806
|
+
# Create a new <Prosody> element
|
807
|
+
# words:: Words to speak
|
808
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
809
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
810
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
811
|
+
# keyword_args:: additional attributes
|
812
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
813
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
814
|
+
|
815
|
+
yield(prosody) if block_given?
|
816
|
+
append(prosody)
|
817
|
+
end
|
818
|
+
|
819
|
+
##
|
820
|
+
# Create a new <S> element
|
821
|
+
# words:: Words to speak
|
822
|
+
# keyword_args:: additional attributes
|
823
|
+
def s(words: nil, **keyword_args)
|
824
|
+
s = SsmlS.new(words: words, **keyword_args)
|
825
|
+
|
826
|
+
yield(s) if block_given?
|
827
|
+
append(s)
|
828
|
+
end
|
829
|
+
|
830
|
+
##
|
831
|
+
# Create a new <Say-As> element
|
832
|
+
# words:: Words to be interpreted
|
833
|
+
# interpretAs:: Specify the type of words are spoken
|
834
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
835
|
+
# keyword_args:: additional attributes
|
836
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
837
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
838
|
+
end
|
839
|
+
|
840
|
+
##
|
841
|
+
# Create a new <Sub> element
|
842
|
+
# words:: Words to be substituted
|
843
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
844
|
+
# keyword_args:: additional attributes
|
845
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
846
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
847
|
+
end
|
848
|
+
|
849
|
+
##
|
850
|
+
# Create a new <W> element
|
851
|
+
# words:: Words to speak
|
852
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
853
|
+
# keyword_args:: additional attributes
|
854
|
+
def w(words: nil, role: nil, **keyword_args)
|
855
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
856
|
+
|
857
|
+
yield(w) if block_given?
|
858
|
+
append(w)
|
859
|
+
end
|
860
|
+
end
|
861
|
+
|
862
|
+
##
|
863
|
+
# Adding A Pause Between Sentences in <Say>
|
864
|
+
class SsmlS < TwiML
|
865
|
+
def initialize(words: nil, **keyword_args)
|
866
|
+
super(**keyword_args)
|
867
|
+
@name = 's'
|
868
|
+
@value = words unless words.nil?
|
869
|
+
yield(self) if block_given?
|
870
|
+
end
|
871
|
+
|
872
|
+
##
|
873
|
+
# Create a new <Break> element
|
874
|
+
# strength:: Set a pause based on strength
|
875
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
876
|
+
# keyword_args:: additional attributes
|
877
|
+
def break(strength: nil, time: nil, **keyword_args)
|
878
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
879
|
+
end
|
880
|
+
|
881
|
+
##
|
882
|
+
# Create a new <Emphasis> element
|
883
|
+
# words:: Words to emphasize
|
884
|
+
# level:: Specify the degree of emphasis
|
885
|
+
# keyword_args:: additional attributes
|
886
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
887
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
888
|
+
|
889
|
+
yield(emphasis) if block_given?
|
890
|
+
append(emphasis)
|
891
|
+
end
|
892
|
+
|
893
|
+
##
|
894
|
+
# Create a new <Lang> element
|
895
|
+
# words:: Words to speak
|
896
|
+
# xmlLang:: Specify the language
|
897
|
+
# keyword_args:: additional attributes
|
898
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
899
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
900
|
+
|
901
|
+
yield(lang) if block_given?
|
902
|
+
append(lang)
|
903
|
+
end
|
904
|
+
|
905
|
+
##
|
906
|
+
# Create a new <Phoneme> element
|
907
|
+
# words:: Words to speak
|
908
|
+
# alphabet:: Specify the phonetic alphabet
|
909
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
910
|
+
# keyword_args:: additional attributes
|
911
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
912
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
913
|
+
end
|
914
|
+
|
915
|
+
##
|
916
|
+
# Create a new <Prosody> element
|
917
|
+
# words:: Words to speak
|
918
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
919
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
920
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
921
|
+
# keyword_args:: additional attributes
|
922
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
923
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
924
|
+
|
925
|
+
yield(prosody) if block_given?
|
926
|
+
append(prosody)
|
927
|
+
end
|
928
|
+
|
929
|
+
##
|
930
|
+
# Create a new <Say-As> element
|
931
|
+
# words:: Words to be interpreted
|
932
|
+
# interpretAs:: Specify the type of words are spoken
|
933
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
934
|
+
# keyword_args:: additional attributes
|
935
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
936
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
937
|
+
end
|
938
|
+
|
939
|
+
##
|
940
|
+
# Create a new <Sub> element
|
941
|
+
# words:: Words to be substituted
|
942
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
943
|
+
# keyword_args:: additional attributes
|
944
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
945
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
946
|
+
end
|
947
|
+
|
948
|
+
##
|
949
|
+
# Create a new <W> element
|
950
|
+
# words:: Words to speak
|
951
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
952
|
+
# keyword_args:: additional attributes
|
953
|
+
def w(words: nil, role: nil, **keyword_args)
|
954
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
955
|
+
|
956
|
+
yield(w) if block_given?
|
957
|
+
append(w)
|
958
|
+
end
|
959
|
+
end
|
960
|
+
|
961
|
+
##
|
962
|
+
# Using Phonetic Pronunciation in <Say>
|
963
|
+
class SsmlPhoneme < TwiML
|
964
|
+
def initialize(words, **keyword_args)
|
965
|
+
super(**keyword_args)
|
966
|
+
@name = 'phoneme'
|
967
|
+
@value = words
|
968
|
+
yield(self) if block_given?
|
969
|
+
end
|
970
|
+
end
|
971
|
+
|
972
|
+
##
|
973
|
+
# Specifying Another Language for Specific Words in <Say>
|
974
|
+
class SsmlLang < TwiML
|
975
|
+
def initialize(words: nil, **keyword_args)
|
976
|
+
super(**keyword_args)
|
977
|
+
@name = 'lang'
|
978
|
+
@value = words unless words.nil?
|
979
|
+
yield(self) if block_given?
|
980
|
+
end
|
981
|
+
|
982
|
+
##
|
983
|
+
# Create a new <Break> element
|
984
|
+
# strength:: Set a pause based on strength
|
985
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
986
|
+
# keyword_args:: additional attributes
|
987
|
+
def break(strength: nil, time: nil, **keyword_args)
|
988
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
989
|
+
end
|
990
|
+
|
991
|
+
##
|
992
|
+
# Create a new <Emphasis> element
|
993
|
+
# words:: Words to emphasize
|
994
|
+
# level:: Specify the degree of emphasis
|
995
|
+
# keyword_args:: additional attributes
|
996
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
997
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
998
|
+
|
999
|
+
yield(emphasis) if block_given?
|
1000
|
+
append(emphasis)
|
1001
|
+
end
|
1002
|
+
|
1003
|
+
##
|
1004
|
+
# Create a new <Lang> element
|
1005
|
+
# words:: Words to speak
|
1006
|
+
# xmlLang:: Specify the language
|
1007
|
+
# keyword_args:: additional attributes
|
1008
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
1009
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
1010
|
+
|
1011
|
+
yield(lang) if block_given?
|
1012
|
+
append(lang)
|
1013
|
+
end
|
1014
|
+
|
1015
|
+
##
|
1016
|
+
# Create a new <P> element
|
1017
|
+
# words:: Words to speak
|
1018
|
+
# keyword_args:: additional attributes
|
1019
|
+
def p(words: nil, **keyword_args)
|
1020
|
+
p = SsmlP.new(words: words, **keyword_args)
|
1021
|
+
|
1022
|
+
yield(p) if block_given?
|
1023
|
+
append(p)
|
1024
|
+
end
|
1025
|
+
|
1026
|
+
##
|
1027
|
+
# Create a new <Phoneme> element
|
1028
|
+
# words:: Words to speak
|
1029
|
+
# alphabet:: Specify the phonetic alphabet
|
1030
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
1031
|
+
# keyword_args:: additional attributes
|
1032
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
1033
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
1034
|
+
end
|
1035
|
+
|
1036
|
+
##
|
1037
|
+
# Create a new <Prosody> element
|
1038
|
+
# words:: Words to speak
|
1039
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
1040
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
1041
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
1042
|
+
# keyword_args:: additional attributes
|
1043
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
1044
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
1045
|
+
|
1046
|
+
yield(prosody) if block_given?
|
1047
|
+
append(prosody)
|
1048
|
+
end
|
1049
|
+
|
1050
|
+
##
|
1051
|
+
# Create a new <S> element
|
1052
|
+
# words:: Words to speak
|
1053
|
+
# keyword_args:: additional attributes
|
1054
|
+
def s(words: nil, **keyword_args)
|
1055
|
+
s = SsmlS.new(words: words, **keyword_args)
|
1056
|
+
|
1057
|
+
yield(s) if block_given?
|
1058
|
+
append(s)
|
1059
|
+
end
|
1060
|
+
|
1061
|
+
##
|
1062
|
+
# Create a new <Say-As> element
|
1063
|
+
# words:: Words to be interpreted
|
1064
|
+
# interpretAs:: Specify the type of words are spoken
|
1065
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
1066
|
+
# keyword_args:: additional attributes
|
1067
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
1068
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
1069
|
+
end
|
1070
|
+
|
1071
|
+
##
|
1072
|
+
# Create a new <Sub> element
|
1073
|
+
# words:: Words to be substituted
|
1074
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
1075
|
+
# keyword_args:: additional attributes
|
1076
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
1077
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
1078
|
+
end
|
1079
|
+
|
1080
|
+
##
|
1081
|
+
# Create a new <W> element
|
1082
|
+
# words:: Words to speak
|
1083
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
1084
|
+
# keyword_args:: additional attributes
|
1085
|
+
def w(words: nil, role: nil, **keyword_args)
|
1086
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
1087
|
+
|
1088
|
+
yield(w) if block_given?
|
1089
|
+
append(w)
|
1090
|
+
end
|
1091
|
+
end
|
1092
|
+
|
1093
|
+
##
|
1094
|
+
# Adding a Pause Between Paragraphs in <Say>
|
1095
|
+
class SsmlP < TwiML
|
1096
|
+
def initialize(words: nil, **keyword_args)
|
1097
|
+
super(**keyword_args)
|
1098
|
+
@name = 'p'
|
1099
|
+
@value = words unless words.nil?
|
1100
|
+
yield(self) if block_given?
|
1101
|
+
end
|
1102
|
+
|
1103
|
+
##
|
1104
|
+
# Create a new <Break> element
|
1105
|
+
# strength:: Set a pause based on strength
|
1106
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
1107
|
+
# keyword_args:: additional attributes
|
1108
|
+
def break(strength: nil, time: nil, **keyword_args)
|
1109
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
##
|
1113
|
+
# Create a new <Emphasis> element
|
1114
|
+
# words:: Words to emphasize
|
1115
|
+
# level:: Specify the degree of emphasis
|
1116
|
+
# keyword_args:: additional attributes
|
1117
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
1118
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
1119
|
+
|
1120
|
+
yield(emphasis) if block_given?
|
1121
|
+
append(emphasis)
|
1122
|
+
end
|
1123
|
+
|
1124
|
+
##
|
1125
|
+
# Create a new <Lang> element
|
1126
|
+
# words:: Words to speak
|
1127
|
+
# xmlLang:: Specify the language
|
1128
|
+
# keyword_args:: additional attributes
|
1129
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
1130
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
1131
|
+
|
1132
|
+
yield(lang) if block_given?
|
1133
|
+
append(lang)
|
1134
|
+
end
|
1135
|
+
|
1136
|
+
##
|
1137
|
+
# Create a new <Phoneme> element
|
1138
|
+
# words:: Words to speak
|
1139
|
+
# alphabet:: Specify the phonetic alphabet
|
1140
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
1141
|
+
# keyword_args:: additional attributes
|
1142
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
1143
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
1144
|
+
end
|
1145
|
+
|
1146
|
+
##
|
1147
|
+
# Create a new <Prosody> element
|
1148
|
+
# words:: Words to speak
|
1149
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
1150
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
1151
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
1152
|
+
# keyword_args:: additional attributes
|
1153
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
1154
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
1155
|
+
|
1156
|
+
yield(prosody) if block_given?
|
1157
|
+
append(prosody)
|
1158
|
+
end
|
1159
|
+
|
1160
|
+
##
|
1161
|
+
# Create a new <S> element
|
1162
|
+
# words:: Words to speak
|
1163
|
+
# keyword_args:: additional attributes
|
1164
|
+
def s(words: nil, **keyword_args)
|
1165
|
+
s = SsmlS.new(words: words, **keyword_args)
|
1166
|
+
|
1167
|
+
yield(s) if block_given?
|
1168
|
+
append(s)
|
1169
|
+
end
|
1170
|
+
|
1171
|
+
##
|
1172
|
+
# Create a new <Say-As> element
|
1173
|
+
# words:: Words to be interpreted
|
1174
|
+
# interpretAs:: Specify the type of words are spoken
|
1175
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
1176
|
+
# keyword_args:: additional attributes
|
1177
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
1178
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
1179
|
+
end
|
1180
|
+
|
1181
|
+
##
|
1182
|
+
# Create a new <Sub> element
|
1183
|
+
# words:: Words to be substituted
|
1184
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
1185
|
+
# keyword_args:: additional attributes
|
1186
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
1187
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
1188
|
+
end
|
1189
|
+
|
1190
|
+
##
|
1191
|
+
# Create a new <W> element
|
1192
|
+
# words:: Words to speak
|
1193
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
1194
|
+
# keyword_args:: additional attributes
|
1195
|
+
def w(words: nil, role: nil, **keyword_args)
|
1196
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
1197
|
+
|
1198
|
+
yield(w) if block_given?
|
1199
|
+
append(w)
|
1200
|
+
end
|
1201
|
+
end
|
1202
|
+
|
1203
|
+
##
|
1204
|
+
# Emphasizing Words in <Say>
|
1205
|
+
class SsmlEmphasis < TwiML
|
1206
|
+
def initialize(words: nil, **keyword_args)
|
1207
|
+
super(**keyword_args)
|
1208
|
+
@name = 'emphasis'
|
1209
|
+
@value = words unless words.nil?
|
1210
|
+
yield(self) if block_given?
|
1211
|
+
end
|
1212
|
+
|
1213
|
+
##
|
1214
|
+
# Create a new <Break> element
|
1215
|
+
# strength:: Set a pause based on strength
|
1216
|
+
# time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
|
1217
|
+
# keyword_args:: additional attributes
|
1218
|
+
def break(strength: nil, time: nil, **keyword_args)
|
1219
|
+
append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
|
1220
|
+
end
|
1221
|
+
|
1222
|
+
##
|
1223
|
+
# Create a new <Emphasis> element
|
1224
|
+
# words:: Words to emphasize
|
1225
|
+
# level:: Specify the degree of emphasis
|
1226
|
+
# keyword_args:: additional attributes
|
1227
|
+
def emphasis(words: nil, level: nil, **keyword_args)
|
1228
|
+
emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
|
1229
|
+
|
1230
|
+
yield(emphasis) if block_given?
|
1231
|
+
append(emphasis)
|
1232
|
+
end
|
1233
|
+
|
1234
|
+
##
|
1235
|
+
# Create a new <Lang> element
|
1236
|
+
# words:: Words to speak
|
1237
|
+
# xmlLang:: Specify the language
|
1238
|
+
# keyword_args:: additional attributes
|
1239
|
+
def lang(words: nil, xmlLang: nil, **keyword_args)
|
1240
|
+
lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
|
1241
|
+
|
1242
|
+
yield(lang) if block_given?
|
1243
|
+
append(lang)
|
1244
|
+
end
|
1245
|
+
|
1246
|
+
##
|
1247
|
+
# Create a new <Phoneme> element
|
1248
|
+
# words:: Words to speak
|
1249
|
+
# alphabet:: Specify the phonetic alphabet
|
1250
|
+
# ph:: Specifiy the phonetic symbols for pronunciation
|
1251
|
+
# keyword_args:: additional attributes
|
1252
|
+
def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
|
1253
|
+
append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
|
1254
|
+
end
|
1255
|
+
|
1256
|
+
##
|
1257
|
+
# Create a new <Prosody> element
|
1258
|
+
# words:: Words to speak
|
1259
|
+
# volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
|
1260
|
+
# rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
|
1261
|
+
# pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
|
1262
|
+
# keyword_args:: additional attributes
|
1263
|
+
def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
|
1264
|
+
prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
|
1265
|
+
|
1266
|
+
yield(prosody) if block_given?
|
1267
|
+
append(prosody)
|
1268
|
+
end
|
1269
|
+
|
1270
|
+
##
|
1271
|
+
# Create a new <Say-As> element
|
1272
|
+
# words:: Words to be interpreted
|
1273
|
+
# interpretAs:: Specify the type of words are spoken
|
1274
|
+
# role:: Specify the format of the date when interpret-as is set to date
|
1275
|
+
# keyword_args:: additional attributes
|
1276
|
+
def say_as(words, interpretAs: nil, role: nil, **keyword_args)
|
1277
|
+
append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
|
1278
|
+
end
|
1279
|
+
|
1280
|
+
##
|
1281
|
+
# Create a new <Sub> element
|
1282
|
+
# words:: Words to be substituted
|
1283
|
+
# aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
|
1284
|
+
# keyword_args:: additional attributes
|
1285
|
+
def sub(words, aliasAttribute: nil, **keyword_args)
|
1286
|
+
append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
|
1287
|
+
end
|
1288
|
+
|
1289
|
+
##
|
1290
|
+
# Create a new <W> element
|
1291
|
+
# words:: Words to speak
|
1292
|
+
# role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
|
1293
|
+
# keyword_args:: additional attributes
|
1294
|
+
def w(words: nil, role: nil, **keyword_args)
|
1295
|
+
w = SsmlW.new(words: words, role: role, **keyword_args)
|
1296
|
+
|
1297
|
+
yield(w) if block_given?
|
1298
|
+
append(w)
|
1299
|
+
end
|
1300
|
+
end
|
1301
|
+
|
1302
|
+
##
|
1303
|
+
# Adding a Pause in <Say>
|
1304
|
+
class SsmlBreak < TwiML
|
1305
|
+
def initialize(**keyword_args)
|
1306
|
+
super(**keyword_args)
|
1307
|
+
@name = 'break'
|
1308
|
+
|
1309
|
+
yield(self) if block_given?
|
1310
|
+
end
|
1311
|
+
end
|
1312
|
+
|
1313
|
+
##
|
1314
|
+
# <Pay> Twiml Verb
|
1315
|
+
class Pay < TwiML
|
1316
|
+
def initialize(**keyword_args)
|
1317
|
+
super(**keyword_args)
|
1318
|
+
@name = 'Pay'
|
1319
|
+
|
1320
|
+
yield(self) if block_given?
|
1321
|
+
end
|
1322
|
+
|
1323
|
+
##
|
1324
|
+
# Create a new <Prompt> element
|
1325
|
+
# for_:: Name of the payment source data element
|
1326
|
+
# error_type:: Type of error
|
1327
|
+
# card_type:: Type of the credit card
|
1328
|
+
# attempt:: Current attempt count
|
1329
|
+
# keyword_args:: additional attributes
|
1330
|
+
def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
|
1331
|
+
prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
|
1332
|
+
|
1333
|
+
yield(prompt) if block_given?
|
1334
|
+
append(prompt)
|
1335
|
+
end
|
1336
|
+
|
1337
|
+
##
|
1338
|
+
# Create a new <Parameter> element
|
1339
|
+
# name:: The name of the custom parameter
|
1340
|
+
# value:: The value of the custom parameter
|
1341
|
+
# keyword_args:: additional attributes
|
1342
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
1343
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
1344
|
+
end
|
1345
|
+
end
|
1346
|
+
|
1347
|
+
##
|
1348
|
+
# <Sms> TwiML Noun
|
1349
|
+
class Sms < TwiML
|
1350
|
+
def initialize(message, **keyword_args)
|
1351
|
+
super(**keyword_args)
|
1352
|
+
@name = 'Sms'
|
1353
|
+
@value = message
|
1354
|
+
yield(self) if block_given?
|
1355
|
+
end
|
1356
|
+
end
|
1357
|
+
|
1358
|
+
##
|
1359
|
+
# <Reject> TwiML Verb
|
1360
|
+
class Reject < TwiML
|
1361
|
+
def initialize(**keyword_args)
|
1362
|
+
super(**keyword_args)
|
1363
|
+
@name = 'Reject'
|
1364
|
+
|
1365
|
+
yield(self) if block_given?
|
1366
|
+
end
|
1367
|
+
end
|
1368
|
+
|
1369
|
+
##
|
1370
|
+
# <Redirect> TwiML Verb
|
1371
|
+
class Redirect < TwiML
|
1372
|
+
def initialize(url, **keyword_args)
|
1373
|
+
super(**keyword_args)
|
1374
|
+
@name = 'Redirect'
|
1375
|
+
@value = url
|
1376
|
+
yield(self) if block_given?
|
1377
|
+
end
|
1378
|
+
end
|
1379
|
+
|
1380
|
+
##
|
1381
|
+
# <Record> TwiML Verb
|
1382
|
+
class Record < TwiML
|
1383
|
+
def initialize(**keyword_args)
|
1384
|
+
super(**keyword_args)
|
1385
|
+
@name = 'Record'
|
1386
|
+
|
1387
|
+
yield(self) if block_given?
|
1388
|
+
end
|
1389
|
+
end
|
1390
|
+
|
1391
|
+
##
|
1392
|
+
# <Queue> TwiML Noun
|
1393
|
+
class Queue < TwiML
|
1394
|
+
def initialize(name, **keyword_args)
|
1395
|
+
super(**keyword_args)
|
1396
|
+
@name = 'Queue'
|
1397
|
+
@value = name
|
1398
|
+
yield(self) if block_given?
|
1399
|
+
end
|
1400
|
+
end
|
1401
|
+
|
1402
|
+
##
|
1403
|
+
# <Leave> TwiML Verb
|
1404
|
+
class Leave < TwiML
|
1405
|
+
def initialize(**keyword_args)
|
1406
|
+
super(**keyword_args)
|
1407
|
+
@name = 'Leave'
|
1408
|
+
|
1409
|
+
yield(self) if block_given?
|
1410
|
+
end
|
1411
|
+
end
|
1412
|
+
|
1413
|
+
##
|
1414
|
+
# <Hangup> TwiML Verb
|
1415
|
+
class Hangup < TwiML
|
1416
|
+
def initialize(**keyword_args)
|
1417
|
+
super(**keyword_args)
|
1418
|
+
@name = 'Hangup'
|
1419
|
+
|
1420
|
+
yield(self) if block_given?
|
1421
|
+
end
|
1422
|
+
end
|
1423
|
+
|
1424
|
+
##
|
1425
|
+
# <Gather> TwiML Verb
|
1426
|
+
class Gather < TwiML
|
1427
|
+
def initialize(**keyword_args)
|
1428
|
+
super(**keyword_args)
|
1429
|
+
@name = 'Gather'
|
1430
|
+
|
1431
|
+
yield(self) if block_given?
|
1432
|
+
end
|
1433
|
+
|
1434
|
+
##
|
1435
|
+
# Create a new <Say> element
|
1436
|
+
# message:: Message to say
|
1437
|
+
# voice:: Voice to use
|
1438
|
+
# loop:: Times to loop message
|
1439
|
+
# language:: Message language
|
1440
|
+
# keyword_args:: additional attributes
|
1441
|
+
def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
|
1442
|
+
say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
|
1443
|
+
|
1444
|
+
yield(say) if block_given?
|
1445
|
+
append(say)
|
1446
|
+
end
|
1447
|
+
|
1448
|
+
##
|
1449
|
+
# Create a new <Pause> element
|
1450
|
+
# length:: Length in seconds to pause
|
1451
|
+
# keyword_args:: additional attributes
|
1452
|
+
def pause(length: nil, **keyword_args)
|
1453
|
+
append(Pause.new(length: length, **keyword_args))
|
1454
|
+
end
|
1455
|
+
|
1456
|
+
##
|
1457
|
+
# Create a new <Play> element
|
1458
|
+
# url:: Media URL
|
1459
|
+
# loop:: Times to loop media
|
1460
|
+
# digits:: Play DTMF tones for digits
|
1461
|
+
# keyword_args:: additional attributes
|
1462
|
+
def play(url: nil, loop: nil, digits: nil, **keyword_args)
|
1463
|
+
append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
|
1464
|
+
end
|
1465
|
+
end
|
1466
|
+
|
1467
|
+
##
|
1468
|
+
# <Enqueue> TwiML Noun
|
1469
|
+
class Enqueue < TwiML
|
1470
|
+
def initialize(name: nil, **keyword_args)
|
1471
|
+
super(**keyword_args)
|
1472
|
+
@name = 'Enqueue'
|
1473
|
+
@value = name unless name.nil?
|
1474
|
+
yield(self) if block_given?
|
1475
|
+
end
|
1476
|
+
|
1477
|
+
##
|
1478
|
+
# Create a new <Task> element
|
1479
|
+
# body:: TaskRouter task attributes
|
1480
|
+
# priority:: Task priority
|
1481
|
+
# timeout:: Timeout associated with task
|
1482
|
+
# keyword_args:: additional attributes
|
1483
|
+
def task(body, priority: nil, timeout: nil, **keyword_args)
|
1484
|
+
append(Task.new(body, priority: priority, timeout: timeout, **keyword_args))
|
1485
|
+
end
|
1486
|
+
end
|
1487
|
+
|
1488
|
+
##
|
1489
|
+
# <Task> TwiML Noun
|
1490
|
+
class Task < TwiML
|
1491
|
+
def initialize(body, **keyword_args)
|
1492
|
+
super(**keyword_args)
|
1493
|
+
@name = 'Task'
|
1494
|
+
@value = body
|
1495
|
+
yield(self) if block_given?
|
1496
|
+
end
|
1497
|
+
end
|
1498
|
+
|
1499
|
+
##
|
1500
|
+
# <Echo> TwiML Verb
|
1501
|
+
class Echo < TwiML
|
1502
|
+
def initialize(**keyword_args)
|
1503
|
+
super(**keyword_args)
|
1504
|
+
@name = 'Echo'
|
1505
|
+
|
1506
|
+
yield(self) if block_given?
|
1507
|
+
end
|
1508
|
+
end
|
1509
|
+
|
1510
|
+
##
|
1511
|
+
# <Dial> TwiML Verb
|
1512
|
+
class Dial < TwiML
|
1513
|
+
def initialize(number: nil, **keyword_args)
|
1514
|
+
super(**keyword_args)
|
1515
|
+
@name = 'Dial'
|
1516
|
+
@value = number unless number.nil?
|
1517
|
+
yield(self) if block_given?
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
##
|
1521
|
+
# Create a new <Client> element
|
1522
|
+
# identity:: Client identity
|
1523
|
+
# url:: Client URL
|
1524
|
+
# method:: Client URL Method
|
1525
|
+
# status_callback_event:: Events to trigger status callback
|
1526
|
+
# status_callback:: Status Callback URL
|
1527
|
+
# status_callback_method:: Status Callback URL Method
|
1528
|
+
# keyword_args:: additional attributes
|
1529
|
+
def client(identity: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
1530
|
+
client = Client.new(identity: identity, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
|
1531
|
+
|
1532
|
+
yield(client) if block_given?
|
1533
|
+
append(client)
|
1534
|
+
end
|
1535
|
+
|
1536
|
+
##
|
1537
|
+
# Create a new <Conference> element
|
1538
|
+
# name:: Conference name
|
1539
|
+
# muted:: Join the conference muted
|
1540
|
+
# beep:: Play beep when joining
|
1541
|
+
# start_conference_on_enter:: Start the conference on enter
|
1542
|
+
# end_conference_on_exit:: End the conferenceon exit
|
1543
|
+
# wait_url:: Wait URL
|
1544
|
+
# wait_method:: Wait URL method
|
1545
|
+
# max_participants:: Maximum number of participants
|
1546
|
+
# record:: Record the conference
|
1547
|
+
# region:: Conference region
|
1548
|
+
# coach:: Call coach
|
1549
|
+
# trim:: Trim the conference recording
|
1550
|
+
# status_callback_event:: Events to call status callback URL
|
1551
|
+
# status_callback:: Status callback URL
|
1552
|
+
# status_callback_method:: Status callback URL method
|
1553
|
+
# recording_status_callback:: Recording status callback URL
|
1554
|
+
# recording_status_callback_method:: Recording status callback URL method
|
1555
|
+
# recording_status_callback_event:: Recording status callback events
|
1556
|
+
# event_callback_url:: Event callback URL
|
1557
|
+
# jitter_buffer_size:: Size of jitter buffer for participant
|
1558
|
+
# participant_label:: A label for participant
|
1559
|
+
# keyword_args:: additional attributes
|
1560
|
+
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)
|
1561
|
+
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))
|
1562
|
+
end
|
1563
|
+
|
1564
|
+
##
|
1565
|
+
# Create a new <Number> element
|
1566
|
+
# phone_number:: Phone Number to dial
|
1567
|
+
# send_digits:: DTMF tones to play when the call is answered
|
1568
|
+
# url:: TwiML URL
|
1569
|
+
# method:: TwiML URL method
|
1570
|
+
# status_callback_event:: Events to call status callback
|
1571
|
+
# status_callback:: Status callback URL
|
1572
|
+
# status_callback_method:: Status callback URL method
|
1573
|
+
# byoc:: BYOC trunk SID (Beta)
|
1574
|
+
# keyword_args:: additional attributes
|
1575
|
+
def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, **keyword_args)
|
1576
|
+
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, **keyword_args))
|
1577
|
+
end
|
1578
|
+
|
1579
|
+
##
|
1580
|
+
# Create a new <Queue> element
|
1581
|
+
# name:: Queue name
|
1582
|
+
# url:: Action URL
|
1583
|
+
# method:: Action URL method
|
1584
|
+
# reservation_sid:: TaskRouter Reservation SID
|
1585
|
+
# post_work_activity_sid:: TaskRouter Activity SID
|
1586
|
+
# keyword_args:: additional attributes
|
1587
|
+
def queue(name, url: nil, method: nil, reservation_sid: nil, post_work_activity_sid: nil, **keyword_args)
|
1588
|
+
append(Queue.new(name, url: url, method: method, reservation_sid: reservation_sid, post_work_activity_sid: post_work_activity_sid, **keyword_args))
|
1589
|
+
end
|
1590
|
+
|
1591
|
+
##
|
1592
|
+
# Create a new <Sim> element
|
1593
|
+
# sim_sid:: SIM SID
|
1594
|
+
# keyword_args:: additional attributes
|
1595
|
+
def sim(sim_sid, **keyword_args)
|
1596
|
+
append(Sim.new(sim_sid, **keyword_args))
|
1597
|
+
end
|
1598
|
+
|
1599
|
+
##
|
1600
|
+
# Create a new <Sip> element
|
1601
|
+
# sip_url:: SIP URL
|
1602
|
+
# username:: SIP Username
|
1603
|
+
# password:: SIP Password
|
1604
|
+
# url:: Action URL
|
1605
|
+
# method:: Action URL method
|
1606
|
+
# status_callback_event:: Status callback events
|
1607
|
+
# status_callback:: Status callback URL
|
1608
|
+
# status_callback_method:: Status callback URL method
|
1609
|
+
# keyword_args:: additional attributes
|
1610
|
+
def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
1611
|
+
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, **keyword_args))
|
1612
|
+
end
|
1613
|
+
end
|
1614
|
+
|
1615
|
+
##
|
1616
|
+
# <Sip> TwiML Noun
|
1617
|
+
class Sip < TwiML
|
1618
|
+
def initialize(sip_url, **keyword_args)
|
1619
|
+
super(**keyword_args)
|
1620
|
+
@name = 'Sip'
|
1621
|
+
@value = sip_url
|
1622
|
+
yield(self) if block_given?
|
1623
|
+
end
|
1624
|
+
end
|
1625
|
+
|
1626
|
+
##
|
1627
|
+
# <Sim> TwiML Noun
|
1628
|
+
class Sim < TwiML
|
1629
|
+
def initialize(sim_sid, **keyword_args)
|
1630
|
+
super(**keyword_args)
|
1631
|
+
@name = 'Sim'
|
1632
|
+
@value = sim_sid
|
1633
|
+
yield(self) if block_given?
|
1634
|
+
end
|
1635
|
+
end
|
1636
|
+
|
1637
|
+
##
|
1638
|
+
# <Number> TwiML Noun
|
1639
|
+
class Number < TwiML
|
1640
|
+
def initialize(phone_number, **keyword_args)
|
1641
|
+
super(**keyword_args)
|
1642
|
+
@name = 'Number'
|
1643
|
+
@value = phone_number
|
1644
|
+
yield(self) if block_given?
|
1645
|
+
end
|
1646
|
+
end
|
1647
|
+
|
1648
|
+
##
|
1649
|
+
# <Conference> TwiML Noun
|
1650
|
+
class Conference < TwiML
|
1651
|
+
def initialize(name, **keyword_args)
|
1652
|
+
super(**keyword_args)
|
1653
|
+
@name = 'Conference'
|
1654
|
+
@value = name
|
1655
|
+
yield(self) if block_given?
|
1656
|
+
end
|
1657
|
+
end
|
1658
|
+
|
1659
|
+
##
|
1660
|
+
# <Client> TwiML Noun
|
1661
|
+
class Client < TwiML
|
1662
|
+
def initialize(identity: nil, **keyword_args)
|
1663
|
+
super(**keyword_args)
|
1664
|
+
@name = 'Client'
|
1665
|
+
@value = identity unless identity.nil?
|
1666
|
+
yield(self) if block_given?
|
1667
|
+
end
|
1668
|
+
|
1669
|
+
##
|
1670
|
+
# Create a new <Identity> element
|
1671
|
+
# client_identity:: Identity of the client to dial
|
1672
|
+
# keyword_args:: additional attributes
|
1673
|
+
def identity(client_identity, **keyword_args)
|
1674
|
+
append(Identity.new(client_identity, **keyword_args))
|
1675
|
+
end
|
1676
|
+
|
1677
|
+
##
|
1678
|
+
# Create a new <Parameter> element
|
1679
|
+
# name:: The name of the custom parameter
|
1680
|
+
# value:: The value of the custom parameter
|
1681
|
+
# keyword_args:: additional attributes
|
1682
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
1683
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
1684
|
+
end
|
1685
|
+
end
|
1686
|
+
|
1687
|
+
##
|
1688
|
+
# <Identity> TwiML Noun
|
1689
|
+
class Identity < TwiML
|
1690
|
+
def initialize(client_identity, **keyword_args)
|
1691
|
+
super(**keyword_args)
|
1692
|
+
@name = 'Identity'
|
1693
|
+
@value = client_identity
|
1694
|
+
yield(self) if block_given?
|
1695
|
+
end
|
1696
|
+
end
|
1697
|
+
|
1698
|
+
##
|
1699
|
+
# <Connect> TwiML Verb
|
1700
|
+
class Connect < TwiML
|
1701
|
+
def initialize(**keyword_args)
|
1702
|
+
super(**keyword_args)
|
1703
|
+
@name = 'Connect'
|
1704
|
+
|
1705
|
+
yield(self) if block_given?
|
1706
|
+
end
|
1707
|
+
|
1708
|
+
##
|
1709
|
+
# Create a new <Room> element
|
1710
|
+
# name:: Room name
|
1711
|
+
# participant_identity:: Participant identity when connecting to the Room
|
1712
|
+
# keyword_args:: additional attributes
|
1713
|
+
def room(name, participant_identity: nil, **keyword_args)
|
1714
|
+
append(Room.new(name, participant_identity: participant_identity, **keyword_args))
|
1715
|
+
end
|
1716
|
+
|
1717
|
+
##
|
1718
|
+
# Create a new <Autopilot> element
|
1719
|
+
# name:: Autopilot assistant sid or unique name
|
1720
|
+
# keyword_args:: additional attributes
|
1721
|
+
def autopilot(name, **keyword_args)
|
1722
|
+
append(Autopilot.new(name, **keyword_args))
|
1723
|
+
end
|
1724
|
+
|
1725
|
+
##
|
1726
|
+
# Create a new <Stream> element
|
1727
|
+
# name:: Friendly name given to the Stream
|
1728
|
+
# connector_name:: Unique name for Stream Connector
|
1729
|
+
# url:: URL of the remote service where the Stream is routed
|
1730
|
+
# track:: Track to be streamed to remote service
|
1731
|
+
# status_callback:: Status Callback URL
|
1732
|
+
# status_callback_method:: Status Callback URL method
|
1733
|
+
# keyword_args:: additional attributes
|
1734
|
+
def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
1735
|
+
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)
|
1736
|
+
|
1737
|
+
yield(stream) if block_given?
|
1738
|
+
append(stream)
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
##
|
1742
|
+
# Create a new <VirtualAgent> element
|
1743
|
+
# connector_name:: Defines the conversation profile Dialogflow needs to use
|
1744
|
+
# language:: Language to be used by Dialogflow to transcribe speech
|
1745
|
+
# sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
|
1746
|
+
# status_callback:: URL to post status callbacks from Twilio
|
1747
|
+
# status_callback_method:: HTTP method to use when requesting the status callback URL
|
1748
|
+
# keyword_args:: additional attributes
|
1749
|
+
def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
|
1750
|
+
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)
|
1751
|
+
|
1752
|
+
yield(virtual_agent) if block_given?
|
1753
|
+
append(virtual_agent)
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
##
|
1757
|
+
# Create a new <Conversation> element
|
1758
|
+
# service_instance_sid:: Service instance Sid
|
1759
|
+
# inbound_autocreation:: Inbound autocreation
|
1760
|
+
# routing_assignment_timeout:: Routing assignment timeout
|
1761
|
+
# inbound_timeout:: Inbound timeout
|
1762
|
+
# record:: Record
|
1763
|
+
# trim:: Trim
|
1764
|
+
# recording_status_callback:: Recording status callback URL
|
1765
|
+
# recording_status_callback_method:: Recording status callback URL method
|
1766
|
+
# recording_status_callback_event:: Recording status callback events
|
1767
|
+
# status_callback:: Status callback URL
|
1768
|
+
# status_callback_method:: Status callback URL method
|
1769
|
+
# status_callback_event:: Events to call status callback URL
|
1770
|
+
# keyword_args:: additional attributes
|
1771
|
+
def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: 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)
|
1772
|
+
append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, 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))
|
1773
|
+
end
|
1774
|
+
end
|
1775
|
+
|
1776
|
+
##
|
1777
|
+
# <Conversation> TwiML Noun
|
1778
|
+
class Conversation < TwiML
|
1779
|
+
def initialize(**keyword_args)
|
1780
|
+
super(**keyword_args)
|
1781
|
+
@name = 'Conversation'
|
1782
|
+
|
1783
|
+
yield(self) if block_given?
|
1784
|
+
end
|
1785
|
+
end
|
1786
|
+
|
1787
|
+
##
|
1788
|
+
# <VirtualAgent> TwiML Noun
|
1789
|
+
class VirtualAgent < TwiML
|
1790
|
+
def initialize(**keyword_args)
|
1791
|
+
super(**keyword_args)
|
1792
|
+
@name = 'VirtualAgent'
|
1793
|
+
|
1794
|
+
yield(self) if block_given?
|
1795
|
+
end
|
1796
|
+
|
1797
|
+
##
|
1798
|
+
# Create a new <Config> element
|
1799
|
+
# name:: The name of the custom config
|
1800
|
+
# value:: The value of the custom config
|
1801
|
+
# keyword_args:: additional attributes
|
1802
|
+
def config(name: nil, value: nil, **keyword_args)
|
1803
|
+
append(Config.new(name: name, value: value, **keyword_args))
|
1804
|
+
end
|
1805
|
+
|
1806
|
+
##
|
1807
|
+
# Create a new <Parameter> element
|
1808
|
+
# name:: The name of the custom parameter
|
1809
|
+
# value:: The value of the custom parameter
|
1810
|
+
# keyword_args:: additional attributes
|
1811
|
+
def parameter(name: nil, value: nil, **keyword_args)
|
1812
|
+
append(Parameter.new(name: name, value: value, **keyword_args))
|
1813
|
+
end
|
1814
|
+
end
|
1815
|
+
|
1816
|
+
##
|
1817
|
+
# <Config> TwiML Noun
|
1818
|
+
class Config < TwiML
|
1819
|
+
def initialize(**keyword_args)
|
1820
|
+
super(**keyword_args)
|
1821
|
+
@name = 'Config'
|
1822
|
+
|
1823
|
+
yield(self) if block_given?
|
1824
|
+
end
|
1825
|
+
end
|
1826
|
+
|
1827
|
+
##
|
1828
|
+
# <Autopilot> TwiML Noun
|
1829
|
+
class Autopilot < TwiML
|
1830
|
+
def initialize(name, **keyword_args)
|
1831
|
+
super(**keyword_args)
|
1832
|
+
@name = 'Autopilot'
|
1833
|
+
@value = name
|
1834
|
+
yield(self) if block_given?
|
1835
|
+
end
|
1836
|
+
end
|
1837
|
+
|
1838
|
+
##
|
1839
|
+
# <Room> TwiML Noun
|
1840
|
+
class Room < TwiML
|
1841
|
+
def initialize(name, **keyword_args)
|
1842
|
+
super(**keyword_args)
|
1843
|
+
@name = 'Room'
|
1844
|
+
@value = name
|
1845
|
+
yield(self) if block_given?
|
1846
|
+
end
|
1847
|
+
end
|
1848
|
+
end
|
1849
|
+
end
|