bandwidth-sdk 6.1.0 → 8.0.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/README.md +89 -12
- data/lib/bandwidth.rb +5 -2
- data/lib/bandwidth/api_helper.rb +5 -17
- data/lib/bandwidth/client.rb +23 -9
- data/lib/bandwidth/configuration.rb +54 -18
- data/lib/bandwidth/http/auth/{two_factor_auth_basic_auth.rb → multi_factor_auth_basic_auth.rb} +3 -3
- data/lib/bandwidth/http/auth/phone_number_lookup_basic_auth.rb +22 -0
- data/lib/bandwidth/http/faraday_client.rb +5 -2
- data/lib/bandwidth/messaging_lib/messaging/client.rb +14 -5
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +25 -29
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +47 -2
- data/lib/bandwidth/messaging_lib/messaging/models/media.rb +5 -75
- data/lib/bandwidth/models/base_model.rb +19 -8
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +23 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/client.rb +15 -6
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/base_controller.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/mfa_controller.rb +7 -7
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/error_with_request_exception.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/forbidden_request_exception.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/unauthorized_request_exception.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_code_request_schema.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_messaging_response.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_code_response.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_request_schema.rb +0 -0
- data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_voice_response.rb +0 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup.rb +20 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/client.rb +60 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +1551 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +49 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +29 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +35 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +45 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +74 -0
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +107 -0
- data/lib/bandwidth/utilities/date_time_helper.rb +156 -0
- data/lib/bandwidth/voice_lib/voice.rb +14 -18
- data/lib/bandwidth/voice_lib/voice/client.rb +14 -5
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +248 -230
- data/lib/bandwidth/voice_lib/voice/exceptions/{api_error_response_exception.rb → api_error_exception.rb} +2 -2
- data/lib/bandwidth/voice_lib/voice/models/{recording_metadata_response.rb → call_recording_metadata.rb} +47 -28
- data/lib/bandwidth/voice_lib/voice/models/call_state.rb +232 -0
- data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +2 -20
- data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +2 -20
- data/lib/bandwidth/voice_lib/voice/models/{conference_member_detail.rb → conference_member_state.rb} +8 -8
- data/lib/bandwidth/voice_lib/voice/models/{conference_recording_metadata_response.rb → conference_recording_metadata.rb} +34 -18
- data/lib/bandwidth/voice_lib/voice/models/{conference_detail.rb → conference_state.rb} +22 -14
- data/lib/bandwidth/voice_lib/voice/models/{api_create_call_request.rb → create_call_request.rb} +35 -59
- data/lib/bandwidth/voice_lib/voice/models/{api_call_response.rb → create_call_response.rb} +28 -23
- data/lib/bandwidth/voice_lib/voice/models/{modify_call_recording_state.rb → modify_call_recording_request.rb} +4 -4
- data/lib/bandwidth/voice_lib/voice/models/{api_modify_call_request.rb → modify_call_request.rb} +25 -25
- data/lib/bandwidth/voice_lib/voice/models/{api_modify_conference_request.rb → modify_conference_request.rb} +11 -11
- data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +7 -4
- data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +4 -7
- data/lib/bandwidth/voice_lib/voice/models/{api_transcribe_recording_request.rb → transcribe_recording_request.rb} +8 -8
- data/lib/bandwidth/voice_lib/voice/models/{transcription.rb → transcription_metadata.rb} +19 -10
- data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +7 -2
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +14 -5
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +14 -14
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/device_api_version_enum.rb +2 -2
- data/test/controllers/controller_test_base.rb +21 -0
- data/test/http_response_catcher.rb +19 -0
- data/test/integration/test_integration.rb +39 -13
- data/test/test_helper.rb +94 -0
- metadata +47 -37
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth.rb +0 -22
- data/lib/bandwidth/voice_lib/voice/models/api_call_state_response.rb +0 -164
- data/lib/bandwidth/voice_lib/voice/models/disconnect_cause_enum.rb +0 -47
- data/lib/bandwidth/voice_lib/voice/models/state2_enum.rb +0 -20
- data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +0 -29
- data/lib/bandwidth/voice_lib/voice/models/status3_enum.rb +0 -32
| @@ -7,39 +7,35 @@ | |
| 7 7 | 
             
            require_relative 'voice/client.rb'
         | 
| 8 8 |  | 
| 9 9 | 
             
            # Models
         | 
| 10 | 
            -
            require_relative 'voice/models/ | 
| 11 | 
            -
            require_relative 'voice/models/ | 
| 12 | 
            -
            require_relative 'voice/models/ | 
| 13 | 
            -
            require_relative 'voice/models/ | 
| 14 | 
            -
            require_relative 'voice/models/ | 
| 15 | 
            -
            require_relative 'voice/models/ | 
| 16 | 
            -
            require_relative 'voice/models/ | 
| 17 | 
            -
            require_relative 'voice/models/ | 
| 18 | 
            -
            require_relative 'voice/models/ | 
| 19 | 
            -
            require_relative 'voice/models/ | 
| 20 | 
            -
            require_relative 'voice/models/ | 
| 21 | 
            -
            require_relative 'voice/models/transcript.rb'
         | 
| 22 | 
            -
            require_relative 'voice/models/transcription.rb'
         | 
| 10 | 
            +
            require_relative 'voice/models/create_call_request.rb'
         | 
| 11 | 
            +
            require_relative 'voice/models/create_call_response.rb'
         | 
| 12 | 
            +
            require_relative 'voice/models/call_state.rb'
         | 
| 13 | 
            +
            require_relative 'voice/models/modify_call_request.rb'
         | 
| 14 | 
            +
            require_relative 'voice/models/modify_call_recording_request.rb'
         | 
| 15 | 
            +
            require_relative 'voice/models/call_recording_metadata.rb'
         | 
| 16 | 
            +
            require_relative 'voice/models/modify_conference_request.rb'
         | 
| 17 | 
            +
            require_relative 'voice/models/conference_state.rb'
         | 
| 18 | 
            +
            require_relative 'voice/models/conference_member_state.rb'
         | 
| 19 | 
            +
            require_relative 'voice/models/conference_recording_metadata.rb'
         | 
| 20 | 
            +
            require_relative 'voice/models/transcribe_recording_request.rb'
         | 
| 23 21 | 
             
            require_relative 'voice/models/transcription_response.rb'
         | 
| 22 | 
            +
            require_relative 'voice/models/transcription_metadata.rb'
         | 
| 23 | 
            +
            require_relative 'voice/models/transcript.rb'
         | 
| 24 24 | 
             
            require_relative 'voice/models/answer_fallback_method_enum.rb'
         | 
| 25 25 | 
             
            require_relative 'voice/models/answer_method_enum.rb'
         | 
| 26 26 | 
             
            require_relative 'voice/models/callback_method_enum.rb'
         | 
| 27 27 | 
             
            require_relative 'voice/models/conference_event_method_enum.rb'
         | 
| 28 28 | 
             
            require_relative 'voice/models/direction_enum.rb'
         | 
| 29 | 
            -
            require_relative 'voice/models/disconnect_cause_enum.rb'
         | 
| 30 29 | 
             
            require_relative 'voice/models/disconnect_method_enum.rb'
         | 
| 31 30 | 
             
            require_relative 'voice/models/file_format_enum.rb'
         | 
| 32 31 | 
             
            require_relative 'voice/models/redirect_fallback_method_enum.rb'
         | 
| 33 32 | 
             
            require_relative 'voice/models/redirect_method_enum.rb'
         | 
| 34 33 | 
             
            require_relative 'voice/models/state_enum.rb'
         | 
| 35 34 | 
             
            require_relative 'voice/models/state1_enum.rb'
         | 
| 36 | 
            -
            require_relative 'voice/models/state2_enum.rb'
         | 
| 37 35 | 
             
            require_relative 'voice/models/status_enum.rb'
         | 
| 38 | 
            -
            require_relative 'voice/models/status1_enum.rb'
         | 
| 39 | 
            -
            require_relative 'voice/models/status3_enum.rb'
         | 
| 40 36 |  | 
| 41 37 | 
             
            # Exceptions
         | 
| 42 | 
            -
            require_relative 'voice/exceptions/ | 
| 38 | 
            +
            require_relative 'voice/exceptions/api_error_exception.rb'
         | 
| 43 39 | 
             
            # Controllers
         | 
| 44 40 | 
             
            require_relative 'voice/controllers/base_controller.rb'
         | 
| 45 41 | 
             
            require_relative 'voice/controllers/api_controller.rb'
         | 
| @@ -16,12 +16,17 @@ module Bandwidth | |
| 16 16 | 
             
                    end
         | 
| 17 17 |  | 
| 18 18 | 
             
                    def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
         | 
| 19 | 
            -
                                   backoff_factor:  | 
| 19 | 
            +
                                   backoff_factor: 2,
         | 
| 20 | 
            +
                                   retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524, 408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
         | 
| 21 | 
            +
                                   retry_methods: %i[get put get put],
         | 
| 22 | 
            +
                                   environment: Environment::PRODUCTION,
         | 
| 20 23 | 
             
                                   base_url: 'https://www.example.com',
         | 
| 21 24 | 
             
                                   messaging_basic_auth_user_name: 'TODO: Replace',
         | 
| 22 25 | 
             
                                   messaging_basic_auth_password: 'TODO: Replace',
         | 
| 23 | 
            -
                                    | 
| 24 | 
            -
                                    | 
| 26 | 
            +
                                   multi_factor_auth_basic_auth_user_name: 'TODO: Replace',
         | 
| 27 | 
            +
                                   multi_factor_auth_basic_auth_password: 'TODO: Replace',
         | 
| 28 | 
            +
                                   phone_number_lookup_basic_auth_user_name: 'TODO: Replace',
         | 
| 29 | 
            +
                                   phone_number_lookup_basic_auth_password: 'TODO: Replace',
         | 
| 25 30 | 
             
                                   voice_basic_auth_user_name: 'TODO: Replace',
         | 
| 26 31 | 
             
                                   voice_basic_auth_password: 'TODO: Replace',
         | 
| 27 32 | 
             
                                   web_rtc_basic_auth_user_name: 'TODO: Replace',
         | 
| @@ -32,12 +37,16 @@ module Bandwidth | |
| 32 37 | 
             
                                                    max_retries: max_retries,
         | 
| 33 38 | 
             
                                                    retry_interval: retry_interval,
         | 
| 34 39 | 
             
                                                    backoff_factor: backoff_factor,
         | 
| 40 | 
            +
                                                    retry_statuses: retry_statuses,
         | 
| 41 | 
            +
                                                    retry_methods: retry_methods,
         | 
| 35 42 | 
             
                                                    environment: environment,
         | 
| 36 43 | 
             
                                                    base_url: base_url,
         | 
| 37 44 | 
             
                                                    messaging_basic_auth_user_name: messaging_basic_auth_user_name,
         | 
| 38 45 | 
             
                                                    messaging_basic_auth_password: messaging_basic_auth_password,
         | 
| 39 | 
            -
                                                     | 
