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,554 @@
|
|
|
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 REST
|
|
11
|
+
class Proxy < Domain
|
|
12
|
+
class V1 < Version
|
|
13
|
+
class ServiceContext < InstanceContext
|
|
14
|
+
##
|
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
16
|
+
class SessionList < ListResource
|
|
17
|
+
##
|
|
18
|
+
# Initialize the SessionList
|
|
19
|
+
# @param [Version] version Version that contains the resource
|
|
20
|
+
# @param [String] service_sid The SID of the
|
|
21
|
+
# {Service}[https://www.twilio.com/docs/proxy/api/service] the session is
|
|
22
|
+
# associated with.
|
|
23
|
+
# @return [SessionList] SessionList
|
|
24
|
+
def initialize(version, service_sid: nil)
|
|
25
|
+
super(version)
|
|
26
|
+
|
|
27
|
+
# Path Solution
|
|
28
|
+
@solution = {service_sid: service_sid}
|
|
29
|
+
@uri = "/Services/#{@solution[:service_sid]}/Sessions"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
# Lists SessionInstance records from the API as a list.
|
|
34
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
35
|
+
# memory before returning.
|
|
36
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
37
|
+
# guarantees to never return more than limit. Default is no limit
|
|
38
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
39
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
40
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
41
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
42
|
+
# @return [Array] Array of up to limit results
|
|
43
|
+
def list(limit: nil, page_size: nil)
|
|
44
|
+
self.stream(limit: limit, page_size: page_size).entries
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
##
|
|
48
|
+
# Streams SessionInstance records from the API as an Enumerable.
|
|
49
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
50
|
+
# is reached.
|
|
51
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
52
|
+
# guarantees to never return more than limit. Default is no limit.
|
|
53
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
54
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
55
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
56
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
57
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
58
|
+
def stream(limit: nil, page_size: nil)
|
|
59
|
+
limits = @version.read_limits(limit, page_size)
|
|
60
|
+
|
|
61
|
+
page = self.page(page_size: limits[:page_size], )
|
|
62
|
+
|
|
63
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
##
|
|
67
|
+
# When passed a block, yields SessionInstance records from the API.
|
|
68
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
69
|
+
# is reached.
|
|
70
|
+
def each
|
|
71
|
+
limits = @version.read_limits
|
|
72
|
+
|
|
73
|
+
page = self.page(page_size: limits[:page_size], )
|
|
74
|
+
|
|
75
|
+
@version.stream(page,
|
|
76
|
+
limit: limits[:limit],
|
|
77
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
##
|
|
81
|
+
# Retrieve a single page of SessionInstance records from the API.
|
|
82
|
+
# Request is executed immediately.
|
|
83
|
+
# @param [String] page_token PageToken provided by the API
|
|
84
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
85
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
86
|
+
# @return [Page] Page of SessionInstance
|
|
87
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
88
|
+
params = Twilio::Values.of({
|
|
89
|
+
'PageToken' => page_token,
|
|
90
|
+
'Page' => page_number,
|
|
91
|
+
'PageSize' => page_size,
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
response = @version.page('GET', @uri, params: params)
|
|
95
|
+
|
|
96
|
+
SessionPage.new(@version, response, @solution)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
##
|
|
100
|
+
# Retrieve a single page of SessionInstance records from the API.
|
|
101
|
+
# Request is executed immediately.
|
|
102
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
103
|
+
# @return [Page] Page of SessionInstance
|
|
104
|
+
def get_page(target_url)
|
|
105
|
+
response = @version.domain.request(
|
|
106
|
+
'GET',
|
|
107
|
+
target_url
|
|
108
|
+
)
|
|
109
|
+
SessionPage.new(@version, response, @solution)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
##
|
|
113
|
+
# Create the SessionInstance
|
|
114
|
+
# @param [String] unique_name An application-defined string that uniquely
|
|
115
|
+
# identifies the resource. This value must be 191 characters or fewer in length
|
|
116
|
+
# and be unique. **This value should not have PII.**
|
|
117
|
+
# @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
|
|
118
|
+
# date when the Session should expire. If this is value is present, it overrides
|
|
119
|
+
# the `ttl` value.
|
|
120
|
+
# @param [String] ttl The time, in seconds, when the session will expire. The time
|
|
121
|
+
# is measured from the last Session create or the Session's last Interaction.
|
|
122
|
+
# @param [session.Mode] mode The Mode of the Session. Can be: `message-only`,
|
|
123
|
+
# `voice-only`, or `voice-and-message` and the default value is
|
|
124
|
+
# `voice-and-message`.
|
|
125
|
+
# @param [session.Status] status The initial status of the Session. Can be:
|
|
126
|
+
# `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open`
|
|
127
|
+
# on create.
|
|
128
|
+
# @param [Array[Hash]] participants The Participant objects to include in the new
|
|
129
|
+
# session.
|
|
130
|
+
# @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
|
|
131
|
+
# the ProxyAllowParticipantConflict account flag, setting to true enables
|
|
132
|
+
# per-request opt-in to allowing Proxy to reject a Session create (with
|
|
133
|
+
# Participants) request that could cause the same Identifier/ProxyIdentifier pair
|
|
134
|
+
# to be active in multiple Sessions. Depending on the context, this could be a 409
|
|
135
|
+
# error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not
|
|
136
|
+
# provided, requests will be allowed to succeed and a Debugger notification
|
|
137
|
+
# (80802) will be emitted. Having multiple, active Participants with the same
|
|
138
|
+
# Identifier/ProxyIdentifier pair causes calls and messages from affected
|
|
139
|
+
# Participants to be routed incorrectly. Please note, the default behavior for
|
|
140
|
+
# accounts without the ProxyAllowParticipantConflict flag is to reject the request
|
|
141
|
+
# as described. This will eventually be the default for all accounts.
|
|
142
|
+
# @return [SessionInstance] Created SessionInstance
|
|
143
|
+
def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset, fail_on_participant_conflict: :unset)
|
|
144
|
+
data = Twilio::Values.of({
|
|
145
|
+
'UniqueName' => unique_name,
|
|
146
|
+
'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
|
|
147
|
+
'Ttl' => ttl,
|
|
148
|
+
'Mode' => mode,
|
|
149
|
+
'Status' => status,
|
|
150
|
+
'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
|
|
151
|
+
'FailOnParticipantConflict' => fail_on_participant_conflict,
|
|
152
|
+
})
|
|
153
|
+
|
|
154
|
+
payload = @version.create('POST', @uri, data: data)
|
|
155
|
+
|
|
156
|
+
SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Provide a user friendly representation
|
|
161
|
+
def to_s
|
|
162
|
+
'#<Twilio.Proxy.V1.SessionList>'
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
##
|
|
167
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
168
|
+
class SessionPage < Page
|
|
169
|
+
##
|
|
170
|
+
# Initialize the SessionPage
|
|
171
|
+
# @param [Version] version Version that contains the resource
|
|
172
|
+
# @param [Response] response Response from the API
|
|
173
|
+
# @param [Hash] solution Path solution for the resource
|
|
174
|
+
# @return [SessionPage] SessionPage
|
|
175
|
+
def initialize(version, response, solution)
|
|
176
|
+
super(version, response)
|
|
177
|
+
|
|
178
|
+
# Path Solution
|
|
179
|
+
@solution = solution
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
##
|
|
183
|
+
# Build an instance of SessionInstance
|
|
184
|
+
# @param [Hash] payload Payload response from the API
|
|
185
|
+
# @return [SessionInstance] SessionInstance
|
|
186
|
+
def get_instance(payload)
|
|
187
|
+
SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
##
|
|
191
|
+
# Provide a user friendly representation
|
|
192
|
+
def to_s
|
|
193
|
+
'<Twilio.Proxy.V1.SessionPage>'
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
##
|
|
198
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
199
|
+
class SessionContext < InstanceContext
|
|
200
|
+
##
|
|
201
|
+
# Initialize the SessionContext
|
|
202
|
+
# @param [Version] version Version that contains the resource
|
|
203
|
+
# @param [String] service_sid The SID of the parent
|
|
204
|
+
# {Service}[https://www.twilio.com/docs/proxy/api/service] of the resource to
|
|
205
|
+
# fetch.
|
|
206
|
+
# @param [String] sid The Twilio-provided string that uniquely identifies the
|
|
207
|
+
# Session resource to fetch.
|
|
208
|
+
# @return [SessionContext] SessionContext
|
|
209
|
+
def initialize(version, service_sid, sid)
|
|
210
|
+
super(version)
|
|
211
|
+
|
|
212
|
+
# Path Solution
|
|
213
|
+
@solution = {service_sid: service_sid, sid: sid, }
|
|
214
|
+
@uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
|
|
215
|
+
|
|
216
|
+
# Dependents
|
|
217
|
+
@interactions = nil
|
|
218
|
+
@participants = nil
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
##
|
|
222
|
+
# Fetch the SessionInstance
|
|
223
|
+
# @return [SessionInstance] Fetched SessionInstance
|
|
224
|
+
def fetch
|
|
225
|
+
payload = @version.fetch('GET', @uri)
|
|
226
|
+
|
|
227
|
+
SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
##
|
|
231
|
+
# Delete the SessionInstance
|
|
232
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
|
233
|
+
def delete
|
|
234
|
+
@version.delete('DELETE', @uri)
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
##
|
|
238
|
+
# Update the SessionInstance
|
|
239
|
+
# @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
|
|
240
|
+
# date when the Session should expire. If this is value is present, it overrides
|
|
241
|
+
# the `ttl` value.
|
|
242
|
+
# @param [String] ttl The time, in seconds, when the session will expire. The time
|
|
243
|
+
# is measured from the last Session create or the Session's last Interaction.
|
|
244
|
+
# @param [session.Status] status The new status of the resource. Can be:
|
|
245
|
+
# `in-progress` to re-open a session or `closed` to close a session.
|
|
246
|
+
# @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
|
|
247
|
+
# the ProxyAllowParticipantConflict account flag, setting to true enables
|
|
248
|
+
# per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
|
|
249
|
+
# 80604) when a request to set a Session to in-progress would cause Participants
|
|
250
|
+
# with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
|
|
251
|
+
# If not provided, requests will be allowed to succeed, and a Debugger
|
|
252
|
+
# notification (80801) will be emitted. Having multiple, active Participants with
|
|
253
|
+
# the same Identifier/ProxyIdentifier pair causes calls and messages from affected
|
|
254
|
+
# Participants to be routed incorrectly. Please note, the default behavior for
|
|
255
|
+
# accounts without the ProxyAllowParticipantConflict flag is to reject the request
|
|
256
|
+
# as described. This will eventually be the default for all accounts.
|
|
257
|
+
# @return [SessionInstance] Updated SessionInstance
|
|
258
|
+
def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
|
|
259
|
+
data = Twilio::Values.of({
|
|
260
|
+
'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
|
|
261
|
+
'Ttl' => ttl,
|
|
262
|
+
'Status' => status,
|
|
263
|
+
'FailOnParticipantConflict' => fail_on_participant_conflict,
|
|
264
|
+
})
|
|
265
|
+
|
|
266
|
+
payload = @version.update('POST', @uri, data: data)
|
|
267
|
+
|
|
268
|
+
SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
##
|
|
272
|
+
# Access the interactions
|
|
273
|
+
# @return [InteractionList]
|
|
274
|
+
# @return [InteractionContext] if sid was passed.
|
|
275
|
+
def interactions(sid=:unset)
|
|
276
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
277
|
+
|
|
278
|
+
if sid != :unset
|
|
279
|
+
return InteractionContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
unless @interactions
|
|
283
|
+
@interactions = InteractionList.new(
|
|
284
|
+
@version,
|
|
285
|
+
service_sid: @solution[:service_sid],
|
|
286
|
+
session_sid: @solution[:sid],
|
|
287
|
+
)
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
@interactions
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
##
|
|
294
|
+
# Access the participants
|
|
295
|
+
# @return [ParticipantList]
|
|
296
|
+
# @return [ParticipantContext] if sid was passed.
|
|
297
|
+
def participants(sid=:unset)
|
|
298
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
299
|
+
|
|
300
|
+
if sid != :unset
|
|
301
|
+
return ParticipantContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
unless @participants
|
|
305
|
+
@participants = ParticipantList.new(
|
|
306
|
+
@version,
|
|
307
|
+
service_sid: @solution[:service_sid],
|
|
308
|
+
session_sid: @solution[:sid],
|
|
309
|
+
)
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
@participants
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
##
|
|
316
|
+
# Provide a user friendly representation
|
|
317
|
+
def to_s
|
|
318
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
319
|
+
"#<Twilio.Proxy.V1.SessionContext #{context}>"
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
##
|
|
323
|
+
# Provide a detailed, user friendly representation
|
|
324
|
+
def inspect
|
|
325
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
326
|
+
"#<Twilio.Proxy.V1.SessionContext #{context}>"
|
|
327
|
+
end
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
##
|
|
331
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
|
332
|
+
class SessionInstance < InstanceResource
|
|
333
|
+
##
|
|
334
|
+
# Initialize the SessionInstance
|
|
335
|
+
# @param [Version] version Version that contains the resource
|
|
336
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
337
|
+
# @param [String] service_sid The SID of the
|
|
338
|
+
# {Service}[https://www.twilio.com/docs/proxy/api/service] the session is
|
|
339
|
+
# associated with.
|
|
340
|
+
# @param [String] sid The Twilio-provided string that uniquely identifies the
|
|
341
|
+
# Session resource to fetch.
|
|
342
|
+
# @return [SessionInstance] SessionInstance
|
|
343
|
+
def initialize(version, payload, service_sid: nil, sid: nil)
|
|
344
|
+
super(version)
|
|
345
|
+
|
|
346
|
+
# Marshaled Properties
|
|
347
|
+
@properties = {
|
|
348
|
+
'sid' => payload['sid'],
|
|
349
|
+
'service_sid' => payload['service_sid'],
|
|
350
|
+
'account_sid' => payload['account_sid'],
|
|
351
|
+
'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
|
|
352
|
+
'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
|
|
353
|
+
'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
|
|
354
|
+
'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
|
|
355
|
+
'unique_name' => payload['unique_name'],
|
|
356
|
+
'status' => payload['status'],
|
|
357
|
+
'closed_reason' => payload['closed_reason'],
|
|
358
|
+
'ttl' => payload['ttl'].to_i,
|
|
359
|
+
'mode' => payload['mode'],
|
|
360
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
|
361
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
|
362
|
+
'url' => payload['url'],
|
|
363
|
+
'links' => payload['links'],
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
# Context
|
|
367
|
+
@instance_context = nil
|
|
368
|
+
@params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
##
|
|
372
|
+
# Generate an instance context for the instance, the context is capable of
|
|
373
|
+
# performing various actions. All instance actions are proxied to the context
|
|
374
|
+
# @return [SessionContext] SessionContext for this SessionInstance
|
|
375
|
+
def context
|
|
376
|
+
unless @instance_context
|
|
377
|
+
@instance_context = SessionContext.new(@version, @params['service_sid'], @params['sid'], )
|
|
378
|
+
end
|
|
379
|
+
@instance_context
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
##
|
|
383
|
+
# @return [String] The unique string that identifies the resource
|
|
384
|
+
def sid
|
|
385
|
+
@properties['sid']
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
##
|
|
389
|
+
# @return [String] The SID of the resource's parent Service
|
|
390
|
+
def service_sid
|
|
391
|
+
@properties['service_sid']
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
##
|
|
395
|
+
# @return [String] The SID of the Account that created the resource
|
|
396
|
+
def account_sid
|
|
397
|
+
@properties['account_sid']
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
##
|
|
401
|
+
# @return [Time] The ISO 8601 date when the Session started
|
|
402
|
+
def date_started
|
|
403
|
+
@properties['date_started']
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
##
|
|
407
|
+
# @return [Time] The ISO 8601 date when the Session ended
|
|
408
|
+
def date_ended
|
|
409
|
+
@properties['date_ended']
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
##
|
|
413
|
+
# @return [Time] The ISO 8601 date when the Session last had an interaction
|
|
414
|
+
def date_last_interaction
|
|
415
|
+
@properties['date_last_interaction']
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
##
|
|
419
|
+
# @return [Time] The ISO 8601 date when the Session should expire
|
|
420
|
+
def date_expiry
|
|
421
|
+
@properties['date_expiry']
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
##
|
|
425
|
+
# @return [String] An application-defined string that uniquely identifies the resource
|
|
426
|
+
def unique_name
|
|
427
|
+
@properties['unique_name']
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
##
|
|
431
|
+
# @return [session.Status] The status of the Session
|
|
432
|
+
def status
|
|
433
|
+
@properties['status']
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
##
|
|
437
|
+
# @return [String] The reason the Session ended
|
|
438
|
+
def closed_reason
|
|
439
|
+
@properties['closed_reason']
|
|
440
|
+
end
|
|
441
|
+
|
|
442
|
+
##
|
|
443
|
+
# @return [String] When the session will expire
|
|
444
|
+
def ttl
|
|
445
|
+
@properties['ttl']
|
|
446
|
+
end
|
|
447
|
+
|
|
448
|
+
##
|
|
449
|
+
# @return [session.Mode] The Mode of the Session
|
|
450
|
+
def mode
|
|
451
|
+
@properties['mode']
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
##
|
|
455
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was created
|
|
456
|
+
def date_created
|
|
457
|
+
@properties['date_created']
|
|
458
|
+
end
|
|
459
|
+
|
|
460
|
+
##
|
|
461
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
|
|
462
|
+
def date_updated
|
|
463
|
+
@properties['date_updated']
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
##
|
|
467
|
+
# @return [String] The absolute URL of the Session resource
|
|
468
|
+
def url
|
|
469
|
+
@properties['url']
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
##
|
|
473
|
+
# @return [String] The URLs of resources related to the Session
|
|
474
|
+
def links
|
|
475
|
+
@properties['links']
|
|
476
|
+
end
|
|
477
|
+
|
|
478
|
+
##
|
|
479
|
+
# Fetch the SessionInstance
|
|
480
|
+
# @return [SessionInstance] Fetched SessionInstance
|
|
481
|
+
def fetch
|
|
482
|
+
context.fetch
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
##
|
|
486
|
+
# Delete the SessionInstance
|
|
487
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
|
488
|
+
def delete
|
|
489
|
+
context.delete
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
##
|
|
493
|
+
# Update the SessionInstance
|
|
494
|
+
# @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
|
|
495
|
+
# date when the Session should expire. If this is value is present, it overrides
|
|
496
|
+
# the `ttl` value.
|
|
497
|
+
# @param [String] ttl The time, in seconds, when the session will expire. The time
|
|
498
|
+
# is measured from the last Session create or the Session's last Interaction.
|
|
499
|
+
# @param [session.Status] status The new status of the resource. Can be:
|
|
500
|
+
# `in-progress` to re-open a session or `closed` to close a session.
|
|
501
|
+
# @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
|
|
502
|
+
# the ProxyAllowParticipantConflict account flag, setting to true enables
|
|
503
|
+
# per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
|
|
504
|
+
# 80604) when a request to set a Session to in-progress would cause Participants
|
|
505
|
+
# with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
|
|
506
|
+
# If not provided, requests will be allowed to succeed, and a Debugger
|
|
507
|
+
# notification (80801) will be emitted. Having multiple, active Participants with
|
|
508
|
+
# the same Identifier/ProxyIdentifier pair causes calls and messages from affected
|
|
509
|
+
# Participants to be routed incorrectly. Please note, the default behavior for
|
|
510
|
+
# accounts without the ProxyAllowParticipantConflict flag is to reject the request
|
|
511
|
+
# as described. This will eventually be the default for all accounts.
|
|
512
|
+
# @return [SessionInstance] Updated SessionInstance
|
|
513
|
+
def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
|
|
514
|
+
context.update(
|
|
515
|
+
date_expiry: date_expiry,
|
|
516
|
+
ttl: ttl,
|
|
517
|
+
status: status,
|
|
518
|
+
fail_on_participant_conflict: fail_on_participant_conflict,
|
|
519
|
+
)
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
##
|
|
523
|
+
# Access the interactions
|
|
524
|
+
# @return [interactions] interactions
|
|
525
|
+
def interactions
|
|
526
|
+
context.interactions
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
##
|
|
530
|
+
# Access the participants
|
|
531
|
+
# @return [participants] participants
|
|
532
|
+
def participants
|
|
533
|
+
context.participants
|
|
534
|
+
end
|
|
535
|
+
|
|
536
|
+
##
|
|
537
|
+
# Provide a user friendly representation
|
|
538
|
+
def to_s
|
|
539
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
540
|
+
"<Twilio.Proxy.V1.SessionInstance #{values}>"
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
##
|
|
544
|
+
# Provide a detailed, user friendly representation
|
|
545
|
+
def inspect
|
|
546
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
547
|
+
"<Twilio.Proxy.V1.SessionInstance #{values}>"
|
|
548
|
+
end
|
|
549
|
+
end
|
|
550
|
+
end
|
|
551
|
+
end
|
|
552
|
+
end
|
|
553
|
+
end
|
|
554
|
+
end
|