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
data/README.md
CHANGED
@@ -1,18 +1,46 @@
|
|
1
|
-
[](https://travis-ci.org/twilio/twilio-ruby)
|
2
|
-
[](http://badge.fury.io/rb/twilio-ruby)
|
3
|
-
|
4
1
|
# twilio-ruby
|
5
2
|
|
6
|
-
|
7
|
-
[
|
8
|
-
[
|
3
|
+
[][github-actions]
|
4
|
+
[](https://rubygems.org/gems/twilio-ruby)
|
5
|
+
[](https://twil.io/learn-open-source)
|
6
|
+
|
7
|
+
## Documentation
|
8
|
+
|
9
|
+
The documentation for the Twilio API can be found [here][apidocs].
|
10
|
+
|
11
|
+
The Ruby library documentation can be found [here][libdocs] and individual releases [here][refdocs].
|
12
|
+
|
13
|
+
## Versions
|
14
|
+
|
15
|
+
`twilio-ruby` uses a modified version of [Semantic Versioning](https://semver.org) for all changes. [See this document](VERSIONS.md) for details.
|
16
|
+
|
17
|
+
### Supported Ruby Versions
|
18
|
+
|
19
|
+
This library supports the following Ruby implementations:
|
20
|
+
|
21
|
+
* Ruby 2.4
|
22
|
+
* Ruby 2.5
|
23
|
+
* Ruby 2.6
|
24
|
+
* Ruby 2.7
|
25
|
+
* Ruby 3.0
|
26
|
+
* Ruby 3.1
|
27
|
+
|
28
|
+
### Migrating from 4.x
|
29
|
+
|
30
|
+
[Upgrade Guide][upgrade]
|
31
|
+
|
32
|
+
## Installation
|
33
|
+
|
34
|
+
To install using [Bundler][bundler] grab the latest stable version:
|
9
35
|
|
10
|
-
|
36
|
+
```ruby
|
37
|
+
gem 'twilio-ruby', '~> 5.71.0'
|
38
|
+
```
|
11
39
|
|
12
|
-
|
40
|
+
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
13
41
|
|
14
42
|
```bash
|
15
|
-
gem install twilio-ruby
|
43
|
+
gem install twilio-ruby -v 5.71.0
|
16
44
|
```
|
17
45
|
|
18
46
|
To build and install the development branch yourself from the latest source:
|
@@ -23,12 +51,11 @@ cd twilio-ruby
|
|
23
51
|
make install
|
24
52
|
```
|
25
53
|
|
26
|
-
## Getting Started
|
54
|
+
## Getting Started
|
27
55
|
|
28
56
|
### Setup Work
|
29
57
|
|
30
|
-
```
|
31
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
58
|
+
```ruby
|
32
59
|
require 'twilio-ruby'
|
33
60
|
|
34
61
|
# put your own credentials here
|
@@ -39,124 +66,168 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
|
39
66
|
@client = Twilio::REST::Client.new account_sid, auth_token
|
40
67
|
```
|
41
68
|
|
42
|
-
###
|
69
|
+
### Use An API Key
|
43
70
|
|
44
|
-
```
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
71
|
+
```ruby
|
72
|
+
require 'twilio-ruby'
|
73
|
+
|
74
|
+
# put your own credentials here
|
75
|
+
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
76
|
+
api_key_sid = 'zzzzzzzzzzzzzzzzzzzzzz'
|
77
|
+
api_key_secret = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
78
|
+
|
79
|
+
# set up a client to talk to the Twilio REST API using an API Key
|
80
|
+
@client = Twilio::REST::Client.new api_key_sid, api_key_secret, account_sid
|
81
|
+
```
|
82
|
+
|
83
|
+
### Specify a Region and/or Edge
|
84
|
+
|
85
|
+
To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/docs/global-infrastructure), specify the target Region and/or Edge for the client:
|
86
|
+
|
87
|
+
```ruby
|
88
|
+
# set up a client to talk to the Twilio REST API over a specific region and edge
|
89
|
+
@client = Twilio::REST::Client.new account_sid, auth_token, nil, 'au1'
|
90
|
+
@client.edge = 'sydney'
|
91
|
+
|
92
|
+
# you may also specify the region and/or edge after client creation
|
93
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
94
|
+
@client.region = 'au1'
|
95
|
+
@client.edge = 'sydney'
|
50
96
|
```
|
51
97
|
|
52
|
-
|
98
|
+
This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
|
99
|
+
|
100
|
+
### Enable Debug logging
|
53
101
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
102
|
+
In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
|
103
|
+
|
104
|
+
```ruby
|
105
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
106
|
+
myLogger = Logger.new(STDOUT)
|
107
|
+
myLogger.level = Logger::DEBUG
|
108
|
+
@client.logger = myLogger
|
109
|
+
|
110
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
111
|
+
myLogger = Logger.new('my_log.log')
|
112
|
+
myLogger.level = Logger::DEBUG
|
113
|
+
@client.logger = myLogger
|
114
|
+
```
|
115
|
+
|
116
|
+
### Make a Call
|
117
|
+
|
118
|
+
```ruby
|
119
|
+
@client.calls.create(
|
120
|
+
from: '+14159341234',
|
121
|
+
to: '+16105557069',
|
122
|
+
url: 'http://example.com'
|
60
123
|
)
|
61
124
|
```
|
62
125
|
|
63
|
-
###
|
126
|
+
### Send an SMS
|
64
127
|
|
65
|
-
```
|
66
|
-
|
67
|
-
|
68
|
-
:
|
69
|
-
:
|
70
|
-
:url => 'http://example.com/call-handler',
|
128
|
+
```ruby
|
129
|
+
@client.messages.create(
|
130
|
+
from: '+14159341234',
|
131
|
+
to: '+16105557069',
|
132
|
+
body: 'Hey there!'
|
71
133
|
)
|
134
|
+
```
|
72
135
|
|
73
|
-
|
74
|
-
@call.cancel
|
136
|
+
### List your SMS Messages
|
75
137
|
|
76
|
-
|
77
|
-
@
|
138
|
+
```ruby
|
139
|
+
@client.messages.list(limit: 20)
|
140
|
+
```
|
78
141
|
|
79
|
-
|
80
|
-
@call.redirect_to('http://example.com/call-redirect')
|
142
|
+
### Fetch a single SMS message by Sid
|
81
143
|
|
82
|
-
|
83
|
-
|
144
|
+
```ruby
|
145
|
+
# put the message sid you want to retrieve here:
|
146
|
+
message_sid = 'SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
147
|
+
@client.messages(message_sid).fetch
|
84
148
|
```
|
85
149
|
|
86
|
-
###
|
150
|
+
### Customizing your HTTP Client
|
151
|
+
|
152
|
+
`twilio-ruby` uses [Faraday][faraday] to make HTTP requests. You can tell `Twilio::REST::Client` to use any of the Faraday adapters like so:
|
87
153
|
|
88
|
-
```
|
89
|
-
|
90
|
-
@client.account.calls.list("start_time>" => "2013-05-13") # Notice we omit the "=" in the "start_time>=" parameter because it is automatically added
|
154
|
+
```ruby
|
155
|
+
@client.http_client.adapter = :typhoeus
|
91
156
|
```
|
92
157
|
|
93
|
-
|
158
|
+
To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/ruby/custom-http-clients).
|
94
159
|
|
95
|
-
|
96
|
-
# print some available numbers
|
97
|
-
@numbers = @client.account.available_phone_numbers.get('US').local.list(
|
98
|
-
:contains => 'AWESOME'
|
99
|
-
)
|
100
|
-
@numbers.each {|num| puts num.phone_number}
|
160
|
+
To apply customizations such as middleware, you can use the `configure_connection` method like so:
|
101
161
|
|
102
|
-
|
103
|
-
@
|
104
|
-
|
162
|
+
```ruby
|
163
|
+
@client.http_client.configure_connection do |faraday|
|
164
|
+
faraday.use SomeMiddleware
|
165
|
+
end
|
105
166
|
```
|
106
167
|
|
107
|
-
|
168
|
+
### Handling Errors
|
169
|
+
|
170
|
+
```ruby
|
171
|
+
begin
|
172
|
+
messages = @client.messages.list(limit: 20)
|
173
|
+
rescue Twilio::REST::RestError => e
|
174
|
+
puts e.message
|
175
|
+
end
|
176
|
+
```
|
177
|
+
|
178
|
+
For more descriptive exception types, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/ruby/usage-guide#error-handling).
|
179
|
+
|
180
|
+
### Getting Started With Client Capability Tokens
|
108
181
|
|
109
|
-
If you just need to generate a Capability Token for use with Twilio Client, you
|
110
|
-
can do this:
|
182
|
+
If you just need to generate a Capability Token for use with Twilio Client, you can do this:
|
111
183
|
|
112
|
-
```
|
113
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
184
|
+
```ruby
|
114
185
|
require 'twilio-ruby'
|
115
186
|
|
116
187
|
# put your own account credentials here:
|
117
|
-
account_sid = '
|
118
|
-
auth_token = '
|
188
|
+
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
189
|
+
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
119
190
|
|
120
191
|
# set up
|
121
|
-
capability = Twilio::
|
192
|
+
capability = Twilio::JWT::ClientCapability.new account_sid, auth_token
|
122
193
|
|
123
194
|
# allow outgoing calls to an application
|
124
|
-
|
195
|
+
outgoing_scope = Twilio::JWT::ClientCapability::OutgoingClientScope.new 'AP11111111111111111111111111111111'
|
196
|
+
capability.add_scope(outgoing_scope)
|
125
197
|
|
126
198
|
# allow incoming calls to 'andrew'
|
127
|
-
|
199
|
+
incoming_scope = Twilio::JWT::ClientCapability::IncomingClientScope.new 'andrew'
|
200
|
+
capability.add_scope(incoming_scope)
|
128
201
|
|
129
202
|
# generate the token string
|
130
|
-
@token = capability.
|
203
|
+
@token = capability.to_s
|
131
204
|
```
|
132
205
|
|
133
|
-
There is a slightly more detailed document in the [Capability][capability]
|
134
|
-
|
206
|
+
There is a slightly more detailed document in the [Capability][capability] section of the wiki.
|
207
|
+
|
208
|
+
### Generating TwiML
|
135
209
|
|
136
|
-
|
210
|
+
To control phone calls, your application needs to output [TwiML][twiml].
|
137
211
|
|
138
|
-
|
139
|
-
TwiML response like this:
|
212
|
+
You can construct a TwiML response like this:
|
140
213
|
|
141
|
-
```
|
142
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
214
|
+
```ruby
|
143
215
|
require 'twilio-ruby'
|
144
216
|
|
145
|
-
|
146
|
-
|
147
|
-
r.
|
148
|
-
|
149
|
-
d.Client 'jenny'
|
217
|
+
response = Twilio::TwiML::VoiceResponse.new do |r|
|
218
|
+
r.say(message: 'hello there', voice: 'alice')
|
219
|
+
r.dial(caller_id: '+14159992222') do |d|
|
220
|
+
d.client 'jenny'
|
150
221
|
end
|
151
222
|
end
|
152
223
|
|
153
224
|
# print the result
|
154
|
-
puts response.
|
225
|
+
puts response.to_s
|
155
226
|
```
|
156
227
|
|
157
228
|
This will print the following (except for the whitespace):
|
158
229
|
|
159
|
-
```
|
230
|
+
```xml
|
160
231
|
<?xml version="1.0" encoding="UTF-8"?>
|
161
232
|
<Response>
|
162
233
|
<Say voice="alice">hello there</Say>
|
@@ -166,16 +237,26 @@ This will print the following (except for the whitespace):
|
|
166
237
|
</Response>
|
167
238
|
```
|
168
239
|
|
169
|
-
##
|
240
|
+
## Docker Image
|
241
|
+
|
242
|
+
The `Dockerfile` present in this repository and its respective `twilio/twilio-ruby` Docker image are currently used by Twilio for testing purposes only.
|
243
|
+
|
244
|
+
## Getting help
|
170
245
|
|
171
|
-
|
172
|
-
directory.
|
246
|
+
If you need help installing or using the library, please check the [Twilio Support Help Center](https://support.twilio.com) first, and [file a support ticket](https://twilio.com/help/contact) if you don't find an answer to your question.
|
173
247
|
|
174
|
-
|
248
|
+
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!
|
175
249
|
|
176
|
-
[
|
177
|
-
[
|
178
|
-
[
|
179
|
-
[
|
180
|
-
[
|
181
|
-
[wiki]:https://github.com/twilio/twilio-ruby/wiki
|
250
|
+
[apidocs]: https://www.twilio.com/docs/api
|
251
|
+
[twiml]: https://www.twilio.com/docs/api/twiml
|
252
|
+
[libdocs]: https://www.twilio.com/docs/libraries/ruby
|
253
|
+
[refdocs]: https://twilio.github.io/twilio-ruby
|
254
|
+
[capability]: https://github.com/twilio/twilio-ruby/wiki/JWT-Tokens
|
255
|
+
[wiki]: https://github.com/twilio/twilio-ruby/wiki
|
256
|
+
[bundler]: https://bundler.io
|
257
|
+
[rubygems]: https://rubygems.org
|
258
|
+
[gem]: https://rubygems.org/gems/twilio
|
259
|
+
[github-actions]: https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml
|
260
|
+
[upgrade]: https://github.com/twilio/twilio-ruby/wiki/Ruby-Version-5.x-Upgrade-Guide
|
261
|
+
[issues]: https://github.com/twilio/twilio-ruby/issues
|
262
|
+
[faraday]: https://github.com/lostisland/faraday
|
data/Rakefile
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
spec = eval(File.read('twilio-ruby.gemspec'))
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup
|
3
|
+
Bundler::GemHelper.install_tasks
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
desc 'Run all specs'
|
7
|
+
RSpec::Core::RakeTask.new(:spec)
|
10
8
|
|
11
|
-
|
12
|
-
task :
|
9
|
+
task default: :spec
|
10
|
+
task test: :spec
|
data/UPGRADE.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Upgrade Guide
|
2
|
+
|
3
|
+
_After `5.0.0` all `MINOR` and `MAJOR` version bumps will have upgrade notes
|
4
|
+
posted here._
|
5
|
+
|
6
|
+
[2017-09-29] 5.x.x to 5.3.x
|
7
|
+
---------------------------
|
8
|
+
|
9
|
+
### CHANGED - `Body` parameter on Chat `Message` creation is no longer required.
|
10
|
+
|
11
|
+
#### Rationale
|
12
|
+
This was changed to add support for sending media in Chat messages, users can now either provide a `body` or a `media_sid`.
|
13
|
+
|
14
|
+
#### 5.x.x
|
15
|
+
```ruby
|
16
|
+
require 'twilio-ruby'
|
17
|
+
|
18
|
+
@client = Twilio::REST::Client.new "AC123", "auth"
|
19
|
+
@client.chat.v2.service('IS123').channel('CH123').message.create("this is the body", "from")
|
20
|
+
```
|
21
|
+
|
22
|
+
#### 5.3.x
|
23
|
+
```ruby
|
24
|
+
require 'twilio-ruby'
|
25
|
+
|
26
|
+
@client = Twilio::REST::Client.new "AC123", "auth"
|
27
|
+
@client.chat.v2.service('IS123').channel('CH123').message.create("from", body:"this is the body")
|
28
|
+
```
|
29
|
+
|
30
|
+
|
data/VERSIONS.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Versioning Strategy
|
2
|
+
|
3
|
+
`twilio-ruby` uses a modified version of [Semantic Versioning][semver] for
|
4
|
+
all changes to the helper library. It is strongly encouraged that you pin at
|
5
|
+
least the major version and potentially the minor version to avoid pulling in
|
6
|
+
breaking changes.
|
7
|
+
|
8
|
+
Semantic Versions take the form of `MAJOR.MINOR.PATCH`
|
9
|
+
|
10
|
+
When bugs are fixed in the library in a backwards-compatible way, the `PATCH`
|
11
|
+
level will be incremented by one. When new features are added to the library
|
12
|
+
in a backwards-compatible way, the `PATCH` level will be incremented by one.
|
13
|
+
`PATCH` changes should _not_ break your code and are generally safe for upgrade.
|
14
|
+
|
15
|
+
When a new large feature set comes online or a small breaking change is
|
16
|
+
introduced, the `MINOR` version will be incremented by one and the `PATCH`
|
17
|
+
version reset to zero. `MINOR` changes _may_ require some amount of manual code
|
18
|
+
change for upgrade. These backwards-incompatible changes will generally be
|
19
|
+
limited to a small number of function signature changes.
|
20
|
+
|
21
|
+
The `MAJOR` version is used to indicate the family of technology represented by
|
22
|
+
the helper library. Breaking changes that require extensive reworking of code
|
23
|
+
will cause the `MAJOR` version to be incremented by one, and the `MINOR` and
|
24
|
+
`PATCH` versions will be reset to zero. Twilio understands that this can be very
|
25
|
+
disruptive, so we will only introduce this type of breaking change when
|
26
|
+
absolutely necessary. New `MAJOR` versions will be communicated in advance with
|
27
|
+
`Release Candidates` and a schedule.
|
28
|
+
|
29
|
+
## Supported Versions
|
30
|
+
|
31
|
+
Only the current `MAJOR` version of `twilio-ruby` is supported. New
|
32
|
+
features, functionality, bug fixes, and security updates will only be added to
|
33
|
+
the current `MAJOR` version.
|
34
|
+
|
35
|
+
[semver]: https://semver.org
|
data/examples/examples.rb
CHANGED
@@ -1,124 +1,137 @@
|
|
1
|
-
# examples version
|
1
|
+
# examples version
|
2
2
|
|
3
|
-
@account_sid = '
|
4
|
-
@auth_token = '
|
3
|
+
@account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
4
|
+
@auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
5
5
|
# set up a client
|
6
6
|
@client = Twilio::REST::Client.new(@account_sid, @auth_token)
|
7
7
|
|
8
8
|
################ ACCOUNTS ################
|
9
9
|
|
10
10
|
# shortcut to grab your account object (account_sid is inferred from the client's auth credentials)
|
11
|
-
@account = @client.account
|
11
|
+
@account = @client.api.account
|
12
12
|
|
13
13
|
# list your (sub)accounts
|
14
|
-
@client.accounts.
|
14
|
+
@accounts = @client.api.accounts.each do |account|
|
15
|
+
puts(account)
|
16
|
+
end
|
15
17
|
|
16
18
|
# grab an account instance resource if you know the sid
|
17
|
-
@account = @client.accounts
|
18
|
-
|
19
|
-
puts @account.friendly_name
|
19
|
+
@account = @client.api.accounts(account_sid).fetch
|
20
|
+
puts(@account.friendly_name)
|
20
21
|
|
21
22
|
# update an account's friendly name
|
22
|
-
@client.accounts
|
23
|
+
@client.api.accounts(account_sid).update(friendly_name: 'A Fabulous Friendly Name')
|
23
24
|
|
24
25
|
################ CALLS ################
|
25
26
|
|
26
27
|
# print a list of calls (all parameters optional)
|
27
|
-
@
|
28
|
+
@client.calls.list(limit: 10, start_time: '2010-09-01').each do |call|
|
28
29
|
puts call.sid
|
29
30
|
end
|
30
31
|
|
31
32
|
# get a particular call and list its recording urls
|
32
|
-
@
|
33
|
+
@client.calls('CAXXXXXXX').recordings.each do |r|
|
33
34
|
puts r.wav
|
34
35
|
end
|
35
36
|
|
36
37
|
# make a new outgoing call. returns a call object just like calls.get
|
37
|
-
@call = @
|
38
|
+
@call = @client.calls.create(
|
39
|
+
from: '+14159341234',
|
40
|
+
to: '+18004567890',
|
41
|
+
url: 'http://example.com/call-handler'
|
42
|
+
)
|
38
43
|
|
39
44
|
# cancel the call if not already in progress
|
40
|
-
@
|
41
|
-
# or equivalently
|
42
|
-
@call.update({:status => 'canceled'})
|
43
|
-
# or simply
|
44
|
-
@call.cancel
|
45
|
+
@client.calls(@call.sid).update(status: 'canceled')
|
45
46
|
|
46
47
|
# redirect and then terminate a call
|
47
|
-
@
|
48
|
-
@
|
49
|
-
|
50
|
-
@call.redirect_to('http://example.com/call-redirect')
|
51
|
-
@call.hangup
|
48
|
+
@call = client.calls('CAXXXXXXX')
|
49
|
+
@call.update(url: 'http://example.com/call-redirect')
|
50
|
+
@call.update(status: 'completed')
|
52
51
|
|
53
52
|
################ SMS MESSAGES ################
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
puts message.body
|
54
|
+
@client.messages.list(date_sent: '2010-09-01').each do |message|
|
55
|
+
puts message.date_created
|
58
56
|
end
|
59
57
|
|
60
58
|
# print a particular sms message
|
61
|
-
puts @
|
59
|
+
puts @client.messages('SMXXXXXXXX').fetch.body
|
62
60
|
|
63
61
|
# send an sms
|
64
|
-
@
|
62
|
+
@client.messages.create(
|
63
|
+
from: '+14159341234',
|
64
|
+
to: '+16105557069',
|
65
|
+
body: 'Hey there!'
|
66
|
+
)
|
65
67
|
|
66
68
|
# send an mms
|
67
|
-
@
|
69
|
+
@client.messages.create(
|
70
|
+
from: '+14159341234',
|
71
|
+
to: '+16105557069',
|
72
|
+
media_url: 'http://example.com/media.png'
|
73
|
+
)
|
68
74
|
|
69
75
|
################ PHONE NUMBERS ################
|
70
76
|
|
71
77
|
# get a list of supported country codes
|
72
|
-
@
|
78
|
+
@client.available_phone_numbers.list
|
73
79
|
|
74
80
|
# print some available numbers
|
75
|
-
@
|
76
|
-
|
81
|
+
@client.available_phone_numbers('US').local.list.each do |num|
|
82
|
+
puts num
|
83
|
+
end
|
84
|
+
|
85
|
+
@numbers = @client.available_phone_numbers('US').local.list(area_code: '908')
|
86
|
+
@numbers.each { |num| puts num.phone_number }
|
77
87
|
|
78
88
|
# buy the first one
|
79
|
-
@
|
89
|
+
@client.incoming_phone_numbers.create(phone_number: @numbers[0].phone_number)
|
80
90
|
|
81
91
|
# update an existing phone number's voice url
|
82
|
-
@
|
92
|
+
@client.incoming_phone_numbers('PNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').update(voice_url: 'http://example.com/voice')
|
83
93
|
|
84
94
|
# decommission an existing phone number
|
85
|
-
numbers = @
|
86
|
-
numbers[0].
|
95
|
+
numbers = @client.incoming_phone_numbers.list(friendly_name: 'A Fabulous Friendly Name')
|
96
|
+
number = numbers[0].sid
|
97
|
+
@client.incoming_phone_numbers(number).delete
|
98
|
+
|
87
99
|
################ CONFERENCES ################
|
88
100
|
|
89
101
|
# get a particular conference's participants object and stash it
|
90
|
-
|
102
|
+
conference = @client.conferences('CFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').fetch
|
103
|
+
@participants = conference.participants
|
91
104
|
|
92
105
|
# list participants
|
93
|
-
@participants.
|
106
|
+
@participants.each do |p|
|
94
107
|
puts p.sid
|
95
108
|
end
|
96
109
|
|
97
110
|
# update a conference participant
|
98
|
-
@
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
# and, since we're lazy loading, this would only incur one http request
|
103
|
-
@account.conferences.get('CFbbe46ff1274e283f7e3ac1df0072ab39').participants.get('CA386025c9bf5d6052a1d1ea42b4d16662').update({:muted => 'true'})
|
111
|
+
@client
|
112
|
+
.conferences('CFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
|
113
|
+
.participants('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
|
114
|
+
.update(muted: 'true')
|
104
115
|
|
105
116
|
################ QUEUES ###################
|
106
117
|
|
107
118
|
# create a new queue
|
108
|
-
@queue = @
|
119
|
+
@queue = @client.queues.create(friendly_name: 'MyQueue', max_size: 50)
|
109
120
|
|
110
121
|
# get a list of queues for this account
|
111
|
-
@queues = @
|
122
|
+
@queues = @client.queues.list
|
112
123
|
|
113
124
|
# get a particular queue and its members
|
114
|
-
@queue = @
|
125
|
+
@queue = @client.queues('QQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').fetch
|
115
126
|
@members = @queue.members
|
116
127
|
|
117
|
-
#list members
|
128
|
+
# list members
|
118
129
|
@members.list.each do |m|
|
119
130
|
puts m.wait_time
|
120
131
|
end
|
121
132
|
|
122
133
|
# dequeue a particular user and run twiml at a specific url
|
123
|
-
@
|
124
|
-
|
134
|
+
@client
|
135
|
+
.queues('QQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
|
136
|
+
.members('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
|
137
|
+
.update(url: 'http://myapp.com/deque', method: 'POST')
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'twilio-ruby'
|
3
2
|
|
4
3
|
# print a list of all phone calls, what phone number each was to/from, and how
|
@@ -7,18 +6,19 @@ require 'twilio-ruby'
|
|
7
6
|
# put your Twilio credentials here. you can find your AccountSid and AuthToken
|
8
7
|
# at the top of your account dashboard page located at:
|
9
8
|
# https://www.twilio.com/user/account
|
10
|
-
account_sid = '
|
11
|
-
auth_token = '
|
9
|
+
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
10
|
+
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
12
11
|
|
13
12
|
# set up a client
|
14
13
|
client = Twilio::REST::Client.new(account_sid, auth_token)
|
15
14
|
|
16
|
-
calls = client.
|
15
|
+
calls = client.calls.list
|
17
16
|
|
18
|
-
|
17
|
+
loop do
|
19
18
|
calls.each do |call|
|
20
19
|
price = call.price || '0.00' # since apparently prices can be nil...
|
21
|
-
puts call.sid + "\t" + call.from + "\t" + call.to + "\t" + price
|
20
|
+
puts call.sid + "\t" + call.from + "\t" + call.to + "\t" + price.to_s
|
22
21
|
end
|
23
22
|
calls = calls.next_page
|
24
|
-
|
23
|
+
break if calls.nil?
|
24
|
+
end
|
data/githooks/pre-commit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
make test
|