| 40 | 
            -
                                                     | 
| 46 | 
            +
                                                    multi_factor_auth_basic_auth_user_name: multi_factor_auth_basic_auth_user_name,
         | 
| 47 | 
            +
                                                    multi_factor_auth_basic_auth_password: multi_factor_auth_basic_auth_password,
         | 
| 48 | 
            +
                                                    phone_number_lookup_basic_auth_user_name: phone_number_lookup_basic_auth_user_name,
         | 
| 49 | 
            +
                                                    phone_number_lookup_basic_auth_password: phone_number_lookup_basic_auth_password,
         | 
| 41 50 | 
             
                                                    voice_basic_auth_user_name: voice_basic_auth_user_name,
         | 
| 42 51 | 
             
                                                    voice_basic_auth_password: voice_basic_auth_password,
         | 
| 43 52 | 
             
                                                    web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
         | 
| @@ -11,12 +11,12 @@ module Voice | |
| 11 11 | 
             
                  super(config, http_call_back: http_call_back)
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 | 
            -
                # Creates an outbound call
         | 
| 14 | 
            +
                # Creates an outbound call.
         | 
| 15 15 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 16 | 
            -
                # @param [ | 
| 17 | 
            -
                # @return [ | 
| 16 | 
            +
                # @param [CreateCallRequest] body Required parameter: Example:
         | 
| 17 | 
            +
                # @return [CreateCallResponse] response from the API call
         | 
| 18 18 | 
             
                def create_call(account_id,
         | 
| 19 | 
            -
                                body | 
| 19 | 
            +
                                body)
         | 
| 20 20 | 
             
                  # Prepare query url.
         | 
| 21 21 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 22 22 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls'
         | 
| @@ -43,7 +43,7 @@ module Voice | |
| 43 43 |  | 
| 44 44 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 45 45 | 
             
                  if _response.status_code == 400
         | 
| 46 | 
            -
                    raise  | 
| 46 | 
            +
                    raise ApiErrorException.new(
         | 
| 47 47 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 48 48 | 
             
                      ' fix it before trying again.',
         | 
| 49 49 | 
             
                      _response
         | 
| @@ -55,29 +55,29 @@ module Voice | |
| 55 55 | 
             
                      _response
         | 
| 56 56 | 
             
                    )
         | 
| 57 57 | 
             
                  elsif _response.status_code == 403
         | 
| 58 | 
            -
                    raise  | 
| 58 | 
            +
                    raise ApiErrorException.new(
         | 
| 59 59 | 
             
                      'User unauthorized to perform this action.',
         | 
| 60 60 | 
             
                      _response
         | 
| 61 61 | 
             
                    )
         | 
| 62 62 | 
             
                  elsif _response.status_code == 404
         | 
| 63 | 
            -
                    raise  | 
| 63 | 
            +
                    raise ApiErrorException.new(
         | 
| 64 64 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 65 65 | 
             
                      _response
         | 
| 66 66 | 
             
                    )
         | 
| 67 67 | 
             
                  elsif _response.status_code == 415
         | 
| 68 | 
            -
                    raise  | 
| 68 | 
            +
                    raise ApiErrorException.new(
         | 
| 69 69 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 70 70 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 71 71 | 
             
                      _response
         | 
| 72 72 | 
             
                    )
         | 
| 73 73 | 
             
                  elsif _response.status_code == 429
         | 
| 74 | 
            -
                    raise  | 
| 74 | 
            +
                    raise ApiErrorException.new(
         | 
| 75 75 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 76 76 | 
             
                      ' slow your request rate down and try again.',
         | 
| 77 77 | 
             
                      _response
         | 
| 78 78 | 
             
                    )
         | 
| 79 79 | 
             
                  elsif _response.status_code == 500
         | 
| 80 | 
            -
                    raise  | 
| 80 | 
            +
                    raise ApiErrorException.new(
         | 
| 81 81 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 82 82 | 
             
                      _response
         | 
| 83 83 | 
             
                    )
         | 
| @@ -87,16 +87,16 @@ module Voice | |
| 87 87 | 
             
                  # Return appropriate response type.
         | 
| 88 88 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 89 89 | 
             
                  ApiResponse.new(
         | 
| 90 | 
            -
                    _response, data:  | 
| 90 | 
            +
                    _response, data: CreateCallResponse.from_hash(decoded)
         | 
| 91 91 | 
             
                  )
         | 
| 92 92 | 
             
                end
         | 
| 93 93 |  | 
| 94 | 
            -
                # Returns near-realtime metadata about the specified call
         | 
| 94 | 
            +
                # Returns near-realtime metadata about the specified call.
         | 
| 95 95 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 96 96 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 97 | 
            -
                # @return [ | 
| 98 | 
            -
                def  | 
| 99 | 
            -
             | 
| 97 | 
            +
                # @return [CallState] response from the API call
         | 
| 98 | 
            +
                def get_call(account_id,
         | 
| 99 | 
            +
                             call_id)
         | 
| 100 100 | 
             
                  # Prepare query url.
         | 
| 101 101 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 102 102 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}'
         | 
| @@ -122,7 +122,7 @@ module Voice | |
| 122 122 |  | 
| 123 123 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 124 124 | 
             
                  if _response.status_code == 400
         | 
| 125 | 
            -
                    raise  | 
| 125 | 
            +
                    raise ApiErrorException.new(
         | 
| 126 126 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 127 127 | 
             
                      ' fix it before trying again.',
         | 
| 128 128 | 
             
                      _response
         | 
| @@ -134,29 +134,29 @@ module Voice | |
| 134 134 | 
             
                      _response
         | 
| 135 135 | 
             
                    )
         | 
| 136 136 | 
             
                  elsif _response.status_code == 403
         | 
| 137 | 
            -
                    raise  | 
| 137 | 
            +
                    raise ApiErrorException.new(
         | 
| 138 138 | 
             
                      'User unauthorized to perform this action.',
         | 
| 139 139 | 
             
                      _response
         | 
| 140 140 | 
             
                    )
         | 
| 141 141 | 
             
                  elsif _response.status_code == 404
         | 
| 142 | 
            -
                    raise  | 
| 142 | 
            +
                    raise ApiErrorException.new(
         | 
| 143 143 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 144 144 | 
             
                      _response
         | 
| 145 145 | 
             
                    )
         | 
| 146 146 | 
             
                  elsif _response.status_code == 415
         | 
| 147 | 
            -
                    raise  | 
| 147 | 
            +
                    raise ApiErrorException.new(
         | 
| 148 148 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 149 149 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 150 150 | 
             
                      _response
         | 
| 151 151 | 
             
                    )
         | 
| 152 152 | 
             
                  elsif _response.status_code == 429
         | 
| 153 | 
            -
                    raise  | 
| 153 | 
            +
                    raise ApiErrorException.new(
         | 
| 154 154 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 155 155 | 
             
                      ' slow your request rate down and try again.',
         | 
| 156 156 | 
             
                      _response
         | 
| 157 157 | 
             
                    )
         | 
| 158 158 | 
             
                  elsif _response.status_code == 500
         | 
| 159 | 
            -
                    raise  | 
| 159 | 
            +
                    raise ApiErrorException.new(
         | 
| 160 160 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 161 161 | 
             
                      _response
         | 
| 162 162 | 
             
                    )
         | 
| @@ -166,18 +166,18 @@ module Voice | |
| 166 166 | 
             
                  # Return appropriate response type.
         | 
| 167 167 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 168 168 | 
             
                  ApiResponse.new(
         | 
| 169 | 
            -
                    _response, data:  | 
| 169 | 
            +
                    _response, data: CallState.from_hash(decoded)
         | 
| 170 170 | 
             
                  )
         | 
| 171 171 | 
             
                end
         | 
| 172 172 |  | 
| 173 | 
            -
                # Interrupts and replaces an active call's BXML document
         | 
| 173 | 
            +
                # Interrupts and replaces an active call's BXML document.
         | 
| 174 174 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 175 175 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 176 | 
            -
                # @param [ | 
| 176 | 
            +
                # @param [ModifyCallRequest] body Required parameter: Example:
         | 
| 177 177 | 
             
                # @return [void] response from the API call
         | 
| 178 178 | 
             
                def modify_call(account_id,
         | 
| 179 179 | 
             
                                call_id,
         | 
| 180 | 
            -
                                body | 
| 180 | 
            +
                                body)
         | 
| 181 181 | 
             
                  # Prepare query url.
         | 
| 182 182 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 183 183 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}'
         | 
| @@ -204,7 +204,7 @@ module Voice | |
| 204 204 |  | 
| 205 205 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 206 206 | 
             
                  if _response.status_code == 400
         | 
| 207 | 
            -
                    raise  | 
| 207 | 
            +
                    raise ApiErrorException.new(
         | 
| 208 208 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 209 209 | 
             
                      ' fix it before trying again.',
         | 
| 210 210 | 
             
                      _response
         | 
| @@ -216,29 +216,29 @@ module Voice | |
| 216 216 | 
             
                      _response
         | 
| 217 217 | 
             
                    )
         | 
| 218 218 | 
             
                  elsif _response.status_code == 403
         | 
| 219 | 
            -
                    raise  | 
| 219 | 
            +
                    raise ApiErrorException.new(
         | 
| 220 220 | 
             
                      'User unauthorized to perform this action.',
         | 
| 221 221 | 
             
                      _response
         | 
| 222 222 | 
             
                    )
         | 
| 223 223 | 
             
                  elsif _response.status_code == 404
         | 
| 224 | 
            -
                    raise  | 
| 224 | 
            +
                    raise ApiErrorException.new(
         | 
| 225 225 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 226 226 | 
             
                      _response
         | 
| 227 227 | 
             
                    )
         | 
| 228 228 | 
             
                  elsif _response.status_code == 415
         | 
| 229 | 
            -
                    raise  | 
| 229 | 
            +
                    raise ApiErrorException.new(
         | 
| 230 230 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 231 231 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 232 232 | 
             
                      _response
         | 
| 233 233 | 
             
                    )
         | 
| 234 234 | 
             
                  elsif _response.status_code == 429
         | 
| 235 | 
            -
                    raise  | 
| 235 | 
            +
                    raise ApiErrorException.new(
         | 
| 236 236 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 237 237 | 
             
                      ' slow your request rate down and try again.',
         | 
| 238 238 | 
             
                      _response
         | 
| 239 239 | 
             
                    )
         | 
| 240 240 | 
             
                  elsif _response.status_code == 500
         | 
| 241 | 
            -
                    raise  | 
| 241 | 
            +
                    raise ApiErrorException.new(
         | 
| 242 242 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 243 243 | 
             
                      _response
         | 
| 244 244 | 
             
                    )
         | 
| @@ -249,14 +249,14 @@ module Voice | |
| 249 249 | 
             
                  ApiResponse.new(_response)
         | 
| 250 250 | 
             
                end
         | 
| 251 251 |  | 
| 252 | 
            -
                # Pauses or resumes a recording
         | 
