twilio-ruby 5.47.0 → 5.74.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/pr-lint.yml +21 -0
- data/.github/workflows/test-and-deploy.yml +129 -0
- data/.gitignore +5 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +91 -28
- data/CHANGES.md +920 -0
- data/Gemfile +1 -0
- data/LICENSE +1 -1
- data/Makefile +12 -11
- data/PULL_REQUEST_TEMPLATE.md +1 -1
- data/README.md +16 -8
- data/examples/examples.rb +1 -1
- data/lib/rack/twilio_webhook_authentication.rb +25 -1
- data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
- data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
- data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
- data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
- data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
- data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
- data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
- data/lib/twilio-ruby/http/http_client.rb +20 -4
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/jwt/access_token.rb +13 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +28 -28
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +10 -10
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +130 -11
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +67 -24
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +34 -5
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +35 -8
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +5 -5
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
- data/lib/twilio-ruby/rest/api.rb +1 -1
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
- data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -9
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +15 -7
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -9
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
- data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
- data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
- data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
- data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
- 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 +16 -0
- data/lib/twilio-ruby/rest/client.rb +57 -13
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
- data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
- data/lib/twilio-ruby/rest/content/v1.rb +45 -0
- data/lib/twilio-ruby/rest/content.rb +47 -0
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -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 +44 -0
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
- data/lib/twilio-ruby/rest/conversations.rb +15 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
- data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
- data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
- data/lib/twilio-ruby/rest/events/v1/sink.rb +45 -9
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +14 -8
- data/lib/twilio-ruby/rest/events/v1.rb +20 -16
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +42 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
- data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -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/{preview/trusted_comms/branded_channel.rb → flex_api/v1/interaction.rb} +76 -68
- data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +52 -12
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
- data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
- data/lib/twilio-ruby/rest/flex_api.rb +40 -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/{fax.rb → frontline_api.rb} +11 -11
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +14 -0
- data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +23 -23
- data/lib/twilio-ruby/rest/insights/v1/room.rb +58 -46
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +41 -9
- data/lib/twilio-ruby/rest/insights.rb +21 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
- data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
- data/lib/twilio-ruby/rest/lookups.rb +7 -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 +65 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +127 -2
- data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +145 -27
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +559 -0
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +69 -25
- data/lib/twilio-ruby/rest/messaging.rb +35 -11
- data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
- data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
- data/lib/twilio-ruby/rest/microvisor.rb +54 -0
- data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
- data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
- 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/replace_items.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
- data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
- data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
- data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
- data/lib/twilio-ruby/rest/oauth.rb +68 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
- data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
- data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
- data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
- data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
- data/lib/twilio-ruby/rest/preview.rb +0 -58
- 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.rb +37 -0
- data/lib/twilio-ruby/rest/pricing.rb +19 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +2 -15
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
- data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
- 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/environment.rb +1 -1
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
- data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +101 -50
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +65 -0
- data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +81 -78
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +26 -12
- data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
- data/lib/twilio-ruby/rest/supersim.rb +30 -6
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +9 -16
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +23 -34
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -15
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +22 -35
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -15
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -15
- data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
- data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +25 -8
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +34 -10
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +18 -14
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +32 -14
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +17 -15
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +17 -15
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +45 -30
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
- data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
- 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/{messaging/v1/campaign.rb → trusthub/v1/supporting_document.rb} +125 -143
- 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/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
- 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/safelist.rb +215 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +111 -28
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +68 -68
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -11
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +25 -8
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -1
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -13
- data/lib/twilio-ruby/rest/verify/v2/service.rb +99 -12
- data/lib/twilio-ruby/rest/{messaging/v1/use_case.rb → verify/v2/template.rb} +66 -51
- 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 +58 -8
- data/lib/twilio-ruby/rest/verify.rb +29 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +24 -11
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
- data/lib/twilio-ruby/rest/video/v1/recording.rb +23 -2
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -2
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
- data/lib/twilio-ruby/rest/video/v1/room.rb +66 -6
- data/lib/twilio-ruby/rest/video/v1.rb +20 -16
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
- data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
- data/lib/twilio-ruby/rest/voice.rb +8 -0
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +6 -6
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
- data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/security/request_validator.rb +1 -1
- data/lib/twilio-ruby/twiml/voice_response.rb +789 -108
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +6 -16
- data/sonar-project.properties +13 -0
- data/twilio-ruby.gemspec +2 -3
- metadata +118 -868
- data/.travis.yml +0 -45
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
- data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
- data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
- data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
- data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
- data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
- data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
- data/spec/framework/request_spec.rb +0 -36
- data/spec/framework/serialize_spec.rb +0 -80
- data/spec/framework/version_spec.rb +0 -219
- data/spec/holodeck/holodeck.rb +0 -66
- data/spec/holodeck/hologram.rb +0 -4
- data/spec/http/http_client_spec.rb +0 -122
- data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
- data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
- data/spec/integration/accounts/v1/credential_spec.rb +0 -12
- data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
- data/spec/integration/api/v2010/account/address_spec.rb +0 -269
- data/spec/integration/api/v2010/account/application_spec.rb +0 -274
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
- data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
- data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
- data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
- data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
- data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
- data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
- data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
- data/spec/integration/api/v2010/account/call_spec.rb +0 -660
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
- data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
- data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
- data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
- data/spec/integration/api/v2010/account/key_spec.rb +0 -176
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
- data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
- data/spec/integration/api/v2010/account/message_spec.rb +0 -507
- data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
- data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
- data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
- data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
- data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
- data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
- data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
- data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
- data/spec/integration/api/v2010/account/token_spec.rb +0 -71
- data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
- data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
- data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
- data/spec/integration/api/v2010/account_spec.rb +0 -327
- data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
- data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
- data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
- data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
- data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
- data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
- data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
- data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
- data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
- data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
- data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
- data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
- data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
- data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
- data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
- data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
- data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
- data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
- data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
- data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
- data/spec/integration/chat/v1/credential_spec.rb +0 -219
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
- data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
- data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
- data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
- data/spec/integration/chat/v1/service/role_spec.rb +0 -260
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
- data/spec/integration/chat/v1/service/user_spec.rb +0 -262
- data/spec/integration/chat/v1/service_spec.rb +0 -295
- data/spec/integration/chat/v2/credential_spec.rb +0 -219
- data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
- data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
- data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
- data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
- data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
- data/spec/integration/chat/v2/service/role_spec.rb +0 -260
- data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
- data/spec/integration/chat/v2/service/user_spec.rb +0 -270
- data/spec/integration/chat/v2/service_spec.rb +0 -350
- data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
- data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
- data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
- data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
- data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
- data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
- data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
- data/spec/integration/conversations/v1/credential_spec.rb +0 -219
- data/spec/integration/conversations/v1/role_spec.rb +0 -249
- data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
- data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
- data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
- data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
- data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
- data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
- data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
- data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
- data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
- data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
- data/spec/integration/conversations/v1/service_spec.rb +0 -174
- data/spec/integration/conversations/v1/user_spec.rb +0 -231
- data/spec/integration/events/v1/event_type_spec.rb +0 -133
- data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
- data/spec/integration/events/v1/schema_spec.rb +0 -46
- data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
- data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
- data/spec/integration/events/v1/sink_spec.rb +0 -231
- data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
- data/spec/integration/events/v1/subscription_spec.rb +0 -292
- data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
- data/spec/integration/fax/v1/fax_spec.rb +0 -267
- data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
- data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
- data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
- data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
- data/spec/integration/insights/v1/call/event_spec.rb +0 -166
- data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
- data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
- data/spec/integration/insights/v1/call_spec.rb +0 -46
- data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
- data/spec/integration/insights/v1/room_spec.rb +0 -164
- data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
- data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
- data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
- data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
- data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
- data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
- data/spec/integration/messaging/v1/campaign_spec.rb +0 -194
- data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
- data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
- data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
- data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
- data/spec/integration/messaging/v1/service_spec.rb +0 -267
- data/spec/integration/messaging/v1/use_case_spec.rb +0 -55
- data/spec/integration/monitor/v1/alert_spec.rb +0 -138
- data/spec/integration/monitor/v1/event_spec.rb +0 -148
- data/spec/integration/notify/v1/credential_spec.rb +0 -219
- data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
- data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
- data/spec/integration/notify/v1/service_spec.rb +0 -289
- data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
- data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
- data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
- data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
- data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
- data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
- data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
- data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
- data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
- data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
- data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
- data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
- data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
- data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
- data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
- data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
- data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
- data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
- data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
- data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
- data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
- data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
- data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
- data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
- data/spec/integration/preview/sync/service/document_spec.rb +0 -252
- data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
- data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
- data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
- data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
- data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
- data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
- data/spec/integration/preview/sync/service_spec.rb +0 -241
- data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
- data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
- data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
- data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
- data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
- data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
- data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
- data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
- data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
- data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
- data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
- data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
- data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
- data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
- data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
- data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
- data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
- data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
- data/spec/integration/preview/understand/assistant_spec.rb +0 -269
- data/spec/integration/preview/wireless/command_spec.rb +0 -167
- data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
- data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
- data/spec/integration/preview/wireless/sim_spec.rb +0 -207
- data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
- data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
- data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
- data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
- data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
- data/spec/integration/pricing/v1/voice_spec.rb +0 -12
- data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
- data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
- data/spec/integration/pricing/v2/voice_spec.rb +0 -12
- data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
- data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
- data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
- data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
- data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
- data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
- data/spec/integration/proxy/v1/service_spec.rb +0 -214
- data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
- data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
- data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
- data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
- data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
- data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
- data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
- data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
- data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
- data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
- data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
- data/spec/integration/serverless/v1/service_spec.rb +0 -205
- data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
- data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
- data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
- data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
- data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
- data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
- data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
- data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
- data/spec/integration/studio/v1/flow_spec.rb +0 -114
- data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
- data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
- data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
- data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
- data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
- data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
- data/spec/integration/studio/v2/flow_spec.rb +0 -251
- data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
- data/spec/integration/supersim/v1/command_spec.rb +0 -184
- data/spec/integration/supersim/v1/fleet_spec.rb +0 -222
- data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
- data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
- data/spec/integration/supersim/v1/network_spec.rb +0 -137
- data/spec/integration/supersim/v1/sim_spec.rb +0 -323
- data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
- data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
- data/spec/integration/sync/v1/service/document_spec.rb +0 -254
- data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
- data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
- data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
- data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
- data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
- data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
- data/spec/integration/sync/v1/service_spec.rb +0 -261
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
- data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
- data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
- data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
- data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
- data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
- data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
- data/spec/integration/verify/v2/form_spec.rb +0 -47
- data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
- data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
- data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
- data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
- data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
- data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
- data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
- data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
- data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
- data/spec/integration/verify/v2/service_spec.rb +0 -279
- data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
- data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
- data/spec/integration/video/v1/composition_spec.rb +0 -347
- data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
- data/spec/integration/video/v1/recording_spec.rb +0 -176
- data/spec/integration/video/v1/room/recording_spec.rb +0 -185
- data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
- data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
- data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
- data/spec/integration/video/v1/room_spec.rb +0 -301
- data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
- data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
- data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
- data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
- data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
- data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
- data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
- data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
- data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
- data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
- data/spec/integration/wireless/v1/command_spec.rb +0 -286
- data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
- data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
- data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
- data/spec/integration/wireless/v1/sim_spec.rb +0 -325
- data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
- data/spec/jwt/access_token_spec.rb +0 -159
- data/spec/jwt/client_capability_spec.rb +0 -104
- data/spec/jwt/task_router_spec.rb +0 -172
- data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
- data/spec/rest/client_spec.rb +0 -255
- data/spec/security/request_validator_spec.rb +0 -125
- data/spec/spec_helper.rb +0 -38
- data/spec/support/fakeweb.rb +0 -2
- data/spec/twilio_spec.rb +0 -17
- data/spec/twiml/messaging_response_spec.rb +0 -235
- data/spec/twiml/voice_response_spec.rb +0 -847
- data/spec/util/configuration_spec.rb +0 -33
- data/spec/util/url_encode_spec.rb +0 -12
data/Gemfile
CHANGED
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
MIT License
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2022, Twilio, Inc. <help@twilio.com>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
data/Makefile
CHANGED
@@ -1,33 +1,34 @@
|
|
1
|
-
.PHONY: githooks install test lint docs docker-build docker-push
|
1
|
+
.PHONY: githooks install test test-docker lint docs docker-build docker-push
|
2
2
|
|
3
3
|
githooks:
|
4
4
|
ln -sf ../../githooks/pre-commit .git/hooks/pre-commit
|
5
5
|
|
6
|
-
install:
|
6
|
+
install:
|
7
7
|
bundle install --with development; bundle exec rake install
|
8
8
|
|
9
|
-
test:
|
9
|
+
test:
|
10
10
|
bundle exec rake spec
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
test-docker:
|
13
|
+
docker build -t twilio/twilio-ruby .
|
14
|
+
docker run twilio/twilio-ruby bundle exec rake spec
|
14
15
|
|
15
16
|
docs:
|
16
|
-
yard doc --output-dir ./doc
|
17
|
+
bundle exec yard doc --output-dir ./doc
|
17
18
|
|
18
19
|
authors:
|
19
20
|
echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
|
20
21
|
git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
|
21
22
|
|
22
23
|
API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cut -d ' ' -f 5)
|
24
|
+
CURRENT_TAG=$(shell expr "${GITHUB_TAG}" : ".*-rc.*" >/dev/null && echo "rc" || echo "latest")
|
23
25
|
docker-build:
|
24
26
|
docker build -t twilio/twilio-ruby .
|
25
|
-
docker tag twilio/twilio-ruby twilio/twilio-ruby:${
|
27
|
+
docker tag twilio/twilio-ruby twilio/twilio-ruby:${GITHUB_TAG}
|
26
28
|
docker tag twilio/twilio-ruby twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
|
27
|
-
docker tag twilio/twilio-ruby twilio/twilio-ruby
|
29
|
+
docker tag twilio/twilio-ruby twilio/twilio-ruby:${CURRENT_TAG}
|
28
30
|
|
29
31
|
docker-push:
|
30
|
-
|
31
|
-
docker push twilio/twilio-ruby:${TRAVIS_TAG}
|
32
|
+
docker push twilio/twilio-ruby:${GITHUB_TAG}
|
32
33
|
docker push twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
|
33
|
-
docker push twilio/twilio-ruby
|
34
|
+
docker push twilio/twilio-ruby:${CURRENT_TAG}
|
data/PULL_REQUEST_TEMPLATE.md
CHANGED
@@ -3,7 +3,7 @@ We appreciate the effort for this pull request but before that please make sure
|
|
3
3
|
|
4
4
|
Please format the PR title appropriately based on the type of change:
|
5
5
|
<type>[!]: <description>
|
6
|
-
Where <type> is one of: docs, chore, feat, fix, test.
|
6
|
+
Where <type> is one of: docs, chore, feat, fix, test, misc.
|
7
7
|
Add a '!' after the type for breaking changes (e.g. feat!: new breaking feature).
|
8
8
|
|
9
9
|
**All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.**
|
data/README.md
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
# twilio-ruby
|
2
2
|
|
3
|
-
[![
|
3
|
+
[![Tests](https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml/badge.svg)][github-actions]
|
4
4
|
[![Gem Version](https://img.shields.io/gem/v/twilio-ruby.svg)](https://rubygems.org/gems/twilio-ruby)
|
5
5
|
[![Learn with TwilioQuest](https://img.shields.io/static/v1?label=TwilioQuest&message=Learn%20to%20contribute%21&color=F22F46&labelColor=1f243c&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAASFBMVEUAAAAZGRkcHBwjIyMoKCgAAABgYGBoaGiAgICMjIyzs7PJycnMzMzNzc3UoBfd3d3m5ubqrhfrMEDu7u739/f4vSb/3AD///9tbdyEAAAABXRSTlMAAAAAAMJrBrEAAAKoSURBVHgB7ZrRcuI6EESdyxXGYoNFvMD//+l2bSszRgyUYpFAsXOeiJGmj4NkuWx1Qeh+Ekl9DgEXOBwOx+Px5xyQhDykfgq4wG63MxxaR4ddIkg6Ul3g84vCIcjPBA5gmUMeXESrlukuoK33+33uID8TWeLAdOWsKpJYzwVMB7bOzYSGOciyUlXSn0/ABXTosJ1M1SbypZ4O4MbZuIDMU02PMbauhhHMHXbmebmALIiEbbbbbUrpF1gwE9kFfRNAJaP+FQEXCCTGyJ4ngDrjOFo3jEL5JdqjF/pueR4cCeCGgAtwmuRS6gDwaRiGvu+DMFwSBLTE3+jF8JyuV1okPZ+AC4hDFhCHyHQjdjPHUKFDlHSJkHQXMB3KpSwXNGJPcwwTdZiXlRN0gSp0zpWxNtM0beYE0nRH6QIbO7rawwXaBYz0j78gxjokDuv12gVeUuBD0MDi0OQCLvDaAho4juP1Q/jkAncXqIcCfd+7gAu4QLMACCLxpRsSuQh0igu0C9Svhi7weAGZg50L3IE3cai4IfkNZAC8dfdhsUD3CgKBVC9JE5ABAFzg4QL/taYPAAWrHdYcgfLaIgAXWJ7OV38n1LEF8tt2TH29E+QAoDoO5Ve/LtCQDmKM9kPbvCEBApK+IXzbcSJ0cIGF6e8gpcRhUDogWZ8JnaWjPXc/fNnBBUKRngiHgTUSivSzDRDgHZQOLvBQgf8rRt+VdBUUhwkU6VpJ+xcOwQUqZr+mR0kvBUgv6cB4+37hQAkXqE8PwGisGhJtN4xAHMzrsgvI7rccXqSvKh6jltGlrOHA3Xk1At3LC4QiPdX9/0ndHpGVvTjR4bZA1ypAKgVcwE5vx74ulwIugDt8e/X7JgfkucBMIAr26ndnB4UCLnDOqvteQsHlgX9N4A+c4cW3DXSPbwAAAABJRU5ErkJggg==)](https://twil.io/learn-open-source)
|
6
6
|
|
7
|
-
**The default branch name for this repository has been changed to `main` as of 07/27/2020.**
|
8
|
-
|
9
7
|
## Documentation
|
10
8
|
|
11
9
|
The documentation for the Twilio API can be found [here][apidocs].
|
@@ -24,6 +22,8 @@ This library supports the following Ruby implementations:
|
|
24
22
|
* Ruby 2.5
|
25
23
|
* Ruby 2.6
|
26
24
|
* Ruby 2.7
|
25
|
+
* Ruby 3.0
|
26
|
+
* Ruby 3.1
|
27
27
|
|
28
28
|
### Migrating from 4.x
|
29
29
|
|
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
|
|
34
34
|
To install using [Bundler][bundler] grab the latest stable version:
|
35
35
|
|
36
36
|
```ruby
|
37
|
-
gem 'twilio-ruby', '~> 5.
|
37
|
+
gem 'twilio-ruby', '~> 5.74.0'
|
38
38
|
```
|
39
39
|
|
40
40
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
41
41
|
|
42
42
|
```bash
|
43
|
-
gem install twilio-ruby -v 5.
|
43
|
+
gem install twilio-ruby -v 5.74.0
|
44
44
|
```
|
45
45
|
|
46
46
|
To build and install the development branch yourself from the latest source:
|
@@ -95,6 +95,8 @@ To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/doc
|
|
95
95
|
@client.edge = 'sydney'
|
96
96
|
```
|
97
97
|
|
98
|
+
This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
|
99
|
+
|
98
100
|
### Enable Debug logging
|
99
101
|
|
100
102
|
In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
|
@@ -111,8 +113,6 @@ myLogger.level = Logger::DEBUG
|
|
111
113
|
@client.logger = myLogger
|
112
114
|
```
|
113
115
|
|
114
|
-
This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
|
115
|
-
|
116
116
|
### Make a Call
|
117
117
|
|
118
118
|
```ruby
|
@@ -157,6 +157,14 @@ message_sid = 'SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
|
157
157
|
|
158
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).
|
159
159
|
|
160
|
+
To apply customizations such as middleware, you can use the `configure_connection` method like so:
|
161
|
+
|
162
|
+
```ruby
|
163
|
+
@client.http_client.configure_connection do |faraday|
|
164
|
+
faraday.use SomeMiddleware
|
165
|
+
end
|
166
|
+
```
|
167
|
+
|
160
168
|
### Handling Errors
|
161
169
|
|
162
170
|
```ruby
|
@@ -248,7 +256,7 @@ If you've instead found a bug in the library or would like new features added, g
|
|
248
256
|
[bundler]: https://bundler.io
|
249
257
|
[rubygems]: https://rubygems.org
|
250
258
|
[gem]: https://rubygems.org/gems/twilio
|
251
|
-
[
|
259
|
+
[github-actions]: https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml
|
252
260
|
[upgrade]: https://github.com/twilio/twilio-ruby/wiki/Ruby-Version-5.x-Upgrade-Guide
|
253
261
|
[issues]: https://github.com/twilio/twilio-ruby/issues
|
254
262
|
[faraday]: https://github.com/lostisland/faraday
|
data/examples/examples.rb
CHANGED
@@ -69,7 +69,7 @@ puts @client.messages('SMXXXXXXXX').fetch.body
|
|
69
69
|
@client.messages.create(
|
70
70
|
from: '+14159341234',
|
71
71
|
to: '+16105557069',
|
72
|
-
|
72
|
+
media_url: 'http://example.com/media.png'
|
73
73
|
)
|
74
74
|
|
75
75
|
################ PHONE NUMBERS ################
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rack/media_type'
|
4
|
+
|
3
5
|
module Rack
|
4
6
|
# Middleware that authenticates webhooks from Twilio using the request
|
5
7
|
# validator.
|
@@ -19,6 +21,10 @@ module Rack
|
|
19
21
|
# doesn't validate then the middleware responds immediately with a 403 status.
|
20
22
|
|
21
23
|
class TwilioWebhookAuthentication
|
24
|
+
# Rack's FORM_DATA_MEDIA_TYPES can be modified to taste, so we're slightly
|
25
|
+
# more conservative in what we consider form data.
|
26
|
+
FORM_URLENCODED_MEDIA_TYPE = Rack::MediaType.type('application/x-www-form-urlencoded')
|
27
|
+
|
22
28
|
def initialize(app, auth_token, *paths, &auth_token_lookup)
|
23
29
|
@app = app
|
24
30
|
@auth_token = auth_token
|
@@ -30,7 +36,7 @@ module Rack
|
|
30
36
|
return @app.call(env) unless env['PATH_INFO'].match(@path_regex)
|
31
37
|
request = Rack::Request.new(env)
|
32
38
|
original_url = request.url
|
33
|
-
params = request
|
39
|
+
params = extract_params!(request)
|
34
40
|
auth_token = @auth_token || get_auth_token(params['AccountSid'])
|
35
41
|
validator = Twilio::Security::RequestValidator.new(auth_token)
|
36
42
|
signature = env['HTTP_X_TWILIO_SIGNATURE'] || ''
|
@@ -44,5 +50,23 @@ module Rack
|
|
44
50
|
]
|
45
51
|
end
|
46
52
|
end
|
53
|
+
|
54
|
+
# Extract the params from the the request that we can use to determine the
|
55
|
+
# signature. This _may_ modify the passed in request since it may read/rewind
|
56
|
+
# the body.
|
57
|
+
def extract_params!(request)
|
58
|
+
return {} unless request.post?
|
59
|
+
|
60
|
+
if request.media_type == FORM_URLENCODED_MEDIA_TYPE
|
61
|
+
request.POST
|
62
|
+
else
|
63
|
+
request.body.rewind
|
64
|
+
body = request.body.read
|
65
|
+
request.body.rewind
|
66
|
+
body
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
private :extract_params!
|
47
71
|
end
|
48
72
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,25 +16,41 @@ module Twilio
|
|
16
16
|
@ssl_ca_file = ssl_ca_file
|
17
17
|
@timeout = timeout
|
18
18
|
@adapter = Faraday.default_adapter
|
19
|
+
@configure_connection_blocks = []
|
19
20
|
end
|
20
21
|
|
21
|
-
def
|
22
|
+
def configure_connection(&block)
|
23
|
+
raise ArgumentError, "#{__method__} must be given a block!" unless block_given?
|
24
|
+
|
25
|
+
@configure_connection_blocks << block
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def _request(request) # rubocop:disable Metrics/MethodLength
|
22
30
|
@connection = Faraday.new(url: request.host + ':' + request.port.to_s, ssl: { verify: true }) do |f|
|
23
31
|
f.options.params_encoder = Faraday::FlatParamsEncoder
|
24
32
|
f.request :url_encoded
|
25
|
-
f.adapter @adapter
|
26
33
|
f.headers = request.headers
|
27
|
-
|
34
|
+
if Faraday::VERSION.start_with?('2.')
|
35
|
+
f.request(:authorization, :basic, request.auth[0], request.auth[1])
|
36
|
+
else
|
37
|
+
f.request(:basic_auth, request.auth[0], request.auth[1])
|
38
|
+
end
|
28
39
|
f.proxy = "#{@proxy_prot}://#{@proxy_auth}#{@proxy_path}" if @proxy_prot && @proxy_path
|
29
40
|
f.options.open_timeout = request.timeout || @timeout
|
30
41
|
f.options.timeout = request.timeout || @timeout
|
42
|
+
|
43
|
+
@configure_connection_blocks.each { |block| block.call(f) }
|
44
|
+
f.adapter @adapter
|
31
45
|
end
|
32
46
|
|
33
47
|
@last_request = request
|
34
48
|
@last_response = nil
|
35
49
|
|
36
50
|
response = send(request)
|
37
|
-
if
|
51
|
+
if (500..599).include?(response.status)
|
52
|
+
object = { message: "Server error (#{response.status})", code: response.status }.to_json
|
53
|
+
elsif response.body && !response.body.empty?
|
38
54
|
object = response.body
|
39
55
|
elsif response.status == 400
|
40
56
|
object = { message: 'Bad request', code: 400 }.to_json
|
@@ -267,6 +267,19 @@ module Twilio
|
|
267
267
|
payload
|
268
268
|
end
|
269
269
|
end
|
270
|
+
|
271
|
+
class PlaybackGrant
|
272
|
+
include AccessTokenGrant
|
273
|
+
attr_accessor :grant
|
274
|
+
|
275
|
+
def _key
|
276
|
+
'player'
|
277
|
+
end
|
278
|
+
|
279
|
+
def _generate_payload
|
280
|
+
grant
|
281
|
+
end
|
282
|
+
end
|
270
283
|
end
|
271
284
|
end
|
272
285
|
end
|
@@ -43,8 +43,10 @@ module Twilio
|
|
43
43
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
44
44
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
45
45
|
# won't alter the address you provide.
|
46
|
+
# @param [String] street_secondary The additional number and street address of the
|
47
|
+
# address.
|
46
48
|
# @return [AddressInstance] Created AddressInstance
|
47
|
-
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
49
|
+
def create(customer_name: nil, street: nil, city: nil, region: nil, postal_code: nil, iso_country: nil, friendly_name: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
48
50
|
data = Twilio::Values.of({
|
49
51
|
'CustomerName' => customer_name,
|
50
52
|
'Street' => street,
|
@@ -55,6 +57,7 @@ module Twilio
|
|
55
57
|
'FriendlyName' => friendly_name,
|
56
58
|
'EmergencyEnabled' => emergency_enabled,
|
57
59
|
'AutoCorrectAddress' => auto_correct_address,
|
60
|
+
'StreetSecondary' => street_secondary,
|
58
61
|
})
|
59
62
|
|
60
63
|
payload = @version.create('POST', @uri, data: data)
|
@@ -262,8 +265,10 @@ module Twilio
|
|
262
265
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
263
266
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
264
267
|
# won't alter the address you provide.
|
268
|
+
# @param [String] street_secondary The additional number and street address of the
|
269
|
+
# address.
|
265
270
|
# @return [AddressInstance] Updated AddressInstance
|
266
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
271
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
267
272
|
data = Twilio::Values.of({
|
268
273
|
'FriendlyName' => friendly_name,
|
269
274
|
'CustomerName' => customer_name,
|
@@ -273,6 +278,7 @@ module Twilio
|
|
273
278
|
'PostalCode' => postal_code,
|
274
279
|
'EmergencyEnabled' => emergency_enabled,
|
275
280
|
'AutoCorrectAddress' => auto_correct_address,
|
281
|
+
'StreetSecondary' => street_secondary,
|
276
282
|
})
|
277
283
|
|
278
284
|
payload = @version.update('POST', @uri, data: data)
|
@@ -342,6 +348,7 @@ module Twilio
|
|
342
348
|
'emergency_enabled' => payload['emergency_enabled'],
|
343
349
|
'validated' => payload['validated'],
|
344
350
|
'verified' => payload['verified'],
|
351
|
+
'street_secondary' => payload['street_secondary'],
|
345
352
|
}
|
346
353
|
|
347
354
|
# Context
|
@@ -450,6 +457,12 @@ module Twilio
|
|
450
457
|
@properties['verified']
|
451
458
|
end
|
452
459
|
|
460
|
+
##
|
461
|
+
# @return [String] The additional number and street address of the address
|
462
|
+
def street_secondary
|
463
|
+
@properties['street_secondary']
|
464
|
+
end
|
465
|
+
|
453
466
|
##
|
454
467
|
# Delete the AddressInstance
|
455
468
|
# @return [Boolean] true if delete succeeds, false otherwise
|
@@ -479,8 +492,10 @@ module Twilio
|
|
479
492
|
# the address. Can be: `true` or `false` and the default is `true`. If empty or
|
480
493
|
# `true`, we will correct the address you provide if necessary. If `false`, we
|
481
494
|
# won't alter the address you provide.
|
495
|
+
# @param [String] street_secondary The additional number and street address of the
|
496
|
+
# address.
|
482
497
|
# @return [AddressInstance] Updated AddressInstance
|
483
|
-
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset)
|
498
|
+
def update(friendly_name: :unset, customer_name: :unset, street: :unset, city: :unset, region: :unset, postal_code: :unset, emergency_enabled: :unset, auto_correct_address: :unset, street_secondary: :unset)
|
484
499
|
context.update(
|
485
500
|
friendly_name: friendly_name,
|
486
501
|
customer_name: customer_name,
|
@@ -490,6 +505,7 @@ module Twilio
|
|
490
505
|
postal_code: postal_code,
|
491
506
|
emergency_enabled: emergency_enabled,
|
492
507
|
auto_correct_address: auto_correct_address,
|
508
|
+
street_secondary: street_secondary,
|
493
509
|
)
|
494
510
|
end
|
495
511
|
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -391,8 +391,8 @@ module Twilio
|
|
391
391
|
'lata' => payload['lata'],
|
392
392
|
'locality' => payload['locality'],
|
393
393
|
'rate_center' => payload['rate_center'],
|
394
|
-
'latitude' => payload['latitude'].to_f,
|
395
|
-
'longitude' => payload['longitude'].to_f,
|
394
|
+
'latitude' => payload['latitude'] == nil ? payload['latitude'] : payload['latitude'].to_f,
|
395
|
+
'longitude' => payload['longitude'] == nil ? payload['longitude'] : payload['longitude'].to_f,
|
396
396
|
'region' => payload['region'],
|
397
397
|
'postal_code' => payload['postal_code'],
|
398
398
|
'iso_country' => payload['iso_country'],
|
@@ -19,8 +19,8 @@ module Twilio
|
|
19
19
|
# @param [String] account_sid The SID of the
|
20
20
|
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
|
21
21
|
# resource.
|
22
|
-
# @param [String] call_sid The unique string that
|
23
|
-
#
|
22
|
+
# @param [String] call_sid The unique string that we created to identify this Call
|
23
|
+
# resource.
|
24
24
|
# @return [EventList] EventList
|
25
25
|
def initialize(version, account_sid: nil, call_sid: nil)
|
26
26
|
super(version)
|
@@ -159,8 +159,8 @@ module Twilio
|
|
159
159
|
# @param [String] account_sid The SID of the
|
160
160
|
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
|
161
161
|
# resource.
|
162
|
-
# @param [String] call_sid The unique string that
|
163
|
-
#
|
162
|
+
# @param [String] call_sid The unique string that we created to identify this Call
|
163
|
+
# resource.
|
164
164
|
# @return [EventInstance] EventInstance
|
165
165
|
def initialize(version, payload, account_sid: nil, call_sid: nil)
|
166
166
|
super(version)
|
@@ -19,8 +19,8 @@ module Twilio
|
|
19
19
|
# @param [String] account_sid The unique id of the
|
20
20
|
# {Account}[https://www.twilio.com/docs/iam/api/account] responsible for this
|
21
21
|
# resource.
|
22
|
-
# @param [String] call_sid The unique string that
|
23
|
-
#
|
22
|
+
# @param [String] call_sid The unique string that we created to identify this Call
|
23
|
+
# resource.
|
24
24
|
# @return [FeedbackList] FeedbackList
|
25
25
|
def initialize(version, account_sid: nil, call_sid: nil)
|
26
26
|
super(version)
|
@@ -87,6 +87,20 @@ module Twilio
|
|
87
87
|
@uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:call_sid]}/Feedback.json"
|
88
88
|
end
|
89
89
|
|
90
|
+
##
|
91
|
+
# Fetch the FeedbackInstance
|
92
|
+
# @return [FeedbackInstance] Fetched FeedbackInstance
|
93
|
+
def fetch
|
94
|
+
payload = @version.fetch('GET', @uri)
|
95
|
+
|
96
|
+
FeedbackInstance.new(
|
97
|
+
@version,
|
98
|
+
payload,
|
99
|
+
account_sid: @solution[:account_sid],
|
100
|
+
call_sid: @solution[:call_sid],
|
101
|
+
)
|
102
|
+
end
|
103
|
+
|
90
104
|
##
|
91
105
|
# Create the FeedbackInstance
|
92
106
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -113,20 +127,6 @@ module Twilio
|
|
113
127
|
)
|
114
128
|
end
|
115
129
|
|
116
|
-
##
|
117
|
-
# Fetch the FeedbackInstance
|
118
|
-
# @return [FeedbackInstance] Fetched FeedbackInstance
|
119
|
-
def fetch
|
120
|
-
payload = @version.fetch('GET', @uri)
|
121
|
-
|
122
|
-
FeedbackInstance.new(
|
123
|
-
@version,
|
124
|
-
payload,
|
125
|
-
account_sid: @solution[:account_sid],
|
126
|
-
call_sid: @solution[:call_sid],
|
127
|
-
)
|
128
|
-
end
|
129
|
-
|
130
130
|
##
|
131
131
|
# Update the FeedbackInstance
|
132
132
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -137,7 +137,7 @@ module Twilio
|
|
137
137
|
# `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
|
138
138
|
# `audio-latency`, `unsolicited-call`, or `one-way-audio`.
|
139
139
|
# @return [FeedbackInstance] Updated FeedbackInstance
|
140
|
-
def update(quality_score:
|
140
|
+
def update(quality_score: :unset, issue: :unset)
|
141
141
|
data = Twilio::Values.of({
|
142
142
|
'QualityScore' => quality_score,
|
143
143
|
'Issue' => Twilio.serialize_list(issue) { |e| e },
|
@@ -176,8 +176,8 @@ module Twilio
|
|
176
176
|
# @param [String] account_sid The unique id of the
|
177
177
|
# {Account}[https://www.twilio.com/docs/iam/api/account] responsible for this
|
178
178
|
# resource.
|
179
|
-
# @param [String] call_sid The unique string that
|
180
|
-
#
|
179
|
+
# @param [String] call_sid The unique string that we created to identify this Call
|
180
|
+
# resource.
|
181
181
|
# @return [FeedbackInstance] FeedbackInstance
|
182
182
|
def initialize(version, payload, account_sid: nil, call_sid: nil)
|
183
183
|
super(version)
|
@@ -188,7 +188,7 @@ module Twilio
|
|
188
188
|
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
189
189
|
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
190
190
|
'issues' => payload['issues'],
|
191
|
-
'quality_score' => payload['quality_score'].to_i,
|
191
|
+
'quality_score' => payload['quality_score'] == nil ? payload['quality_score'] : payload['quality_score'].to_i,
|
192
192
|
'sid' => payload['sid'],
|
193
193
|
}
|
194
194
|
|
@@ -244,6 +244,13 @@ module Twilio
|
|
244
244
|
@properties['sid']
|
245
245
|
end
|
246
246
|
|
247
|
+
##
|
248
|
+
# Fetch the FeedbackInstance
|
249
|
+
# @return [FeedbackInstance] Fetched FeedbackInstance
|
250
|
+
def fetch
|
251
|
+
context.fetch
|
252
|
+
end
|
253
|
+
|
247
254
|
##
|
248
255
|
# Create the FeedbackInstance
|
249
256
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -258,13 +265,6 @@ module Twilio
|
|
258
265
|
context.create(quality_score: quality_score, issue: issue, )
|
259
266
|
end
|
260
267
|
|
261
|
-
##
|
262
|
-
# Fetch the FeedbackInstance
|
263
|
-
# @return [FeedbackInstance] Fetched FeedbackInstance
|
264
|
-
def fetch
|
265
|
-
context.fetch
|
266
|
-
end
|
267
|
-
|
268
268
|
##
|
269
269
|
# Update the FeedbackInstance
|
270
270
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -275,7 +275,7 @@ module Twilio
|
|
275
275
|
# `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
|
276
276
|
# `audio-latency`, `unsolicited-call`, or `one-way-audio`.
|
277
277
|
# @return [FeedbackInstance] Updated FeedbackInstance
|
278
|
-
def update(quality_score:
|
278
|
+
def update(quality_score: :unset, issue: :unset)
|
279
279
|
context.update(quality_score: quality_score, issue: issue, )
|
280
280
|
end
|
281
281
|
|