| 252 | 
            +
                # Pauses or resumes a recording.
         | 
| 253 253 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 254 254 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 255 | 
            -
                # @param [ | 
| 255 | 
            +
                # @param [ModifyCallRecordingRequest] body Required parameter: Example:
         | 
| 256 256 | 
             
                # @return [void] response from the API call
         | 
| 257 257 | 
             
                def modify_call_recording_state(account_id,
         | 
| 258 258 | 
             
                                                call_id,
         | 
| 259 | 
            -
                                                body | 
| 259 | 
            +
                                                body)
         | 
| 260 260 | 
             
                  # Prepare query url.
         | 
| 261 261 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 262 262 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recording'
         | 
| @@ -283,7 +283,7 @@ module Voice | |
| 283 283 |  | 
| 284 284 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 285 285 | 
             
                  if _response.status_code == 400
         | 
| 286 | 
            -
                    raise  | 
| 286 | 
            +
                    raise ApiErrorException.new(
         | 
| 287 287 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 288 288 | 
             
                      ' fix it before trying again.',
         | 
| 289 289 | 
             
                      _response
         | 
| @@ -295,29 +295,29 @@ module Voice | |
| 295 295 | 
             
                      _response
         | 
| 296 296 | 
             
                    )
         | 
| 297 297 | 
             
                  elsif _response.status_code == 403
         | 
| 298 | 
            -
                    raise  | 
| 298 | 
            +
                    raise ApiErrorException.new(
         | 
| 299 299 | 
             
                      'User unauthorized to perform this action.',
         | 
| 300 300 | 
             
                      _response
         | 
| 301 301 | 
             
                    )
         | 
| 302 302 | 
             
                  elsif _response.status_code == 404
         | 
| 303 | 
            -
                    raise  | 
| 303 | 
            +
                    raise ApiErrorException.new(
         | 
| 304 304 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 305 305 | 
             
                      _response
         | 
| 306 306 | 
             
                    )
         | 
| 307 307 | 
             
                  elsif _response.status_code == 415
         | 
| 308 | 
            -
                    raise  | 
| 308 | 
            +
                    raise ApiErrorException.new(
         | 
| 309 309 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 310 310 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 311 311 | 
             
                      _response
         | 
| 312 312 | 
             
                    )
         | 
| 313 313 | 
             
                  elsif _response.status_code == 429
         | 
| 314 | 
            -
                    raise  | 
| 314 | 
            +
                    raise ApiErrorException.new(
         | 
| 315 315 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 316 316 | 
             
                      ' slow your request rate down and try again.',
         | 
| 317 317 | 
             
                      _response
         | 
| 318 318 | 
             
                    )
         | 
| 319 319 | 
             
                  elsif _response.status_code == 500
         | 
| 320 | 
            -
                    raise  | 
| 320 | 
            +
                    raise ApiErrorException.new(
         | 
| 321 321 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 322 322 | 
             
                      _response
         | 
| 323 323 | 
             
                    )
         | 
| @@ -332,9 +332,9 @@ module Voice | |
| 332 332 | 
             
                # took place during the specified call
         | 
| 333 333 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 334 334 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 335 | 
            -
                # @return [List of  | 
| 336 | 
            -
                def  | 
| 337 | 
            -
             | 
| 335 | 
            +
                # @return [List of CallRecordingMetadata] response from the API call
         | 
| 336 | 
            +
                def get_call_recordings(account_id,
         | 
| 337 | 
            +
                                        call_id)
         | 
| 338 338 | 
             
                  # Prepare query url.
         | 
| 339 339 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 340 340 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings'
         | 
| @@ -360,7 +360,7 @@ module Voice | |
| 360 360 |  | 
| 361 361 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 362 362 | 
             
                  if _response.status_code == 400
         | 
| 363 | 
            -
                    raise  | 
| 363 | 
            +
                    raise ApiErrorException.new(
         | 
| 364 364 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 365 365 | 
             
                      ' fix it before trying again.',
         | 
| 366 366 | 
             
                      _response
         | 
| @@ -372,29 +372,29 @@ module Voice | |
| 372 372 | 
             
                      _response
         | 
| 373 373 | 
             
                    )
         | 
| 374 374 | 
             
                  elsif _response.status_code == 403
         | 
| 375 | 
            -
                    raise  | 
| 375 | 
            +
                    raise ApiErrorException.new(
         | 
| 376 376 | 
             
                      'User unauthorized to perform this action.',
         | 
| 377 377 | 
             
                      _response
         | 
| 378 378 | 
             
                    )
         | 
| 379 379 | 
             
                  elsif _response.status_code == 404
         | 
| 380 | 
            -
                    raise  | 
| 380 | 
            +
                    raise ApiErrorException.new(
         | 
| 381 381 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 382 382 | 
             
                      _response
         | 
| 383 383 | 
             
                    )
         | 
| 384 384 | 
             
                  elsif _response.status_code == 415
         | 
| 385 | 
            -
                    raise  | 
| 385 | 
            +
                    raise ApiErrorException.new(
         | 
| 386 386 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 387 387 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 388 388 | 
             
                      _response
         | 
| 389 389 | 
             
                    )
         | 
| 390 390 | 
             
                  elsif _response.status_code == 429
         | 
| 391 | 
            -
                    raise  | 
| 391 | 
            +
                    raise ApiErrorException.new(
         | 
| 392 392 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 393 393 | 
             
                      ' slow your request rate down and try again.',
         | 
| 394 394 | 
             
                      _response
         | 
| 395 395 | 
             
                    )
         | 
| 396 396 | 
             
                  elsif _response.status_code == 500
         | 
| 397 | 
            -
                    raise  | 
| 397 | 
            +
                    raise ApiErrorException.new(
         | 
| 398 398 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 399 399 | 
             
                      _response
         | 
| 400 400 | 
             
                    )
         | 
| @@ -405,18 +405,18 @@ module Voice | |
| 405 405 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 406 406 | 
             
                  ApiResponse.new(
         | 
| 407 407 | 
             
                    _response,
         | 
| 408 | 
            -
                    data: decoded.map { |element|  | 
| 408 | 
            +
                    data: decoded.map { |element| CallRecordingMetadata.from_hash(element) }
         | 
| 409 409 | 
             
                  )
         | 
| 410 410 | 
             
                end
         | 
| 411 411 |  | 
| 412 | 
            -
                # Returns metadata for the specified recording
         | 
| 412 | 
            +
                # Returns metadata for the specified recording.
         | 
| 413 413 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 414 414 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 415 415 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 416 | 
            -
                # @return [ | 
| 417 | 
            -
                def  | 
| 418 | 
            -
             | 
| 419 | 
            -
             | 
| 416 | 
            +
                # @return [CallRecordingMetadata] response from the API call
         | 
| 417 | 
            +
                def get_call_recording(account_id,
         | 
| 418 | 
            +
                                       call_id,
         | 
| 419 | 
            +
                                       recording_id)
         | 
| 420 420 | 
             
                  # Prepare query url.
         | 
| 421 421 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 422 422 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}'
         | 
| @@ -443,7 +443,7 @@ module Voice | |
| 443 443 |  | 
| 444 444 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 445 445 | 
             
                  if _response.status_code == 400
         | 
| 446 | 
            -
                    raise  | 
| 446 | 
            +
                    raise ApiErrorException.new(
         | 
| 447 447 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 448 448 | 
             
                      ' fix it before trying again.',
         | 
| 449 449 | 
             
                      _response
         | 
| @@ -455,29 +455,29 @@ module Voice | |
| 455 455 | 
             
                      _response
         | 
| 456 456 | 
             
                    )
         | 
| 457 457 | 
             
                  elsif _response.status_code == 403
         | 
| 458 | 
            -
                    raise  | 
| 458 | 
            +
                    raise ApiErrorException.new(
         | 
| 459 459 | 
             
                      'User unauthorized to perform this action.',
         | 
| 460 460 | 
             
                      _response
         | 
| 461 461 | 
             
                    )
         | 
| 462 462 | 
             
                  elsif _response.status_code == 404
         | 
| 463 | 
            -
                    raise  | 
| 463 | 
            +
                    raise ApiErrorException.new(
         | 
| 464 464 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 465 465 | 
             
                      _response
         | 
| 466 466 | 
             
                    )
         | 
| 467 467 | 
             
                  elsif _response.status_code == 415
         | 
| 468 | 
            -
                    raise  | 
| 468 | 
            +
                    raise ApiErrorException.new(
         | 
| 469 469 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 470 470 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 471 471 | 
             
                      _response
         | 
| 472 472 | 
             
                    )
         | 
| 473 473 | 
             
                  elsif _response.status_code == 429
         | 
| 474 | 
            -
                    raise  | 
| 474 | 
            +
                    raise ApiErrorException.new(
         | 
| 475 475 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 476 476 | 
             
                      ' slow your request rate down and try again.',
         | 
| 477 477 | 
             
                      _response
         | 
| 478 478 | 
             
                    )
         | 
| 479 479 | 
             
                  elsif _response.status_code == 500
         | 
| 480 | 
            -
                    raise  | 
| 480 | 
            +
                    raise ApiErrorException.new(
         | 
| 481 481 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 482 482 | 
             
                      _response
         | 
| 483 483 | 
             
                    )
         | 
| @@ -487,11 +487,11 @@ module Voice | |
| 487 487 | 
             
                  # Return appropriate response type.
         | 
| 488 488 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 489 489 | 
             
                  ApiResponse.new(
         | 
| 490 | 
            -
                    _response, data:  | 
| 490 | 
            +
                    _response, data: CallRecordingMetadata.from_hash(decoded)
         | 
| 491 491 | 
             
                  )
         | 
| 492 492 | 
             
                end
         | 
| 493 493 |  | 
| 494 | 
            -
                # Deletes the specified recording
         | 
| 494 | 
            +
                # Deletes the specified recording.
         | 
| 495 495 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 496 496 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 497 497 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| @@ -519,7 +519,7 @@ module Voice | |
| 519 519 |  | 
| 520 520 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 521 521 | 
             
                  if _response.status_code == 400
         | 
| 522 | 
            -
                    raise  | 
| 522 | 
            +
                    raise ApiErrorException.new(
         | 
| 523 523 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 524 524 | 
             
                      ' fix it before trying again.',
         | 
| 525 525 | 
             
                      _response
         | 
| @@ -531,29 +531,29 @@ module Voice | |
| 531 531 | 
             
                      _response
         | 
| 532 532 | 
             
                    )
         | 
| 533 533 | 
             
                  elsif _response.status_code == 403
         | 
| 534 | 
            -
                    raise  | 
| 534 | 
            +
                    raise ApiErrorException.new(
         | 
| 535 535 | 
             
                      'User unauthorized to perform this action.',
         | 
| 536 536 | 
             
                      _response
         | 
| 537 537 | 
             
                    )
         | 
| 538 538 | 
             
                  elsif _response.status_code == 404
         | 
| 539 | 
            -
                    raise  | 
| 539 | 
            +
                    raise ApiErrorException.new(
         | 
| 540 540 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 541 541 | 
             
                      _response
         | 
| 542 542 | 
             
                    )
         | 
| 543 543 | 
             
                  elsif _response.status_code == 415
         | 
| 544 | 
            -
                    raise  | 
| 544 | 
            +
                    raise ApiErrorException.new(
         | 
| 545 545 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 546 546 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 547 547 | 
             
                      _response
         | 
| 548 548 | 
             
                    )
         | 
| 549 549 | 
             
                  elsif _response.status_code == 429
         | 
| 550 | 
            -
                    raise  | 
| 550 | 
            +
                    raise ApiErrorException.new(
         | 
| 551 551 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 552 552 | 
             
                      ' slow your request rate down and try again.',
         | 
| 553 553 | 
             
                      _response
         | 
| 554 554 | 
             
                    )
         | 
| 555 555 | 
             
                  elsif _response.status_code == 500
         | 
| 556 | 
            -
                    raise  | 
| 556 | 
            +
                    raise ApiErrorException.new(
         | 
| 557 557 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 558 558 | 
             
                      _response
         | 
| 559 559 | 
             
                    )
         | 
| @@ -564,14 +564,14 @@ module Voice | |
| 564 564 | 
             
                  ApiResponse.new(_response)
         | 
| 565 565 | 
             
                end
         | 
| 566 566 |  | 
| 567 | 
            -
                # Downloads the specified recording
         | 
| 567 | 
            +
                # Downloads the specified recording.
         | 
| 568 568 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 569 569 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 570 570 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 571 | 
            -
                # @return [ | 
| 572 | 
            -
                def  | 
| 573 | 
            -
             | 
| 574 | 
            -
             | 
| 571 | 
            +
                # @return [Mixed] response from the API call
         | 
| 572 | 
            +
                def get_download_call_recording(account_id,
         | 
| 573 | 
            +
                                                call_id,
         | 
| 574 | 
            +
                                                recording_id)
         | 
| 575 575 | 
             
                  # Prepare query url.
         | 
| 576 576 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 577 577 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media'
         | 
| @@ -583,16 +583,22 @@ module Voice | |
| 583 583 | 
             
                  )
         | 
| 584 584 | 
             
                  _query_url = APIHelper.clean_url _query_builder
         | 
| 585 585 |  | 
| 586 | 
            +
                  # Prepare headers.
         | 
| 587 | 
            +
                  _headers = {
         | 
| 588 | 
            +
                    'accept' => 'application/json'
         | 
| 589 | 
            +
                  }
         | 
| 590 | 
            +
             | 
| 586 591 | 
             
                  # Prepare and execute HttpRequest.
         | 
| 587 592 | 
             
                  _request = config.http_client.get(
         | 
| 588 | 
            -
                    _query_url
         | 
| 593 | 
            +
                    _query_url,
         | 
| 594 | 
            +
                    headers: _headers
         | 
| 589 595 | 
             
                  )
         | 
| 590 596 | 
             
                  VoiceBasicAuth.apply(config, _request)
         | 
| 591 | 
            -
                  _response = execute_request(_request | 
| 597 | 
            +
                  _response = execute_request(_request)
         | 
| 592 598 |  | 
| 593 599 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 594 600 | 
             
                  if _response.status_code == 400
         | 
| 595 | 
            -
                    raise  | 
| 601 | 
            +
                    raise ApiErrorException.new(
         | 
| 596 602 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 597 603 | 
             
                      ' fix it before trying again.',
         | 
| 598 604 | 
             
                      _response
         | 
| @@ -604,29 +610,29 @@ module Voice | |
| 604 610 | 
             
                      _response
         | 
| 605 611 | 
             
                    )
         | 
| 606 612 | 
             
                  elsif _response.status_code == 403
         | 
| 607 | 
            -
                    raise  | 
| 613 | 
            +
                    raise ApiErrorException.new(
         | 
| 608 614 | 
             
                      'User unauthorized to perform this action.',
         | 
| 609 615 | 
             
                      _response
         | 
| 610 616 | 
             
                    )
         | 
| 611 617 | 
             
                  elsif _response.status_code == 404
         | 
| 612 | 
            -
                    raise  | 
| 618 | 
            +
                    raise ApiErrorException.new(
         | 
| 613 619 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 614 620 | 
             
                      _response
         | 
| 615 621 | 
             
                    )
         | 
| 616 622 | 
             
                  elsif _response.status_code == 415
         | 
| 617 | 
            -
                    raise  | 
| 623 | 
            +
                    raise ApiErrorException.new(
         | 
| 618 624 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 619 625 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 620 626 | 
             
                      _response
         | 
| 621 627 | 
             
                    )
         | 
| 622 628 | 
             
                  elsif _response.status_code == 429
         | 
| 623 | 
            -
                    raise  | 
| 629 | 
            +
                    raise ApiErrorException.new(
         | 
| 624 630 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 625 631 | 
             
                      ' slow your request rate down and try again.',
         | 
| 626 632 | 
             
                      _response
         | 
| 627 633 | 
             
                    )
         | 
| 628 634 | 
             
                  elsif _response.status_code == 500
         | 
| 629 | 
            -
                    raise  | 
| 635 | 
            +
                    raise ApiErrorException.new(
         | 
| 630 636 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 631 637 | 
             
                      _response
         | 
| 632 638 | 
             
                    )
         | 
| @@ -634,12 +640,15 @@ module Voice | |
| 634 640 | 
             
                  validate_response(_response)
         | 
| 635 641 |  | 
| 636 642 | 
             
                  # Return appropriate response type.
         | 
| 643 | 
            +
                  decoded = APIHelper.json_deserialize(_response.raw_body) unless
         | 
| 644 | 
            +
                    _response.raw_body.nil? ||
         | 
| 645 | 
            +
                    _response.raw_body.to_s.strip.empty?
         | 
| 637 646 | 
             
                  ApiResponse.new(
         | 
| 638 | 
            -
                    _response, data:  | 
| 647 | 
            +
                    _response, data: decoded
         | 
| 639 648 | 
             
                  )
         | 
| 640 649 | 
             
                end
         | 
| 641 650 |  | 
| 642 | 
            -
                # Deletes the specified recording's media
         | 
| 651 | 
            +
                # Deletes the specified recording's media.
         | 
| 643 652 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 644 653 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 645 654 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| @@ -667,7 +676,7 @@ module Voice | |
| 667 676 |  | 
| 668 677 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 669 678 | 
             
                  if _response.status_code == 400
         | 
| 670 | 
            -
                    raise  | 
| 679 | 
            +
                    raise ApiErrorException.new(
         | 
| 671 680 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 672 681 | 
             
                      ' fix it before trying again.',
         | 
| 673 682 | 
             
                      _response
         | 
| @@ -679,29 +688,29 @@ module Voice | |
| 679 688 | 
             
                      _response
         | 
| 680 689 | 
             
                    )
         | 
| 681 690 | 
             
                  elsif _response.status_code == 403
         | 
| 682 | 
            -
                    raise  | 
| 691 | 
            +
                    raise ApiErrorException.new(
         | 
| 683 692 | 
             
                      'User unauthorized to perform this action.',
         | 
| 684 693 | 
             
                      _response
         | 
| 685 694 | 
             
                    )
         | 
| 686 695 | 
             
                  elsif _response.status_code == 404
         | 
| 687 | 
            -
                    raise  | 
| 696 | 
            +
                    raise ApiErrorException.new(
         | 
| 688 697 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 689 698 | 
             
                      _response
         | 
| 690 699 | 
             
                    )
         | 
| 691 700 | 
             
                  elsif _response.status_code == 415
         | 
| 692 | 
            -
                    raise  | 
| 701 | 
            +
                    raise ApiErrorException.new(
         | 
| 693 702 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 694 703 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 695 704 | 
             
                      _response
         | 
| 696 705 | 
             
                    )
         | 
| 697 706 | 
             
                  elsif _response.status_code == 429
         | 
| 698 | 
            -
                    raise  | 
| 707 | 
            +
                    raise ApiErrorException.new(
         | 
| 699 708 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 700 709 | 
             
                      ' slow your request rate down and try again.',
         | 
| 701 710 | 
             
                      _response
         | 
| 702 711 | 
             
                    )
         | 
| 703 712 | 
             
                  elsif _response.status_code == 500
         | 
| 704 | 
            -
                    raise  | 
| 713 | 
            +
                    raise ApiErrorException.new(
         | 
| 705 714 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 706 715 | 
             
                      _response
         | 
| 707 716 | 
             
                    )
         | 
| @@ -712,14 +721,14 @@ module Voice | |
| 712 721 | 
             
                  ApiResponse.new(_response)
         | 
| 713 722 | 
             
                end
         | 
| 714 723 |  | 
| 715 | 
            -
                # Downloads the specified transcription
         | 
| 724 | 
            +
                # Downloads the specified transcription.
         | 
| 716 725 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 717 726 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 718 727 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 719 728 | 
             
                # @return [TranscriptionResponse] response from the API call
         | 
| 720 | 
            -
                def  | 
| 721 | 
            -
             | 
| 722 | 
            -
             | 
| 729 | 
            +
                def get_call_transcription(account_id,
         | 
| 730 | 
            +
                                           call_id,
         | 
| 731 | 
            +
                                           recording_id)
         | 
| 723 732 | 
             
                  # Prepare query url.
         | 
| 724 733 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 725 734 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription'
         | 
| @@ -746,7 +755,7 @@ module Voice | |
| 746 755 |  | 
| 747 756 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 748 757 | 
             
                  if _response.status_code == 400
         | 
| 749 | 
            -
                    raise  | 
| 758 | 
            +
                    raise ApiErrorException.new(
         | 
| 750 759 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 751 760 | 
             
                      ' fix it before trying again.',
         | 
| 752 761 | 
             
                      _response
         | 
| @@ -758,29 +767,29 @@ module Voice | |
| 758 767 | 
             
                      _response
         | 
| 759 768 | 
             
                    )
         | 
| 760 769 | 
             
                  elsif _response.status_code == 403
         | 
| 761 | 
            -
                    raise  | 
| 770 | 
            +
                    raise ApiErrorException.new(
         | 
| 762 771 | 
             
                      'User unauthorized to perform this action.',
         | 
| 763 772 | 
             
                      _response
         | 
| 764 773 | 
             
                    )
         | 
| 765 774 | 
             
                  elsif _response.status_code == 404
         | 
| 766 | 
            -
                    raise  | 
| 775 | 
            +
                    raise ApiErrorException.new(
         | 
| 767 776 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 768 777 | 
             
                      _response
         | 
| 769 778 | 
             
                    )
         | 
| 770 779 | 
             
                  elsif _response.status_code == 415
         | 
| 771 | 
            -
                    raise  | 
| 780 | 
            +
                    raise ApiErrorException.new(
         | 
| 772 781 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 773 782 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 774 783 | 
             
                      _response
         | 
| 775 784 | 
             
                    )
         | 
| 776 785 | 
             
                  elsif _response.status_code == 429
         | 
| 777 | 
            -
                    raise  | 
| 786 | 
            +
                    raise ApiErrorException.new(
         | 
| 778 787 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 779 788 | 
             
                      ' slow your request rate down and try again.',
         | 
| 780 789 | 
             
                      _response
         | 
| 781 790 | 
             
                    )
         | 
| 782 791 | 
             
                  elsif _response.status_code == 500
         | 
| 783 | 
            -
                    raise  | 
| 792 | 
            +
                    raise ApiErrorException.new(
         | 
| 784 793 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 785 794 | 
             
                      _response
         | 
| 786 795 | 
             
                    )
         | 
| @@ -794,16 +803,16 @@ module Voice | |
| 794 803 | 
             
                  )
         | 
| 795 804 | 
             
                end
         | 
| 796 805 |  | 
| 797 | 
            -
                # Requests that the specified recording be transcribed
         | 
| 806 | 
            +
                # Requests that the specified recording be transcribed.
         | 
| 798 807 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 799 808 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 800 809 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 801 | 
            -
                # @param [ | 
| 810 | 
            +
                # @param [TranscribeRecordingRequest] body Required parameter: Example:
         | 
| 802 811 | 
             
                # @return [void] response from the API call
         | 
| 803 | 
            -
                def  | 
| 804 | 
            -
             | 
| 805 | 
            -
             | 
| 806 | 
            -
             | 
| 812 | 
            +
                def create_transcribe_call_recording(account_id,
         | 
| 813 | 
            +
                                                     call_id,
         | 
| 814 | 
            +
                                                     recording_id,
         | 
| 815 | 
            +
                                                     body)
         | 
| 807 816 | 
             
                  # Prepare query url.
         | 
| 808 817 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 809 818 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription'
         | 
| @@ -831,7 +840,7 @@ module Voice | |
| 831 840 |  | 
| 832 841 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 833 842 | 
             
                  if _response.status_code == 400
         | 
| 834 | 
            -
                    raise  | 
| 843 | 
            +
                    raise ApiErrorException.new(
         | 
| 835 844 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 836 845 | 
             
                      ' fix it before trying again.',
         | 
| 837 846 | 
             
                      _response
         | 
| @@ -843,35 +852,35 @@ module Voice | |
| 843 852 | 
             
                      _response
         | 
| 844 853 | 
             
                    )
         | 
| 845 854 | 
             
                  elsif _response.status_code == 403
         | 
| 846 | 
            -
                    raise  | 
| 855 | 
            +
                    raise ApiErrorException.new(
         | 
| 847 856 | 
             
                      'User unauthorized to perform this action.',
         | 
| 848 857 | 
             
                      _response
         | 
| 849 858 | 
             
                    )
         | 
| 850 859 | 
             
                  elsif _response.status_code == 404
         | 
| 851 | 
            -
                    raise  | 
| 860 | 
            +
                    raise ApiErrorException.new(
         | 
| 852 861 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 853 862 | 
             
                      _response
         | 
| 854 863 | 
             
                    )
         | 
| 855 864 | 
             
                  elsif _response.status_code == 410
         | 
| 856 | 
            -
                    raise  | 
| 865 | 
            +
                    raise ApiErrorException.new(
         | 
| 857 866 | 
             
                      'The media for this recording has been deleted, so we can\'t' \
         | 
| 858 867 | 
             
                      ' transcribe it',
         | 
| 859 868 | 
             
                      _response
         | 
| 860 869 | 
             
                    )
         | 
| 861 870 | 
             
                  elsif _response.status_code == 415
         | 
| 862 | 
            -
                    raise  | 
| 871 | 
            +
                    raise ApiErrorException.new(
         | 
| 863 872 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 864 873 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 865 874 | 
             
                      _response
         | 
| 866 875 | 
             
                    )
         | 
| 867 876 | 
             
                  elsif _response.status_code == 429
         | 
| 868 | 
            -
                    raise  | 
| 877 | 
            +
                    raise ApiErrorException.new(
         | 
| 869 878 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 870 879 | 
             
                      ' slow your request rate down and try again.',
         | 
| 871 880 | 
             
                      _response
         | 
| 872 881 | 
             
                    )
         | 
| 873 882 | 
             
                  elsif _response.status_code == 500
         | 
| 874 | 
            -
                    raise  | 
| 883 | 
            +
                    raise ApiErrorException.new(
         | 
| 875 884 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 876 885 | 
             
                      _response
         | 
| 877 886 | 
             
                    )
         | 
| @@ -882,14 +891,14 @@ module Voice | |
| 882 891 | 
             
                  ApiResponse.new(_response)
         | 
| 883 892 | 
             
                end
         | 
| 884 893 |  | 
| 885 | 
            -
                # Deletes the specified recording's transcription
         | 
| 894 | 
            +
                # Deletes the specified recording's transcription.
         | 
| 886 895 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 887 896 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 888 897 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 889 898 | 
             
                # @return [void] response from the API call
         | 
| 890 | 
            -
                def  | 
| 891 | 
            -
             | 
| 892 | 
            -
             | 
| 899 | 
            +
                def delete_call_transcription(account_id,
         | 
| 900 | 
            +
                                              call_id,
         | 
| 901 | 
            +
                                              recording_id)
         | 
| 893 902 | 
             
                  # Prepare query url.
         | 
| 894 903 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 895 904 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription'
         | 
| @@ -910,7 +919,7 @@ module Voice | |
| 910 919 |  | 
| 911 920 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 912 921 | 
             
                  if _response.status_code == 400
         | 
| 913 | 
            -
                    raise  | 
| 922 | 
            +
                    raise ApiErrorException.new(
         | 
| 914 923 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 915 924 | 
             
                      ' fix it before trying again.',
         | 
| 916 925 | 
             
                      _response
         | 
| @@ -922,29 +931,29 @@ module Voice | |
| 922 931 | 
             
                      _response
         | 
| 923 932 | 
             
                    )
         | 
| 924 933 | 
             
                  elsif _response.status_code == 403
         | 
| 925 | 
            -
                    raise  | 
| 934 | 
            +
                    raise ApiErrorException.new(
         | 
| 926 935 | 
             
                      'User unauthorized to perform this action.',
         | 
| 927 936 | 
             
                      _response
         | 
| 928 937 | 
             
                    )
         | 
| 929 938 | 
             
                  elsif _response.status_code == 404
         | 
| 930 | 
            -
                    raise  | 
| 939 | 
            +
                    raise ApiErrorException.new(
         | 
| 931 940 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 932 941 | 
             
                      _response
         | 
| 933 942 | 
             
                    )
         | 
| 934 943 | 
             
                  elsif _response.status_code == 415
         | 
| 935 | 
            -
                    raise  | 
| 944 | 
            +
                    raise ApiErrorException.new(
         | 
| 936 945 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 937 946 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 938 947 | 
             
                      _response
         | 
| 939 948 | 
             
                    )
         | 
| 940 949 | 
             
                  elsif _response.status_code == 429
         | 
| 941 | 
            -
                    raise  | 
| 950 | 
            +
                    raise ApiErrorException.new(
         | 
| 942 951 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 943 952 | 
             
                      ' slow your request rate down and try again.',
         | 
| 944 953 | 
             
                      _response
         | 
| 945 954 | 
             
                    )
         | 
| 946 955 | 
             
                  elsif _response.status_code == 500
         | 
| 947 | 
            -
                    raise  | 
| 956 | 
            +
                    raise ApiErrorException.new(
         | 
| 948 957 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 949 958 | 
             
                      _response
         | 
| 950 959 | 
             
                    )
         | 
| @@ -955,20 +964,20 @@ module Voice | |
| 955 964 | 
             
                  ApiResponse.new(_response)
         | 
| 956 965 | 
             
                end
         | 
| 957 966 |  | 
| 958 | 
            -
                # Returns information about the conferences in the account
         | 
| 967 | 
            +
                # Returns information about the conferences in the account.
         | 
| 959 968 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 960 | 
            -
                # @param [Integer] page_size Optional parameter: Example:1000
         | 
| 961 | 
            -
                # @param [String] page_token Optional parameter: Example:
         | 
| 962 969 | 
             
                # @param [String] name Optional parameter: Example:
         | 
| 963 970 | 
             
                # @param [String] min_created_time Optional parameter: Example:
         | 
| 964 971 | 
             
                # @param [String] max_created_time Optional parameter: Example:
         | 
| 965 | 
            -
                # @ | 
| 966 | 
            -
                 | 
| 967 | 
            -
             | 
| 968 | 
            -
             | 
| 969 | 
            -
             | 
| 970 | 
            -
             | 
| 971 | 
            -
             | 
| 972 | 
            +
                # @param [Integer] page_size Optional parameter: Example:1000
         | 
| 973 | 
            +
                # @param [String] page_token Optional parameter: Example:
         | 
| 974 | 
            +
                # @return [List of ConferenceState] response from the API call
         | 
| 975 | 
            +
                def get_conferences(account_id,
         | 
| 976 | 
            +
                                    name: nil,
         | 
| 977 | 
            +
                                    min_created_time: nil,
         | 
| 978 | 
            +
                                    max_created_time: nil,
         | 
| 979 | 
            +
                                    page_size: 1000,
         | 
| 980 | 
            +
                                    page_token: nil)
         | 
| 972 981 | 
             
                  # Prepare query url.
         | 
| 973 982 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 974 983 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences'
         | 
| @@ -978,11 +987,11 @@ module Voice | |
| 978 987 | 
             
                  )
         | 
| 979 988 | 
             
                  _query_builder = APIHelper.append_url_with_query_parameters(
         | 
| 980 989 | 
             
                    _query_builder,
         | 
| 981 | 
            -
                    'pageSize' => page_size,
         | 
| 982 | 
            -
                    'pageToken' => page_token,
         | 
| 983 990 | 
             
                    'name' => name,
         | 
| 984 991 | 
             
                    'minCreatedTime' => min_created_time,
         | 
| 985 | 
            -
                    'maxCreatedTime' => max_created_time
         | 
| 992 | 
            +
                    'maxCreatedTime' => max_created_time,
         | 
| 993 | 
            +
                    'pageSize' => page_size,
         | 
| 994 | 
            +
                    'pageToken' => page_token
         | 
| 986 995 | 
             
                  )
         | 
| 987 996 | 
             
                  _query_url = APIHelper.clean_url _query_builder
         | 
| 988 997 |  | 
| @@ -1001,7 +1010,7 @@ module Voice | |
| 1001 1010 |  | 
| 1002 1011 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1003 1012 | 
             
                  if _response.status_code == 400
         | 
| 1004 | 
            -
                    raise  | 
| 1013 | 
            +
                    raise ApiErrorException.new(
         | 
| 1005 1014 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1006 1015 | 
             
                      ' fix it before trying again.',
         | 
| 1007 1016 | 
             
                      _response
         | 
| @@ -1013,29 +1022,29 @@ module Voice | |
| 1013 1022 | 
             
                      _response
         | 
| 1014 1023 | 
             
                    )
         | 
| 1015 1024 | 
             
                  elsif _response.status_code == 403
         | 
| 1016 | 
            -
                    raise  | 
| 1025 | 
            +
                    raise ApiErrorException.new(
         | 
| 1017 1026 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1018 1027 | 
             
                      _response
         | 
| 1019 1028 | 
             
                    )
         | 
| 1020 1029 | 
             
                  elsif _response.status_code == 404
         | 
| 1021 | 
            -
                    raise  | 
| 1030 | 
            +
                    raise ApiErrorException.new(
         | 
| 1022 1031 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1023 1032 | 
             
                      _response
         | 
| 1024 1033 | 
             
                    )
         | 
| 1025 1034 | 
             
                  elsif _response.status_code == 415
         | 
| 1026 | 
            -
                    raise  | 
| 1035 | 
            +
                    raise ApiErrorException.new(
         | 
| 1027 1036 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1028 1037 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1029 1038 | 
             
                      _response
         | 
| 1030 1039 | 
             
                    )
         | 
| 1031 1040 | 
             
                  elsif _response.status_code == 429
         | 
| 1032 | 
            -
                    raise  | 
| 1041 | 
            +
                    raise ApiErrorException.new(
         | 
| 1033 1042 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1034 1043 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1035 1044 | 
             
                      _response
         | 
| 1036 1045 | 
             
                    )
         | 
| 1037 1046 | 
             
                  elsif _response.status_code == 500
         | 
| 1038 | 
            -
                    raise  | 
| 1047 | 
            +
                    raise ApiErrorException.new(
         | 
| 1039 1048 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1040 1049 | 
             
                      _response
         | 
| 1041 1050 | 
             
                    )
         | 
| @@ -1046,16 +1055,16 @@ module Voice | |
| 1046 1055 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1047 1056 | 
             
                  ApiResponse.new(
         | 
| 1048 1057 | 
             
                    _response,
         | 
| 1049 | 
            -
                    data: decoded.map { |element|  | 
| 1058 | 
            +
                    data: decoded.map { |element| ConferenceState.from_hash(element) }
         | 
| 1050 1059 | 
             
                  )
         | 
| 1051 1060 | 
             
                end
         | 
| 1052 1061 |  | 
| 1053 | 
            -
                # Returns information about the specified conference
         | 
| 1062 | 
            +
                # Returns information about the specified conference.
         | 
| 1054 1063 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1055 1064 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1056 | 
            -
                # @return [ | 
| 1057 | 
            -
                def  | 
| 1058 | 
            -
             | 
| 1065 | 
            +
                # @return [ConferenceState] response from the API call
         | 
| 1066 | 
            +
                def get_conference(account_id,
         | 
| 1067 | 
            +
                                   conference_id)
         | 
| 1059 1068 | 
             
                  # Prepare query url.
         | 
| 1060 1069 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1061 1070 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}'
         | 
| @@ -1081,7 +1090,7 @@ module Voice | |
| 1081 1090 |  | 
| 1082 1091 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1083 1092 | 
             
                  if _response.status_code == 400
         | 
| 1084 | 
            -
                    raise  | 
| 1093 | 
            +
                    raise ApiErrorException.new(
         | 
| 1085 1094 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1086 1095 | 
             
                      ' fix it before trying again.',
         | 
| 1087 1096 | 
             
                      _response
         | 
| @@ -1093,29 +1102,29 @@ module Voice | |
| 1093 1102 | 
             
                      _response
         | 
| 1094 1103 | 
             
                    )
         | 
| 1095 1104 | 
             
                  elsif _response.status_code == 403
         | 
| 1096 | 
            -
                    raise  | 
| 1105 | 
            +
                    raise ApiErrorException.new(
         | 
| 1097 1106 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1098 1107 | 
             
                      _response
         | 
| 1099 1108 | 
             
                    )
         | 
| 1100 1109 | 
             
                  elsif _response.status_code == 404
         | 
| 1101 | 
            -
                    raise  | 
| 1110 | 
            +
                    raise ApiErrorException.new(
         | 
| 1102 1111 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1103 1112 | 
             
                      _response
         | 
| 1104 1113 | 
             
                    )
         | 
| 1105 1114 | 
             
                  elsif _response.status_code == 415
         | 
| 1106 | 
            -
                    raise  | 
| 1115 | 
            +
                    raise ApiErrorException.new(
         | 
| 1107 1116 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1108 1117 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1109 1118 | 
             
                      _response
         | 
| 1110 1119 | 
             
                    )
         | 
| 1111 1120 | 
             
                  elsif _response.status_code == 429
         | 
| 1112 | 
            -
                    raise  | 
| 1121 | 
            +
                    raise ApiErrorException.new(
         | 
| 1113 1122 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1114 1123 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1115 1124 | 
             
                      _response
         | 
| 1116 1125 | 
             
                    )
         | 
| 1117 1126 | 
             
                  elsif _response.status_code == 500
         | 
| 1118 | 
            -
                    raise  | 
| 1127 | 
            +
                    raise ApiErrorException.new(
         | 
| 1119 1128 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1120 1129 | 
             
                      _response
         | 
| 1121 1130 | 
             
                    )
         | 
| @@ -1125,18 +1134,18 @@ module Voice | |
| 1125 1134 | 
             
                  # Return appropriate response type.
         | 
| 1126 1135 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1127 1136 | 
             
                  ApiResponse.new(
         | 
| 1128 | 
            -
                    _response, data:  | 
| 1137 | 
            +
                    _response, data: ConferenceState.from_hash(decoded)
         | 
| 1129 1138 | 
             
                  )
         | 
| 1130 1139 | 
             
                end
         | 
| 1131 1140 |  | 
| 1132 | 
            -
                # Modify the conference state
         | 
| 1141 | 
            +
                # Modify the conference state.
         | 
| 1133 1142 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1134 1143 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1135 | 
            -
                # @param [ | 
| 1144 | 
            +
                # @param [ModifyConferenceRequest] body Required parameter: Example:
         | 
| 1136 1145 | 
             
                # @return [void] response from the API call
         | 
| 1137 1146 | 
             
                def modify_conference(account_id,
         | 
| 1138 1147 | 
             
                                      conference_id,
         | 
| 1139 | 
            -
                                      body | 
| 1148 | 
            +
                                      body)
         | 
| 1140 1149 | 
             
                  # Prepare query url.
         | 
| 1141 1150 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1142 1151 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}'
         | 
| @@ -1163,7 +1172,7 @@ module Voice | |
| 1163 1172 |  | 
| 1164 1173 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1165 1174 | 
             
                  if _response.status_code == 400
         | 
| 1166 | 
            -
                    raise  | 
| 1175 | 
            +
                    raise ApiErrorException.new(
         | 
| 1167 1176 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1168 1177 | 
             
                      ' fix it before trying again.',
         | 
| 1169 1178 | 
             
                      _response
         | 
| @@ -1175,29 +1184,29 @@ module Voice | |
| 1175 1184 | 
             
                      _response
         | 
| 1176 1185 | 
             
                    )
         | 
| 1177 1186 | 
             
                  elsif _response.status_code == 403
         | 
| 1178 | 
            -
                    raise  | 
| 1187 | 
            +
                    raise ApiErrorException.new(
         | 
| 1179 1188 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1180 1189 | 
             
                      _response
         | 
| 1181 1190 | 
             
                    )
         | 
| 1182 1191 | 
             
                  elsif _response.status_code == 404
         | 
| 1183 | 
            -
                    raise  | 
| 1192 | 
            +
                    raise ApiErrorException.new(
         | 
| 1184 1193 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1185 1194 | 
             
                      _response
         | 
| 1186 1195 | 
             
                    )
         | 
| 1187 1196 | 
             
                  elsif _response.status_code == 415
         | 
| 1188 | 
            -
                    raise  | 
| 1197 | 
            +
                    raise ApiErrorException.new(
         | 
| 1189 1198 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1190 1199 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1191 1200 | 
             
                      _response
         | 
| 1192 1201 | 
             
                    )
         | 
| 1193 1202 | 
             
                  elsif _response.status_code == 429
         | 
| 1194 | 
            -
                    raise  | 
| 1203 | 
            +
                    raise ApiErrorException.new(
         | 
| 1195 1204 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1196 1205 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1197 1206 | 
             
                      _response
         | 
| 1198 1207 | 
             
                    )
         | 
| 1199 1208 | 
             
                  elsif _response.status_code == 500
         | 
| 1200 | 
            -
                    raise  | 
| 1209 | 
            +
                    raise ApiErrorException.new(
         | 
| 1201 1210 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1202 1211 | 
             
                      _response
         | 
| 1203 1212 | 
             
                    )
         | 
| @@ -1208,16 +1217,16 @@ module Voice | |
| 1208 1217 | 
             
                  ApiResponse.new(_response)
         | 
| 1209 1218 | 
             
                end
         | 
| 1210 1219 |  | 
| 1211 | 
            -
                # Updates settings for a particular conference member
         | 
| 1220 | 
            +
                # Updates settings for a particular conference member.
         | 
| 1212 1221 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1213 1222 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1214 1223 | 
             
                # @param [String] call_id Required parameter: Example:
         | 
| 1215 | 
            -
                # @param [ | 
| 1224 | 
            +
                # @param [ConferenceMemberState] body Required parameter: Example:
         | 
| 1216 1225 | 
             
                # @return [void] response from the API call
         | 
| 1217 1226 | 
             
                def modify_conference_member(account_id,
         | 
| 1218 1227 | 
             
                                             conference_id,
         | 
| 1219 1228 | 
             
                                             call_id,
         | 
| 1220 | 
            -
                                             body | 
| 1229 | 
            +
                                             body)
         | 
| 1221 1230 | 
             
                  # Prepare query url.
         | 
| 1222 1231 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1223 1232 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}/members/{callId}'
         | 
| @@ -1245,7 +1254,7 @@ module Voice | |
| 1245 1254 |  | 
| 1246 1255 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1247 1256 | 
             
                  if _response.status_code == 400
         | 
| 1248 | 
            -
                    raise  | 
| 1257 | 
            +
                    raise ApiErrorException.new(
         | 
| 1249 1258 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1250 1259 | 
             
                      ' fix it before trying again.',
         | 
| 1251 1260 | 
             
                      _response
         | 
| @@ -1257,29 +1266,29 @@ module Voice | |
| 1257 1266 | 
             
                      _response
         | 
| 1258 1267 | 
             
                    )
         | 
| 1259 1268 | 
             
                  elsif _response.status_code == 403
         | 
| 1260 | 
            -
                    raise  | 
| 1269 | 
            +
                    raise ApiErrorException.new(
         | 
| 1261 1270 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1262 1271 | 
             
                      _response
         | 
| 1263 1272 | 
             
                    )
         | 
| 1264 1273 | 
             
                  elsif _response.status_code == 404
         | 
| 1265 | 
            -
                    raise  | 
| 1274 | 
            +
                    raise ApiErrorException.new(
         | 
| 1266 1275 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1267 1276 | 
             
                      _response
         | 
| 1268 1277 | 
             
                    )
         | 
| 1269 1278 | 
             
                  elsif _response.status_code == 415
         | 
| 1270 | 
            -
                    raise  | 
| 1279 | 
            +
                    raise ApiErrorException.new(
         | 
| 1271 1280 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1272 1281 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1273 1282 | 
             
                      _response
         | 
| 1274 1283 | 
             
                    )
         | 
| 1275 1284 | 
             
                  elsif _response.status_code == 429
         | 
| 1276 | 
            -
                    raise  | 
| 1285 | 
            +
                    raise ApiErrorException.new(
         | 
| 1277 1286 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1278 1287 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1279 1288 | 
             
                      _response
         | 
| 1280 1289 | 
             
                    )
         | 
| 1281 1290 | 
             
                  elsif _response.status_code == 500
         | 
| 1282 | 
            -
                    raise  | 
| 1291 | 
            +
                    raise ApiErrorException.new(
         | 
| 1283 1292 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1284 1293 | 
             
                      _response
         | 
| 1285 1294 | 
             
                    )
         | 
| @@ -1290,11 +1299,11 @@ module Voice | |
| 1290 1299 | 
             
                  ApiResponse.new(_response)
         | 
| 1291 1300 | 
             
                end
         | 
| 1292 1301 |  | 
| 1293 | 
            -
                # Returns information about the specified conference member
         | 
| 1302 | 
            +
                # Returns information about the specified conference member.
         | 
| 1294 1303 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1295 1304 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1296 1305 | 
             
                # @param [String] member_id Required parameter: Example:
         | 
| 1297 | 
            -
                # @return [ | 
| 1306 | 
            +
                # @return [ConferenceMemberState] response from the API call
         | 
| 1298 1307 | 
             
                def get_conference_member(account_id,
         | 
| 1299 1308 | 
             
                                          conference_id,
         | 
| 1300 1309 | 
             
                                          member_id)
         | 
| @@ -1324,7 +1333,7 @@ module Voice | |
| 1324 1333 |  | 
| 1325 1334 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1326 1335 | 
             
                  if _response.status_code == 400
         | 
| 1327 | 
            -
                    raise  | 
| 1336 | 
            +
                    raise ApiErrorException.new(
         | 
| 1328 1337 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1329 1338 | 
             
                      ' fix it before trying again.',
         | 
| 1330 1339 | 
             
                      _response
         | 
| @@ -1336,29 +1345,29 @@ module Voice | |
| 1336 1345 | 
             
                      _response
         | 
| 1337 1346 | 
             
                    )
         | 
| 1338 1347 | 
             
                  elsif _response.status_code == 403
         | 
| 1339 | 
            -
                    raise  | 
| 1348 | 
            +
                    raise ApiErrorException.new(
         | 
| 1340 1349 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1341 1350 | 
             
                      _response
         | 
| 1342 1351 | 
             
                    )
         | 
| 1343 1352 | 
             
                  elsif _response.status_code == 404
         | 
| 1344 | 
            -
                    raise  | 
| 1353 | 
            +
                    raise ApiErrorException.new(
         | 
| 1345 1354 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1346 1355 | 
             
                      _response
         | 
| 1347 1356 | 
             
                    )
         | 
| 1348 1357 | 
             
                  elsif _response.status_code == 415
         | 
| 1349 | 
            -
                    raise  | 
| 1358 | 
            +
                    raise ApiErrorException.new(
         | 
| 1350 1359 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1351 1360 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1352 1361 | 
             
                      _response
         | 
| 1353 1362 | 
             
                    )
         | 
| 1354 1363 | 
             
                  elsif _response.status_code == 429
         | 
| 1355 | 
            -
                    raise  | 
| 1364 | 
            +
                    raise ApiErrorException.new(
         | 
| 1356 1365 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1357 1366 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1358 1367 | 
             
                      _response
         | 
| 1359 1368 | 
             
                    )
         | 
| 1360 1369 | 
             
                  elsif _response.status_code == 500
         | 
| 1361 | 
            -
                    raise  | 
| 1370 | 
            +
                    raise ApiErrorException.new(
         | 
| 1362 1371 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1363 1372 | 
             
                      _response
         | 
| 1364 1373 | 
             
                    )
         | 
| @@ -1368,7 +1377,7 @@ module Voice | |
| 1368 1377 | 
             
                  # Return appropriate response type.
         | 
| 1369 1378 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1370 1379 | 
             
                  ApiResponse.new(
         | 
| 1371 | 
            -
                    _response, data:  | 
| 1380 | 
            +
                    _response, data: ConferenceMemberState.from_hash(decoded)
         | 
| 1372 1381 | 
             
                  )
         | 
| 1373 1382 | 
             
                end
         | 
| 1374 1383 |  | 
| @@ -1376,9 +1385,9 @@ module Voice | |
| 1376 1385 | 
             
                # took place during the specified conference
         | 
| 1377 1386 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1378 1387 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1379 | 
            -
                # @return [List of  | 
| 1380 | 
            -
                def  | 
| 1381 | 
            -
             | 
| 1388 | 
            +
                # @return [List of ConferenceRecordingMetadata] response from the API call
         | 
| 1389 | 
            +
                def get_conference_recordings(account_id,
         | 
| 1390 | 
            +
                                              conference_id)
         | 
| 1382 1391 | 
             
                  # Prepare query url.
         | 
| 1383 1392 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1384 1393 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings'
         | 
| @@ -1404,7 +1413,7 @@ module Voice | |
| 1404 1413 |  | 
| 1405 1414 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1406 1415 | 
             
                  if _response.status_code == 400
         | 
| 1407 | 
            -
                    raise  | 
| 1416 | 
            +
                    raise ApiErrorException.new(
         | 
| 1408 1417 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1409 1418 | 
             
                      ' fix it before trying again.',
         | 
| 1410 1419 | 
             
                      _response
         | 
| @@ -1416,29 +1425,29 @@ module Voice | |
| 1416 1425 | 
             
                      _response
         | 
| 1417 1426 | 
             
                    )
         | 
| 1418 1427 | 
             
                  elsif _response.status_code == 403
         | 
| 1419 | 
            -
                    raise  | 
| 1428 | 
            +
                    raise ApiErrorException.new(
         | 
| 1420 1429 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1421 1430 | 
             
                      _response
         | 
| 1422 1431 | 
             
                    )
         | 
| 1423 1432 | 
             
                  elsif _response.status_code == 404
         | 
| 1424 | 
            -
                    raise  | 
| 1433 | 
            +
                    raise ApiErrorException.new(
         | 
| 1425 1434 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1426 1435 | 
             
                      _response
         | 
| 1427 1436 | 
             
                    )
         | 
| 1428 1437 | 
             
                  elsif _response.status_code == 415
         | 
| 1429 | 
            -
                    raise  | 
| 1438 | 
            +
                    raise ApiErrorException.new(
         | 
| 1430 1439 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1431 1440 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1432 1441 | 
             
                      _response
         | 
| 1433 1442 | 
             
                    )
         | 
| 1434 1443 | 
             
                  elsif _response.status_code == 429
         | 
| 1435 | 
            -
                    raise  | 
| 1444 | 
            +
                    raise ApiErrorException.new(
         | 
| 1436 1445 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1437 1446 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1438 1447 | 
             
                      _response
         | 
| 1439 1448 | 
             
                    )
         | 
| 1440 1449 | 
             
                  elsif _response.status_code == 500
         | 
| 1441 | 
            -
                    raise  | 
| 1450 | 
            +
                    raise ApiErrorException.new(
         | 
| 1442 1451 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1443 1452 | 
             
                      _response
         | 
| 1444 1453 | 
             
                    )
         | 
| @@ -1449,18 +1458,18 @@ module Voice | |
| 1449 1458 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1450 1459 | 
             
                  ApiResponse.new(
         | 
| 1451 1460 | 
             
                    _response,
         | 
| 1452 | 
            -
                    data: decoded.map { |element|  | 
| 1461 | 
            +
                    data: decoded.map { |element| ConferenceRecordingMetadata.from_hash(element) }
         | 
| 1453 1462 | 
             
                  )
         | 
| 1454 1463 | 
             
                end
         | 
| 1455 1464 |  | 
| 1456 | 
            -
                # Returns metadata for the specified recording
         | 
| 1465 | 
            +
                # Returns metadata for the specified recording.
         | 
| 1457 1466 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1458 1467 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1459 1468 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 1460 | 
            -
                # @return [ | 
| 1461 | 
            -
                def  | 
| 1462 | 
            -
             | 
| 1463 | 
            -
             | 
| 1469 | 
            +
                # @return [CallRecordingMetadata] response from the API call
         | 
| 1470 | 
            +
                def get_conference_recording(account_id,
         | 
| 1471 | 
            +
                                             conference_id,
         | 
| 1472 | 
            +
                                             recording_id)
         | 
| 1464 1473 | 
             
                  # Prepare query url.
         | 
| 1465 1474 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1466 1475 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}'
         | 
| @@ -1487,7 +1496,7 @@ module Voice | |
| 1487 1496 |  | 
| 1488 1497 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1489 1498 | 
             
                  if _response.status_code == 400
         | 
| 1490 | 
            -
                    raise  | 
| 1499 | 
            +
                    raise ApiErrorException.new(
         | 
| 1491 1500 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1492 1501 | 
             
                      ' fix it before trying again.',
         | 
| 1493 1502 | 
             
                      _response
         | 
| @@ -1499,29 +1508,29 @@ module Voice | |
| 1499 1508 | 
             
                      _response
         | 
| 1500 1509 | 
             
                    )
         | 
| 1501 1510 | 
             
                  elsif _response.status_code == 403
         | 
| 1502 | 
            -
                    raise  | 
| 1511 | 
            +
                    raise ApiErrorException.new(
         | 
| 1503 1512 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1504 1513 | 
             
                      _response
         | 
| 1505 1514 | 
             
                    )
         | 
| 1506 1515 | 
             
                  elsif _response.status_code == 404
         | 
| 1507 | 
            -
                    raise  | 
| 1516 | 
            +
                    raise ApiErrorException.new(
         | 
| 1508 1517 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1509 1518 | 
             
                      _response
         | 
| 1510 1519 | 
             
                    )
         | 
| 1511 1520 | 
             
                  elsif _response.status_code == 415
         | 
| 1512 | 
            -
                    raise  | 
| 1521 | 
            +
                    raise ApiErrorException.new(
         | 
| 1513 1522 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1514 1523 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1515 1524 | 
             
                      _response
         | 
| 1516 1525 | 
             
                    )
         | 
| 1517 1526 | 
             
                  elsif _response.status_code == 429
         | 
| 1518 | 
            -
                    raise  | 
| 1527 | 
            +
                    raise ApiErrorException.new(
         | 
| 1519 1528 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1520 1529 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1521 1530 | 
             
                      _response
         | 
| 1522 1531 | 
             
                    )
         | 
| 1523 1532 | 
             
                  elsif _response.status_code == 500
         | 
| 1524 | 
            -
                    raise  | 
| 1533 | 
            +
                    raise ApiErrorException.new(
         | 
| 1525 1534 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1526 1535 | 
             
                      _response
         | 
| 1527 1536 | 
             
                    )
         | 
| @@ -1531,18 +1540,18 @@ module Voice | |
| 1531 1540 | 
             
                  # Return appropriate response type.
         | 
| 1532 1541 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1533 1542 | 
             
                  ApiResponse.new(
         | 
| 1534 | 
            -
                    _response, data:  | 
| 1543 | 
            +
                    _response, data: CallRecordingMetadata.from_hash(decoded)
         | 
| 1535 1544 | 
             
                  )
         | 
| 1536 1545 | 
             
                end
         | 
| 1537 1546 |  | 
| 1538 | 
            -
                # Downloads the specified recording
         | 
| 1547 | 
            +
                # Downloads the specified recording.
         | 
| 1539 1548 | 
             
                # @param [String] account_id Required parameter: Example:
         | 
| 1540 1549 | 
             
                # @param [String] conference_id Required parameter: Example:
         | 
| 1541 1550 | 
             
                # @param [String] recording_id Required parameter: Example:
         | 
| 1542 | 
            -
                # @return [ | 
| 1543 | 
            -
                def  | 
| 1544 | 
            -
             | 
| 1545 | 
            -
             | 
| 1551 | 
            +
                # @return [Mixed] response from the API call
         | 
| 1552 | 
            +
                def get_download_conference_recording(account_id,
         | 
| 1553 | 
            +
                                                      conference_id,
         | 
| 1554 | 
            +
                                                      recording_id)
         | 
| 1546 1555 | 
             
                  # Prepare query url.
         | 
| 1547 1556 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1548 1557 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}/media'
         | 
| @@ -1554,16 +1563,22 @@ module Voice | |
| 1554 1563 | 
             
                  )
         | 
| 1555 1564 | 
             
                  _query_url = APIHelper.clean_url _query_builder
         | 
| 1556 1565 |  | 
| 1566 | 
            +
                  # Prepare headers.
         | 
| 1567 | 
            +
                  _headers = {
         | 
| 1568 | 
            +
                    'accept' => 'application/json'
         | 
| 1569 | 
            +
                  }
         | 
| 1570 | 
            +
             | 
| 1557 1571 | 
             
                  # Prepare and execute HttpRequest.
         | 
| 1558 1572 | 
             
                  _request = config.http_client.get(
         | 
| 1559 | 
            -
                    _query_url
         | 
| 1573 | 
            +
                    _query_url,
         | 
| 1574 | 
            +
                    headers: _headers
         | 
| 1560 1575 | 
             
                  )
         | 
| 1561 1576 | 
             
                  VoiceBasicAuth.apply(config, _request)
         | 
| 1562 | 
            -
                  _response = execute_request(_request | 
| 1577 | 
            +
                  _response = execute_request(_request)
         | 
| 1563 1578 |  | 
| 1564 1579 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1565 1580 | 
             
                  if _response.status_code == 400
         | 
| 1566 | 
            -
                    raise  | 
| 1581 | 
            +
                    raise ApiErrorException.new(
         | 
| 1567 1582 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1568 1583 | 
             
                      ' fix it before trying again.',
         | 
| 1569 1584 | 
             
                      _response
         | 
| @@ -1575,29 +1590,29 @@ module Voice | |
| 1575 1590 | 
             
                      _response
         | 
| 1576 1591 | 
             
                    )
         | 
| 1577 1592 | 
             
                  elsif _response.status_code == 403
         | 
| 1578 | 
            -
                    raise  | 
| 1593 | 
            +
                    raise ApiErrorException.new(
         | 
| 1579 1594 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1580 1595 | 
             
                      _response
         | 
| 1581 1596 | 
             
                    )
         | 
| 1582 1597 | 
             
                  elsif _response.status_code == 404
         | 
| 1583 | 
            -
                    raise  | 
| 1598 | 
            +
                    raise ApiErrorException.new(
         | 
| 1584 1599 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1585 1600 | 
             
                      _response
         | 
| 1586 1601 | 
             
                    )
         | 
| 1587 1602 | 
             
                  elsif _response.status_code == 415
         | 
| 1588 | 
            -
                    raise  | 
| 1603 | 
            +
                    raise ApiErrorException.new(
         | 
| 1589 1604 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1590 1605 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1591 1606 | 
             
                      _response
         | 
| 1592 1607 | 
             
                    )
         | 
| 1593 1608 | 
             
                  elsif _response.status_code == 429
         | 
| 1594 | 
            -
                    raise  | 
| 1609 | 
            +
                    raise ApiErrorException.new(
         | 
| 1595 1610 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1596 1611 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1597 1612 | 
             
                      _response
         | 
| 1598 1613 | 
             
                    )
         | 
| 1599 1614 | 
             
                  elsif _response.status_code == 500
         | 
| 1600 | 
            -
                    raise  | 
| 1615 | 
            +
                    raise ApiErrorException.new(
         | 
| 1601 1616 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1602 1617 | 
             
                      _response
         | 
| 1603 1618 | 
             
                    )
         | 
| @@ -1605,8 +1620,11 @@ module Voice | |
| 1605 1620 | 
             
                  validate_response(_response)
         | 
| 1606 1621 |  | 
| 1607 1622 | 
             
                  # Return appropriate response type.
         | 
| 1623 | 
            +
                  decoded = APIHelper.json_deserialize(_response.raw_body) unless
         | 
| 1624 | 
            +
                    _response.raw_body.nil? ||
         | 
| 1625 | 
            +
                    _response.raw_body.to_s.strip.empty?
         | 
| 1608 1626 | 
             
                  ApiResponse.new(
         | 
| 1609 | 
            -
                    _response, data:  | 
| 1627 | 
            +
                    _response, data: decoded
         | 
| 1610 1628 | 
             
                  )
         | 
| 1611 1629 | 
             
                end
         | 
| 1612 1630 |  | 
| @@ -1619,12 +1637,12 @@ module Voice | |
| 1619 1637 | 
             
                # @param [String] to Optional parameter: Example:
         | 
| 1620 1638 | 
             
                # @param [String] min_start_time Optional parameter: Example:
         | 
| 1621 1639 | 
             
                # @param [String] max_start_time Optional parameter: Example:
         | 
| 1622 | 
            -
                # @return [List of  | 
| 1623 | 
            -
                def  | 
| 1624 | 
            -
             | 
| 1625 | 
            -
             | 
| 1626 | 
            -
             | 
| 1627 | 
            -
             | 
| 1640 | 
            +
                # @return [List of CallRecordingMetadata] response from the API call
         | 
| 1641 | 
            +
                def get_query_call_recordings(account_id,
         | 
| 1642 | 
            +
                                              from: nil,
         | 
| 1643 | 
            +
                                              to: nil,
         | 
| 1644 | 
            +
                                              min_start_time: nil,
         | 
| 1645 | 
            +
                                              max_start_time: nil)
         | 
| 1628 1646 | 
             
                  # Prepare query url.
         | 
| 1629 1647 | 
             
                  _query_builder = config.get_base_uri(Server::VOICEDEFAULT)
         | 
| 1630 1648 | 
             
                  _query_builder << '/api/v2/accounts/{accountId}/recordings'
         | 
| @@ -1656,7 +1674,7 @@ module Voice | |
| 1656 1674 |  | 
| 1657 1675 | 
             
                  # Validate response against endpoint and global error codes.
         | 
| 1658 1676 | 
             
                  if _response.status_code == 400
         | 
| 1659 | 
            -
                    raise  | 
| 1677 | 
            +
                    raise ApiErrorException.new(
         | 
| 1660 1678 | 
             
                      'Something\'s not quite right... Your request is invalid. Please' \
         | 
| 1661 1679 | 
             
                      ' fix it before trying again.',
         | 
| 1662 1680 | 
             
                      _response
         | 
| @@ -1668,29 +1686,29 @@ module Voice | |
| 1668 1686 | 
             
                      _response
         | 
| 1669 1687 | 
             
                    )
         | 
| 1670 1688 | 
             
                  elsif _response.status_code == 403
         | 
| 1671 | 
            -
                    raise  | 
| 1689 | 
            +
                    raise ApiErrorException.new(
         | 
| 1672 1690 | 
             
                      'User unauthorized to perform this action.',
         | 
| 1673 1691 | 
             
                      _response
         | 
| 1674 1692 | 
             
                    )
         | 
| 1675 1693 | 
             
                  elsif _response.status_code == 404
         | 
| 1676 | 
            -
                    raise  | 
| 1694 | 
            +
                    raise ApiErrorException.new(
         | 
| 1677 1695 | 
             
                      'The resource specified cannot be found or does not belong to you.',
         | 
| 1678 1696 | 
             
                      _response
         | 
| 1679 1697 | 
             
                    )
         | 
| 1680 1698 | 
             
                  elsif _response.status_code == 415
         | 
| 1681 | 
            -
                    raise  | 
| 1699 | 
            +
                    raise ApiErrorException.new(
         | 
| 1682 1700 | 
             
                      'We don\'t support that media type. If a request body is required,' \
         | 
| 1683 1701 | 
             
                      ' please send it to us as `application/json`.',
         | 
| 1684 1702 | 
             
                      _response
         | 
| 1685 1703 | 
             
                    )
         | 
| 1686 1704 | 
             
                  elsif _response.status_code == 429
         | 
| 1687 | 
            -
                    raise  | 
| 1705 | 
            +
                    raise ApiErrorException.new(
         | 
| 1688 1706 | 
             
                      'You\'re sending requests to this endpoint too frequently. Please' \
         | 
| 1689 1707 | 
             
                      ' slow your request rate down and try again.',
         | 
| 1690 1708 | 
             
                      _response
         | 
| 1691 1709 | 
             
                    )
         | 
| 1692 1710 | 
             
                  elsif _response.status_code == 500
         | 
| 1693 | 
            -
                    raise  | 
| 1711 | 
            +
                    raise ApiErrorException.new(
         | 
| 1694 1712 | 
             
                      'Something unexpected happened. Please try again.',
         | 
| 1695 1713 | 
             
                      _response
         | 
| 1696 1714 | 
             
                    )
         | 
| @@ -1701,7 +1719,7 @@ module Voice | |
| 1701 1719 | 
             
                  decoded = APIHelper.json_deserialize(_response.raw_body)
         | 
| 1702 1720 | 
             
                  ApiResponse.new(
         | 
| 1703 1721 | 
             
                    _response,
         | 
| 1704 | 
            -
                    data: decoded.map { |element|  | 
| 1722 | 
            +
                    data: decoded.map { |element| CallRecordingMetadata.from_hash(element) }
         | 
| 1705 1723 | 
             
                  )
         | 
| 1706 1724 | 
             
                end
         | 
| 1707 1725 | 
             
              end
         |