bandwidth-sdk 10.3.0 → 11.0.0.pre.beta.1.1
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/Gemfile +9 -0
- data/Gemfile.lock +76 -0
- data/README.md +197 -139
- data/Rakefile +22 -0
- data/bandwidth-sdk.gemspec +40 -0
- data/bandwidth.yml +5551 -0
- data/docs/AccountStatistics.md +20 -0
- data/docs/AnswerCallback.md +44 -0
- data/docs/BridgeCompleteCallback.md +48 -0
- data/docs/BridgeTargetCompleteCallback.md +42 -0
- data/docs/CallDirectionEnum.md +15 -0
- data/docs/CallRecordingMetadata.md +52 -0
- data/docs/CallState.md +52 -0
- data/docs/CallStateEnum.md +15 -0
- data/docs/CallbackMethodEnum.md +15 -0
- data/docs/CallsApi.md +304 -0
- data/docs/CodeRequest.md +28 -0
- data/docs/Conference.md +32 -0
- data/docs/ConferenceCompletedCallback.md +26 -0
- data/docs/ConferenceCreatedCallback.md +26 -0
- data/docs/ConferenceMember.md +28 -0
- data/docs/ConferenceMemberExitCallback.md +32 -0
- data/docs/ConferenceMemberJoinCallback.md +32 -0
- data/docs/ConferenceRecordingAvailableCallback.md +44 -0
- data/docs/ConferenceRecordingMetadata.md +38 -0
- data/docs/ConferenceRedirectCallback.md +26 -0
- data/docs/ConferenceStateEnum.md +15 -0
- data/docs/ConferencesApi.md +688 -0
- data/docs/CreateCall.md +54 -0
- data/docs/CreateCallResponse.md +58 -0
- data/docs/CreateLookupResponse.md +20 -0
- data/docs/CreateMessageRequestError.md +22 -0
- data/docs/CreateParticipantRequest.md +24 -0
- data/docs/CreateParticipantResponse.md +20 -0
- data/docs/DeferredResult.md +20 -0
- data/docs/DeviceApiVersionEnum.md +15 -0
- data/docs/DisconenctCallback.md +50 -0
- data/docs/DisconnectCallback.md +50 -0
- data/docs/Diversion.md +30 -0
- data/docs/DtmfCallback.md +50 -0
- data/docs/FieldError.md +20 -0
- data/docs/FileFormatEnum.md +15 -0
- data/docs/ForbiddenRequest.md +18 -0
- data/docs/GatherCallback.md +52 -0
- data/docs/InboundMessageCallback.md +26 -0
- data/docs/InboundMessageCallbackMessage.md +40 -0
- data/docs/InitiateCallback.md +40 -0
- data/docs/ListMessageDirectionEnum.md +15 -0
- data/docs/ListMessageItem.md +48 -0
- data/docs/LookupRequest.md +18 -0
- data/docs/LookupResult.md +34 -0
- data/docs/LookupStatus.md +24 -0
- data/docs/LookupStatusEnum.md +15 -0
- data/docs/MFAApi.md +226 -0
- data/docs/MachineDetectionCompleteCallback.md +44 -0
- data/docs/MachineDetectionConfiguration.md +46 -0
- data/docs/MachineDetectionModeEnum.md +15 -0
- data/docs/Media.md +22 -0
- data/docs/MediaApi.md +307 -0
- data/docs/Message.md +42 -0
- data/docs/MessageDeliveredCallback.md +26 -0
- data/docs/MessageDeliveredCallbackMessage.md +40 -0
- data/docs/MessageDirectionEnum.md +15 -0
- data/docs/MessageFailedCallback.md +28 -0
- data/docs/MessageFailedCallbackMessage.md +40 -0
- data/docs/MessageRequest.md +32 -0
- data/docs/MessageSendingCallback.md +26 -0
- data/docs/MessageSendingCallbackMessage.md +40 -0
- data/docs/MessageStatusEnum.md +15 -0
- data/docs/MessageTypeEnum.md +15 -0
- data/docs/MessagesApi.md +179 -0
- data/docs/MessagesList.md +22 -0
- data/docs/MessagingCodeResponse.md +18 -0
- data/docs/MessagingRequestError.md +20 -0
- data/docs/MfaForbiddenRequestError.md +18 -0
- data/docs/MfaRequestError.md +20 -0
- data/docs/MfaUnauthorizedRequestError.md +18 -0
- data/docs/PageInfo.md +24 -0
- data/docs/Participant.md +30 -0
- data/docs/ParticipantSubscription.md +20 -0
- data/docs/ParticipantsApi.md +227 -0
- data/docs/PhoneNumberLookupApi.md +153 -0
- data/docs/PriorityEnum.md +15 -0
- data/docs/PublishPermissionsEnum.md +15 -0
- data/docs/RecordingAvailableCallback.md +60 -0
- data/docs/RecordingCompleteCallback.md +60 -0
- data/docs/RecordingStateEnum.md +15 -0
- data/docs/RecordingsApi.md +758 -0
- data/docs/RedirectCallback.md +48 -0
- data/docs/RedirectMethodEnum.md +15 -0
- data/docs/RequestError.md +20 -0
- data/docs/Session.md +20 -0
- data/docs/SessionsApi.md +605 -0
- data/docs/StatisticsApi.md +78 -0
- data/docs/StirShaken.md +22 -0
- data/docs/Subscriptions.md +20 -0
- data/docs/Tag.md +20 -0
- data/docs/TnLookupRequestError.md +18 -0
- data/docs/TranscribeRecording.md +28 -0
- data/docs/Transcription.md +20 -0
- data/docs/TranscriptionAvailableCallback.md +58 -0
- data/docs/TranscriptionList.md +18 -0
- data/docs/TranscriptionMetadata.md +24 -0
- data/docs/TransferAnswerCallback.md +46 -0
- data/docs/TransferCompleteCallback.md +52 -0
- data/docs/TransferDisconnectCallback.md +56 -0
- data/docs/UnauthorizedRequest.md +18 -0
- data/docs/UpdateCall.md +36 -0
- data/docs/UpdateCallRecording.md +18 -0
- data/docs/UpdateConference.md +34 -0
- data/docs/UpdateConferenceMember.md +22 -0
- data/docs/VerifyCodeRequest.md +24 -0
- data/docs/VerifyCodeResponse.md +18 -0
- data/docs/VoiceApiError.md +22 -0
- data/docs/VoiceCodeResponse.md +18 -0
- data/git_push.sh +57 -0
- data/lib/bandwidth-sdk/api/calls_api.rb +325 -0
- data/lib/bandwidth-sdk/api/conferences_api.rb +717 -0
- data/lib/bandwidth-sdk/api/media_api.rb +312 -0
- data/lib/bandwidth-sdk/api/messages_api.rb +198 -0
- data/lib/bandwidth-sdk/api/mfa_api.rb +244 -0
- data/lib/bandwidth-sdk/api/phone_number_lookup_api.rb +165 -0
- data/lib/bandwidth-sdk/api/recordings_api.rb +782 -0
- data/lib/bandwidth-sdk/api/statistics_api.rb +85 -0
- data/lib/bandwidth-sdk/api_client.rb +428 -0
- data/lib/bandwidth-sdk/api_error.rb +58 -0
- data/lib/bandwidth-sdk/configuration.rb +589 -0
- data/lib/bandwidth-sdk/models/account_statistics.rb +230 -0
- data/lib/bandwidth-sdk/models/answer_callback.rb +376 -0
- data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +397 -0
- data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +365 -0
- data/lib/bandwidth-sdk/models/bxml/bxml.rb +13 -0
- data/lib/bandwidth-sdk/models/bxml/nestable_verb.rb +50 -0
- data/lib/bandwidth-sdk/models/bxml/response.rb +13 -0
- data/lib/bandwidth-sdk/models/bxml/root.rb +47 -0
- data/lib/bandwidth-sdk/models/bxml/verb.rb +51 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/bridge.rb +30 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/conference.rb +31 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/forward.rb +22 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/gather.rb +44 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/hangup.rb +12 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/pause.rb +17 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/pause_recording.rb +12 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/phone_number.rb +28 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/play_audio.rb +19 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/record.rb +34 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/redirect.rb +25 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/resume_recording.rb +12 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/ring.rb +18 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/send_dtmf.rb +19 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/sip_uri.rb +29 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/speak_sentence.rb +27 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/start_gather.rb +21 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/start_recording.rb +26 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/start_stream.rb +30 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/stop_gather.rb +12 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/stop_recording.rb +12 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/stop_stream.rb +17 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/stream_param.rb +18 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/tag.rb +13 -0
- data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +36 -0
- data/lib/bandwidth-sdk/models/call_direction_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/call_recording_metadata.rb +411 -0
- data/lib/bandwidth-sdk/models/call_state.rb +423 -0
- data/lib/bandwidth-sdk/models/call_state_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/callback_method_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/code_request.rb +427 -0
- data/lib/bandwidth-sdk/models/conference.rb +320 -0
- data/lib/bandwidth-sdk/models/conference_completed_callback.rb +262 -0
- data/lib/bandwidth-sdk/models/conference_created_callback.rb +262 -0
- data/lib/bandwidth-sdk/models/conference_member.rb +273 -0
- data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +292 -0
- data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +292 -0
- data/lib/bandwidth-sdk/models/conference_recording_available_callback.rb +374 -0
- data/lib/bandwidth-sdk/models/conference_recording_metadata.rb +342 -0
- data/lib/bandwidth-sdk/models/conference_redirect_callback.rb +262 -0
- data/lib/bandwidth-sdk/models/conference_state_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/create_call.rb +651 -0
- data/lib/bandwidth-sdk/models/create_call_response.rb +552 -0
- data/lib/bandwidth-sdk/models/create_lookup_response.rb +252 -0
- data/lib/bandwidth-sdk/models/create_message_request_error.rb +249 -0
- data/lib/bandwidth-sdk/models/deferred_result.rb +228 -0
- data/lib/bandwidth-sdk/models/disconenct_callback.rb +407 -0
- data/lib/bandwidth-sdk/models/disconnect_callback.rb +407 -0
- data/lib/bandwidth-sdk/models/diversion.rb +280 -0
- data/lib/bandwidth-sdk/models/dtmf_callback.rb +405 -0
- data/lib/bandwidth-sdk/models/field_error.rb +230 -0
- data/lib/bandwidth-sdk/models/file_format_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/gather_callback.rb +415 -0
- data/lib/bandwidth-sdk/models/inbound_message_callback.rb +281 -0
- data/lib/bandwidth-sdk/models/inbound_message_callback_message.rb +399 -0
- data/lib/bandwidth-sdk/models/initiate_callback.rb +350 -0
- data/lib/bandwidth-sdk/models/list_message_direction_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/list_message_item.rb +394 -0
- data/lib/bandwidth-sdk/models/lookup_request.rb +227 -0
- data/lib/bandwidth-sdk/models/lookup_result.rb +301 -0
- data/lib/bandwidth-sdk/models/lookup_status.rb +276 -0
- data/lib/bandwidth-sdk/models/lookup_status_enum.rb +42 -0
- data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +376 -0
- data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +500 -0
- data/lib/bandwidth-sdk/models/machine_detection_mode_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/media.rb +237 -0
- data/lib/bandwidth-sdk/models/message.rb +376 -0
- data/lib/bandwidth-sdk/models/message_delivered_callback.rb +281 -0
- data/lib/bandwidth-sdk/models/message_delivered_callback_message.rb +404 -0
- data/lib/bandwidth-sdk/models/message_direction_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/message_failed_callback.rb +295 -0
- data/lib/bandwidth-sdk/models/message_failed_callback_message.rb +409 -0
- data/lib/bandwidth-sdk/models/message_request.rb +355 -0
- data/lib/bandwidth-sdk/models/message_sending_callback.rb +281 -0
- data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +409 -0
- data/lib/bandwidth-sdk/models/message_status_enum.rb +46 -0
- data/lib/bandwidth-sdk/models/message_type_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/messages_list.rb +240 -0
- data/lib/bandwidth-sdk/models/messaging_code_response.rb +220 -0
- data/lib/bandwidth-sdk/models/messaging_request_error.rb +238 -0
- data/lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb +220 -0
- data/lib/bandwidth-sdk/models/mfa_request_error.rb +230 -0
- data/lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb +220 -0
- data/lib/bandwidth-sdk/models/page_info.rb +250 -0
- data/lib/bandwidth-sdk/models/priority_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/recording_available_callback.rb +454 -0
- data/lib/bandwidth-sdk/models/recording_complete_callback.rb +455 -0
- data/lib/bandwidth-sdk/models/recording_state_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/redirect_callback.rb +395 -0
- data/lib/bandwidth-sdk/models/redirect_method_enum.rb +40 -0
- data/lib/bandwidth-sdk/models/stir_shaken.rb +240 -0
- data/lib/bandwidth-sdk/models/tag.rb +228 -0
- data/lib/bandwidth-sdk/models/tn_lookup_request_error.rb +220 -0
- data/lib/bandwidth-sdk/models/transcribe_recording.rb +354 -0
- data/lib/bandwidth-sdk/models/transcription.rb +230 -0
- data/lib/bandwidth-sdk/models/transcription_available_callback.rb +443 -0
- data/lib/bandwidth-sdk/models/transcription_list.rb +221 -0
- data/lib/bandwidth-sdk/models/transcription_metadata.rb +251 -0
- data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +385 -0
- data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +417 -0
- data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +437 -0
- data/lib/bandwidth-sdk/models/update_call.rb +411 -0
- data/lib/bandwidth-sdk/models/update_call_recording.rb +246 -0
- data/lib/bandwidth-sdk/models/update_conference.rb +394 -0
- data/lib/bandwidth-sdk/models/update_conference_member.rb +243 -0
- data/lib/bandwidth-sdk/models/verify_code_request.rb +342 -0
- data/lib/bandwidth-sdk/models/verify_code_response.rb +220 -0
- data/lib/bandwidth-sdk/models/voice_api_error.rb +238 -0
- data/lib/bandwidth-sdk/models/voice_code_response.rb +220 -0
- data/lib/bandwidth-sdk/version.rb +15 -0
- data/lib/bandwidth-sdk.rb +166 -0
- data/openapi-config.yml +11 -0
- data/ruby-notes.md +15 -0
- data/spec/call_utils.rb +74 -0
- data/spec/fixtures/ruby_cat.jpeg +0 -0
- data/spec/integration/calls_api_integration_spec.rb +181 -0
- data/spec/integration/conferences_api_integration_spec.rb +163 -0
- data/spec/integration/media_api_integration_spec.rb +86 -0
- data/spec/integration/messages_api_integration_spec.rb +125 -0
- data/spec/integration/mfa_api_integration_spec.rb +109 -0
- data/spec/integration/phone_number_lookup_api_integration_spec.rb +92 -0
- data/spec/integration/recordings_api_integration_spec.rb +219 -0
- data/spec/integration/statistics_api_integration_spec.rb +57 -0
- data/spec/spec_helper.rb +154 -0
- data/spec/unit/api/calls_api_spec.rb +89 -0
- data/spec/unit/api/conferences_api_spec.rb +163 -0
- data/spec/unit/api/media_api_spec.rb +90 -0
- data/spec/unit/api/messages_api_spec.rb +73 -0
- data/spec/unit/api/mfa_api_spec.rb +74 -0
- data/spec/unit/api/phone_number_lookup_api_spec.rb +61 -0
- data/spec/unit/api/recordings_api_spec.rb +177 -0
- data/spec/unit/api/statistics_api_spec.rb +47 -0
- data/spec/unit/models/account_statistics_spec.rb +40 -0
- data/spec/unit/models/answer_callback_spec.rb +112 -0
- data/spec/unit/models/bridge_complete_callback_spec.rb +124 -0
- data/spec/unit/models/bridge_target_complete_callback_spec.rb +106 -0
- data/spec/unit/models/bxml/bxml_spec.rb +18 -0
- data/spec/unit/models/bxml/nestable_verb_spec.rb +13 -0
- data/spec/unit/models/bxml/response_spec.rb +18 -0
- data/spec/unit/models/bxml/verb_spec.rb +28 -0
- data/spec/unit/models/bxml/verbs/bridge_spec.rb +60 -0
- data/spec/unit/models/bxml/verbs/conference_spec.rb +60 -0
- data/spec/unit/models/bxml/verbs/forward_spec.rb +46 -0
- data/spec/unit/models/bxml/verbs/gather_spec.rb +88 -0
- data/spec/unit/models/bxml/verbs/hangup_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/pause_recording_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/pause_spec.rb +36 -0
- data/spec/unit/models/bxml/verbs/phone_number_spec.rb +56 -0
- data/spec/unit/models/bxml/verbs/play_audio_spec.rb +38 -0
- data/spec/unit/models/bxml/verbs/record_spec.rb +70 -0
- data/spec/unit/models/bxml/verbs/redirect_spec.rb +52 -0
- data/spec/unit/models/bxml/verbs/resume_recording_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/ring_spec.rb +38 -0
- data/spec/unit/models/bxml/verbs/send_dtmf_spec.rb +38 -0
- data/spec/unit/models/bxml/verbs/sip_uri_spec.rb +58 -0
- data/spec/unit/models/bxml/verbs/speak_sentence_spec.rb +40 -0
- data/spec/unit/models/bxml/verbs/start_gather_spec.rb +44 -0
- data/spec/unit/models/bxml/verbs/start_recording_spec.rb +54 -0
- data/spec/unit/models/bxml/verbs/start_stream_spec.rb +74 -0
- data/spec/unit/models/bxml/verbs/stop_gather_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/stop_recording_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/stop_stream_spec.rb +36 -0
- data/spec/unit/models/bxml/verbs/stream_param_spec.rb +38 -0
- data/spec/unit/models/bxml/verbs/tag_spec.rb +18 -0
- data/spec/unit/models/bxml/verbs/transfer_spec.rb +86 -0
- data/spec/unit/models/call_direction_enum_spec.rb +28 -0
- data/spec/unit/models/call_recording_metadata_spec.rb +136 -0
- data/spec/unit/models/call_state_enum_spec.rb +28 -0
- data/spec/unit/models/call_state_spec.rb +136 -0
- data/spec/unit/models/callback_method_enum_spec.rb +28 -0
- data/spec/unit/models/code_request_spec.rb +64 -0
- data/spec/unit/models/conference_completed_callback_spec.rb +58 -0
- data/spec/unit/models/conference_created_callback_spec.rb +58 -0
- data/spec/unit/models/conference_member_exit_callback_spec.rb +76 -0
- data/spec/unit/models/conference_member_join_callback_spec.rb +76 -0
- data/spec/unit/models/conference_member_spec.rb +64 -0
- data/spec/unit/models/conference_recording_available_callback_spec.rb +112 -0
- data/spec/unit/models/conference_recording_metadata_spec.rb +94 -0
- data/spec/unit/models/conference_redirect_callback_spec.rb +58 -0
- data/spec/unit/models/conference_spec.rb +76 -0
- data/spec/unit/models/conference_state_enum_spec.rb +28 -0
- data/spec/unit/models/create_call_response_spec.rb +154 -0
- data/spec/unit/models/create_call_spec.rb +142 -0
- data/spec/unit/models/create_lookup_response_spec.rb +40 -0
- data/spec/unit/models/create_message_request_error_spec.rb +46 -0
- data/spec/unit/models/deferred_result_spec.rb +40 -0
- data/spec/unit/models/disconnect_callback_spec.rb +130 -0
- data/spec/unit/models/diversion_spec.rb +70 -0
- data/spec/unit/models/dtmf_callback_spec.rb +130 -0
- data/spec/unit/models/field_error_spec.rb +40 -0
- data/spec/unit/models/file_format_enum_spec.rb +28 -0
- data/spec/unit/models/gather_callback_spec.rb +136 -0
- data/spec/unit/models/inbound_message_callback_message_spec.rb +100 -0
- data/spec/unit/models/inbound_message_callback_spec.rb +58 -0
- data/spec/unit/models/initiate_callback_spec.rb +100 -0
- data/spec/unit/models/list_message_direction_enum_spec.rb +28 -0
- data/spec/unit/models/list_message_item_spec.rb +124 -0
- data/spec/unit/models/lookup_request_spec.rb +34 -0
- data/spec/unit/models/lookup_result_spec.rb +82 -0
- data/spec/unit/models/lookup_status_enum_spec.rb +28 -0
- data/spec/unit/models/lookup_status_spec.rb +52 -0
- data/spec/unit/models/machine_detection_complete_callback_spec.rb +112 -0
- data/spec/unit/models/machine_detection_configuration_spec.rb +118 -0
- data/spec/unit/models/machine_detection_mode_enum_spec.rb +28 -0
- data/spec/unit/models/media_spec.rb +46 -0
- data/spec/unit/models/message_delivered_callback_message_spec.rb +100 -0
- data/spec/unit/models/message_delivered_callback_spec.rb +58 -0
- data/spec/unit/models/message_direction_enum_spec.rb +28 -0
- data/spec/unit/models/message_failed_callback_message_spec.rb +100 -0
- data/spec/unit/models/message_failed_callback_spec.rb +64 -0
- data/spec/unit/models/message_request_spec.rb +76 -0
- data/spec/unit/models/message_sending_callback_message_spec.rb +100 -0
- data/spec/unit/models/message_sending_callback_spec.rb +58 -0
- data/spec/unit/models/message_spec.rb +106 -0
- data/spec/unit/models/message_status_enum_spec.rb +28 -0
- data/spec/unit/models/message_type_enum_spec.rb +28 -0
- data/spec/unit/models/messages_list_spec.rb +46 -0
- data/spec/unit/models/messaging_code_response_spec.rb +34 -0
- data/spec/unit/models/messaging_request_error_spec.rb +40 -0
- data/spec/unit/models/mfa_forbidden_request_error_spec.rb +34 -0
- data/spec/unit/models/mfa_request_error_spec.rb +40 -0
- data/spec/unit/models/mfa_unauthorized_request_error_spec.rb +34 -0
- data/spec/unit/models/page_info_spec.rb +52 -0
- data/spec/unit/models/priority_enum_spec.rb +28 -0
- data/spec/unit/models/recording_available_callback_spec.rb +160 -0
- data/spec/unit/models/recording_complete_callback_spec.rb +160 -0
- data/spec/unit/models/recording_state_enum_spec.rb +28 -0
- data/spec/unit/models/redirect_callback_spec.rb +124 -0
- data/spec/unit/models/redirect_method_enum_spec.rb +28 -0
- data/spec/unit/models/stir_shaken_spec.rb +46 -0
- data/spec/unit/models/tag_spec.rb +40 -0
- data/spec/unit/models/tn_lookup_request_error_spec.rb +34 -0
- data/spec/unit/models/transcribe_recording_spec.rb +64 -0
- data/spec/unit/models/transcription_available_callback_spec.rb +154 -0
- data/spec/unit/models/transcription_list_spec.rb +34 -0
- data/spec/unit/models/transcription_metadata_spec.rb +52 -0
- data/spec/unit/models/transcription_spec.rb +40 -0
- data/spec/unit/models/transfer_answer_callback_spec.rb +118 -0
- data/spec/unit/models/transfer_complete_callback_spec.rb +136 -0
- data/spec/unit/models/transfer_disconnect_callback_spec.rb +148 -0
- data/spec/unit/models/update_call_recording_spec.rb +34 -0
- data/spec/unit/models/update_call_spec.rb +88 -0
- data/spec/unit/models/update_conference_member_spec.rb +46 -0
- data/spec/unit/models/update_conference_spec.rb +82 -0
- data/spec/unit/models/verify_code_request_spec.rb +52 -0
- data/spec/unit/models/verify_code_response_spec.rb +34 -0
- data/spec/unit/models/voice_api_error_spec.rb +46 -0
- data/spec/unit/models/voice_code_response_spec.rb +34 -0
- metadata +543 -248
- data/LICENSE +0 -28
- data/lib/bandwidth/api_helper.rb +0 -280
- data/lib/bandwidth/client.rb +0 -75
- data/lib/bandwidth/configuration.rb +0 -209
- data/lib/bandwidth/exceptions/api_exception.rb +0 -20
- data/lib/bandwidth/http/api_response.rb +0 -38
- data/lib/bandwidth/http/auth/messaging_basic_auth.rb +0 -22
- data/lib/bandwidth/http/auth/multi_factor_auth_basic_auth.rb +0 -22
- data/lib/bandwidth/http/auth/phone_number_lookup_basic_auth.rb +0 -22
- data/lib/bandwidth/http/auth/voice_basic_auth.rb +0 -22
- data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +0 -22
- data/lib/bandwidth/http/faraday_client.rb +0 -70
- data/lib/bandwidth/http/http_call_back.rb +0 -24
- data/lib/bandwidth/http/http_client.rb +0 -104
- data/lib/bandwidth/http/http_method_enum.rb +0 -13
- data/lib/bandwidth/http/http_request.rb +0 -50
- data/lib/bandwidth/http/http_response.rb +0 -29
- data/lib/bandwidth/messaging_lib/messaging/client.rb +0 -60
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +0 -491
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +0 -47
- data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +0 -37
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +0 -100
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +0 -174
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +0 -203
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +0 -79
- data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +0 -60
- data/lib/bandwidth/messaging_lib/messaging/models/media.rb +0 -70
- data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +0 -122
- data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +0 -82
- data/lib/bandwidth/messaging_lib/messaging/models/priority_enum.rb +0 -19
- data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +0 -60
- data/lib/bandwidth/messaging_lib/messaging.rb +0 -25
- data/lib/bandwidth/models/base_model.rb +0 -58
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/client.rb +0 -60
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/base_controller.rb +0 -47
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/mfa_controller.rb +0 -214
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/error_with_request_exception.rb +0 -37
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/forbidden_request_exception.rb +0 -32
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/unauthorized_request_exception.rb +0 -32
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_code_request_schema.rb +0 -103
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_messaging_response.rb +0 -50
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_code_response.rb +0 -50
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_request_schema.rb +0 -94
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_voice_response.rb +0 -50
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +0 -23
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/client.rb +0 -60
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +0 -1553
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +0 -47
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +0 -32
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +0 -50
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +0 -61
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +0 -95
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +0 -132
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup.rb +0 -20
- data/lib/bandwidth/utilities/date_time_helper.rb +0 -156
- data/lib/bandwidth/utilities/file_wrapper.rb +0 -16
- data/lib/bandwidth/voice_lib/bxml/bxml.rb +0 -36
- data/lib/bandwidth/voice_lib/bxml/response.rb +0 -39
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +0 -28
- data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +0 -32
- data/lib/bandwidth/voice_lib/bxml/verbs/forward.rb +0 -18
- data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +0 -49
- data/lib/bandwidth/voice_lib/bxml/verbs/hangup.rb +0 -14
- data/lib/bandwidth/voice_lib/bxml/verbs/pause.rb +0 -15
- data/lib/bandwidth/voice_lib/bxml/verbs/pause_recording.rb +0 -14
- data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +0 -24
- data/lib/bandwidth/voice_lib/bxml/verbs/play_audio.rb +0 -17
- data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +0 -33
- data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +0 -24
- data/lib/bandwidth/voice_lib/bxml/verbs/resume_recording.rb +0 -14
- data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +0 -16
- data/lib/bandwidth/voice_lib/bxml/verbs/send_dtmf.rb +0 -16
- data/lib/bandwidth/voice_lib/bxml/verbs/sip_uri.rb +0 -25
- data/lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb +0 -18
- data/lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb +0 -20
- data/lib/bandwidth/voice_lib/bxml/verbs/start_recording.rb +0 -25
- data/lib/bandwidth/voice_lib/bxml/verbs/start_stream.rb +0 -41
- data/lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb +0 -14
- data/lib/bandwidth/voice_lib/bxml/verbs/stop_recording.rb +0 -14
- data/lib/bandwidth/voice_lib/bxml/verbs/stop_stream.rb +0 -16
- data/lib/bandwidth/voice_lib/bxml/verbs/stream_param.rb +0 -17
- data/lib/bandwidth/voice_lib/bxml/verbs/tag.rb +0 -13
- data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +0 -48
- data/lib/bandwidth/voice_lib/bxml/verbs/xml_verb.rb +0 -26
- data/lib/bandwidth/voice_lib/voice/client.rb +0 -60
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +0 -1820
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +0 -47
- data/lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb +0 -42
- data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +0 -343
- data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +0 -250
- data/lib/bandwidth/voice_lib/voice/models/call_state.rb +0 -301
- data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +0 -211
- data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/conference_member_state.rb +0 -103
- data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +0 -173
- data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +0 -153
- data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +0 -236
- data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +0 -266
- data/lib/bandwidth/voice_lib/voice/models/direction_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/diversion.rb +0 -80
- data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/file_format_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +0 -231
- data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +0 -20
- data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb +0 -48
- data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +0 -156
- data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +0 -144
- data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +0 -20
- data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/status_enum.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +0 -108
- data/lib/bandwidth/voice_lib/voice/models/transcript.rb +0 -60
- data/lib/bandwidth/voice_lib/voice/models/transcription.rb +0 -80
- data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +0 -89
- data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +0 -59
- data/lib/bandwidth/voice_lib/voice.rb +0 -48
- data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +0 -18
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +0 -60
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +0 -703
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +0 -47
- data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +0 -37
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +0 -62
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/device_api_version_enum.rb +0 -17
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +0 -115
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +0 -48
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +0 -17
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +0 -60
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +0 -71
- data/lib/bandwidth/web_rtc_lib/web_rtc.rb +0 -22
- data/lib/bandwidth.rb +0 -72
- data/test/controllers/controller_test_base.rb +0 -21
- data/test/http_response_catcher.rb +0 -19
- data/test/integration/test_integration.rb +0 -767
- data/test/test_helper.rb +0 -94
|
@@ -1,491 +0,0 @@
|
|
|
1
|
-
# bandwidth
|
|
2
|
-
#
|
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
-
# ( https://apimatic.io ).
|
|
5
|
-
|
|
6
|
-
module Bandwidth
|
|
7
|
-
module Messaging
|
|
8
|
-
# APIController
|
|
9
|
-
class APIController < BaseController
|
|
10
|
-
def initialize(config, http_call_back: nil)
|
|
11
|
-
super(config, http_call_back: http_call_back)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# Gets a list of your media files. No query parameters are supported.
|
|
15
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
16
|
-
# @param [String] continuation_token Optional parameter: Continuation token
|
|
17
|
-
# used to retrieve subsequent media.
|
|
18
|
-
# @return [List of Media] response from the API call
|
|
19
|
-
def list_media(account_id,
|
|
20
|
-
continuation_token: nil)
|
|
21
|
-
# Prepare query url.
|
|
22
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
23
|
-
_query_builder << '/users/{accountId}/media'
|
|
24
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
25
|
-
_query_builder,
|
|
26
|
-
'accountId' => { 'value' => account_id, 'encode' => false }
|
|
27
|
-
)
|
|
28
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
29
|
-
|
|
30
|
-
# Prepare headers.
|
|
31
|
-
_headers = {
|
|
32
|
-
'accept' => 'application/json',
|
|
33
|
-
'Continuation-Token' => continuation_token
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
# Prepare and execute HttpRequest.
|
|
37
|
-
_request = config.http_client.get(
|
|
38
|
-
_query_url,
|
|
39
|
-
headers: _headers
|
|
40
|
-
)
|
|
41
|
-
MessagingBasicAuth.apply(config, _request)
|
|
42
|
-
_response = execute_request(_request)
|
|
43
|
-
|
|
44
|
-
# Validate response against endpoint and global error codes.
|
|
45
|
-
case _response.status_code
|
|
46
|
-
when 400
|
|
47
|
-
raise MessagingException.new(
|
|
48
|
-
'400 Request is malformed or invalid',
|
|
49
|
-
_response
|
|
50
|
-
)
|
|
51
|
-
when 401
|
|
52
|
-
raise MessagingException.new(
|
|
53
|
-
'401 The specified user does not have access to the account',
|
|
54
|
-
_response
|
|
55
|
-
)
|
|
56
|
-
when 403
|
|
57
|
-
raise MessagingException.new(
|
|
58
|
-
'403 The user does not have access to this API',
|
|
59
|
-
_response
|
|
60
|
-
)
|
|
61
|
-
when 404
|
|
62
|
-
raise MessagingException.new(
|
|
63
|
-
'404 Path not found',
|
|
64
|
-
_response
|
|
65
|
-
)
|
|
66
|
-
when 415
|
|
67
|
-
raise MessagingException.new(
|
|
68
|
-
'415 The content-type of the request is incorrect',
|
|
69
|
-
_response
|
|
70
|
-
)
|
|
71
|
-
when 429
|
|
72
|
-
raise MessagingException.new(
|
|
73
|
-
'429 The rate limit has been reached',
|
|
74
|
-
_response
|
|
75
|
-
)
|
|
76
|
-
end
|
|
77
|
-
validate_response(_response)
|
|
78
|
-
|
|
79
|
-
# Return appropriate response type.
|
|
80
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
|
81
|
-
ApiResponse.new(
|
|
82
|
-
_response,
|
|
83
|
-
data: decoded.map { |element| Media.from_hash(element) }
|
|
84
|
-
)
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Downloads a media file you previously uploaded.
|
|
88
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
89
|
-
# @param [String] media_id Required parameter: Media ID to retrieve
|
|
90
|
-
# @return [Binary] response from the API call
|
|
91
|
-
def get_media(account_id,
|
|
92
|
-
media_id)
|
|
93
|
-
# Prepare query url.
|
|
94
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
95
|
-
_query_builder << '/users/{accountId}/media/{mediaId}'
|
|
96
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
97
|
-
_query_builder,
|
|
98
|
-
'accountId' => { 'value' => account_id, 'encode' => false },
|
|
99
|
-
'mediaId' => { 'value' => media_id, 'encode' => false }
|
|
100
|
-
)
|
|
101
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
102
|
-
|
|
103
|
-
# Prepare and execute HttpRequest.
|
|
104
|
-
_request = config.http_client.get(
|
|
105
|
-
_query_url
|
|
106
|
-
)
|
|
107
|
-
MessagingBasicAuth.apply(config, _request)
|
|
108
|
-
_response = execute_request(_request, binary: true)
|
|
109
|
-
|
|
110
|
-
# Validate response against endpoint and global error codes.
|
|
111
|
-
case _response.status_code
|
|
112
|
-
when 400
|
|
113
|
-
raise MessagingException.new(
|
|
114
|
-
'400 Request is malformed or invalid',
|
|
115
|
-
_response
|
|
116
|
-
)
|
|
117
|
-
when 401
|
|
118
|
-
raise MessagingException.new(
|
|
119
|
-
'401 The specified user does not have access to the account',
|
|
120
|
-
_response
|
|
121
|
-
)
|
|
122
|
-
when 403
|
|
123
|
-
raise MessagingException.new(
|
|
124
|
-
'403 The user does not have access to this API',
|
|
125
|
-
_response
|
|
126
|
-
)
|
|
127
|
-
when 404
|
|
128
|
-
raise MessagingException.new(
|
|
129
|
-
'404 Path not found',
|
|
130
|
-
_response
|
|
131
|
-
)
|
|
132
|
-
when 415
|
|
133
|
-
raise MessagingException.new(
|
|
134
|
-
'415 The content-type of the request is incorrect',
|
|
135
|
-
_response
|
|
136
|
-
)
|
|
137
|
-
when 429
|
|
138
|
-
raise MessagingException.new(
|
|
139
|
-
'429 The rate limit has been reached',
|
|
140
|
-
_response
|
|
141
|
-
)
|
|
142
|
-
end
|
|
143
|
-
validate_response(_response)
|
|
144
|
-
|
|
145
|
-
# Return appropriate response type.
|
|
146
|
-
ApiResponse.new(
|
|
147
|
-
_response, data: _response.raw_body
|
|
148
|
-
)
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
# Uploads a file the normal HTTP way. You may add headers to the request in
|
|
152
|
-
# order to provide some control to your media-file.
|
|
153
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
154
|
-
# @param [String] media_id Required parameter: The user supplied custom
|
|
155
|
-
# media ID
|
|
156
|
-
# @param [File | UploadIO] body Required parameter: Example:
|
|
157
|
-
# @param [String] content_type Optional parameter: The media type of the
|
|
158
|
-
# entity-body
|
|
159
|
-
# @param [String] cache_control Optional parameter: General-header field is
|
|
160
|
-
# used to specify directives that MUST be obeyed by all caching mechanisms
|
|
161
|
-
# along the request/response chain.
|
|
162
|
-
# @return [void] response from the API call
|
|
163
|
-
def upload_media(account_id,
|
|
164
|
-
media_id,
|
|
165
|
-
body,
|
|
166
|
-
content_type: 'application/octet-stream',
|
|
167
|
-
cache_control: nil)
|
|
168
|
-
# Prepare query url.
|
|
169
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
170
|
-
_query_builder << '/users/{accountId}/media/{mediaId}'
|
|
171
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
172
|
-
_query_builder,
|
|
173
|
-
'accountId' => { 'value' => account_id, 'encode' => false },
|
|
174
|
-
'mediaId' => { 'value' => media_id, 'encode' => false }
|
|
175
|
-
)
|
|
176
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
177
|
-
|
|
178
|
-
if body.is_a? FileWrapper
|
|
179
|
-
body_wrapper = body.file
|
|
180
|
-
body_content_type = body.content_type
|
|
181
|
-
else
|
|
182
|
-
body_wrapper = body
|
|
183
|
-
body_content_type = content_type
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
# Prepare headers.
|
|
187
|
-
_headers = {
|
|
188
|
-
'content-type' => body_content_type,
|
|
189
|
-
'content-length' => body_wrapper.size.to_s,
|
|
190
|
-
'Cache-Control' => cache_control
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
# Prepare and execute HttpRequest.
|
|
194
|
-
_request = config.http_client.put(
|
|
195
|
-
_query_url,
|
|
196
|
-
headers: _headers,
|
|
197
|
-
parameters: body_wrapper
|
|
198
|
-
)
|
|
199
|
-
MessagingBasicAuth.apply(config, _request)
|
|
200
|
-
_response = execute_request(_request)
|
|
201
|
-
|
|
202
|
-
# Validate response against endpoint and global error codes.
|
|
203
|
-
case _response.status_code
|
|
204
|
-
when 400
|
|
205
|
-
raise MessagingException.new(
|
|
206
|
-
'400 Request is malformed or invalid',
|
|
207
|
-
_response
|
|
208
|
-
)
|
|
209
|
-
when 401
|
|
210
|
-
raise MessagingException.new(
|
|
211
|
-
'401 The specified user does not have access to the account',
|
|
212
|
-
_response
|
|
213
|
-
)
|
|
214
|
-
when 403
|
|
215
|
-
raise MessagingException.new(
|
|
216
|
-
'403 The user does not have access to this API',
|
|
217
|
-
_response
|
|
218
|
-
)
|
|
219
|
-
when 404
|
|
220
|
-
raise MessagingException.new(
|
|
221
|
-
'404 Path not found',
|
|
222
|
-
_response
|
|
223
|
-
)
|
|
224
|
-
when 415
|
|
225
|
-
raise MessagingException.new(
|
|
226
|
-
'415 The content-type of the request is incorrect',
|
|
227
|
-
_response
|
|
228
|
-
)
|
|
229
|
-
when 429
|
|
230
|
-
raise MessagingException.new(
|
|
231
|
-
'429 The rate limit has been reached',
|
|
232
|
-
_response
|
|
233
|
-
)
|
|
234
|
-
end
|
|
235
|
-
validate_response(_response)
|
|
236
|
-
|
|
237
|
-
# Return appropriate response type.
|
|
238
|
-
ApiResponse.new(_response)
|
|
239
|
-
end
|
|
240
|
-
|
|
241
|
-
# Deletes a media file from Bandwidth API server. Make sure you don't have
|
|
242
|
-
# any application scripts still using the media before you delete. If you
|
|
243
|
-
# accidentally delete a media file, you can immediately upload a new file
|
|
244
|
-
# with the same name.
|
|
245
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
246
|
-
# @param [String] media_id Required parameter: The media ID to delete
|
|
247
|
-
# @return [void] response from the API call
|
|
248
|
-
def delete_media(account_id,
|
|
249
|
-
media_id)
|
|
250
|
-
# Prepare query url.
|
|
251
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
252
|
-
_query_builder << '/users/{accountId}/media/{mediaId}'
|
|
253
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
254
|
-
_query_builder,
|
|
255
|
-
'accountId' => { 'value' => account_id, 'encode' => false },
|
|
256
|
-
'mediaId' => { 'value' => media_id, 'encode' => false }
|
|
257
|
-
)
|
|
258
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
259
|
-
|
|
260
|
-
# Prepare and execute HttpRequest.
|
|
261
|
-
_request = config.http_client.delete(
|
|
262
|
-
_query_url
|
|
263
|
-
)
|
|
264
|
-
MessagingBasicAuth.apply(config, _request)
|
|
265
|
-
_response = execute_request(_request)
|
|
266
|
-
|
|
267
|
-
# Validate response against endpoint and global error codes.
|
|
268
|
-
case _response.status_code
|
|
269
|
-
when 400
|
|
270
|
-
raise MessagingException.new(
|
|
271
|
-
'400 Request is malformed or invalid',
|
|
272
|
-
_response
|
|
273
|
-
)
|
|
274
|
-
when 401
|
|
275
|
-
raise MessagingException.new(
|
|
276
|
-
'401 The specified user does not have access to the account',
|
|
277
|
-
_response
|
|
278
|
-
)
|
|
279
|
-
when 403
|
|
280
|
-
raise MessagingException.new(
|
|
281
|
-
'403 The user does not have access to this API',
|
|
282
|
-
_response
|
|
283
|
-
)
|
|
284
|
-
when 404
|
|
285
|
-
raise MessagingException.new(
|
|
286
|
-
'404 Path not found',
|
|
287
|
-
_response
|
|
288
|
-
)
|
|
289
|
-
when 415
|
|
290
|
-
raise MessagingException.new(
|
|
291
|
-
'415 The content-type of the request is incorrect',
|
|
292
|
-
_response
|
|
293
|
-
)
|
|
294
|
-
when 429
|
|
295
|
-
raise MessagingException.new(
|
|
296
|
-
'429 The rate limit has been reached',
|
|
297
|
-
_response
|
|
298
|
-
)
|
|
299
|
-
end
|
|
300
|
-
validate_response(_response)
|
|
301
|
-
|
|
302
|
-
# Return appropriate response type.
|
|
303
|
-
ApiResponse.new(_response)
|
|
304
|
-
end
|
|
305
|
-
|
|
306
|
-
# Gets a list of messages based on query parameters.
|
|
307
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
308
|
-
# @param [String] message_id Optional parameter: The ID of the message to
|
|
309
|
-
# search for. Special characters need to be encoded using URL encoding
|
|
310
|
-
# @param [String] source_tn Optional parameter: The phone number that sent
|
|
311
|
-
# the message
|
|
312
|
-
# @param [String] destination_tn Optional parameter: The phone number that
|
|
313
|
-
# received the message
|
|
314
|
-
# @param [String] message_status Optional parameter: The status of the
|
|
315
|
-
# message. One of RECEIVED, QUEUED, SENDING, SENT, FAILED, DELIVERED,
|
|
316
|
-
# ACCEPTED, UNDELIVERED
|
|
317
|
-
# @param [Integer] error_code Optional parameter: The error code of the
|
|
318
|
-
# message
|
|
319
|
-
# @param [String] from_date_time Optional parameter: The start of the date
|
|
320
|
-
# range to search in ISO 8601 format. Uses the message receive time. The
|
|
321
|
-
# date range to search in is currently 14 days.
|
|
322
|
-
# @param [String] to_date_time Optional parameter: The end of the date range
|
|
323
|
-
# to search in ISO 8601 format. Uses the message receive time. The date
|
|
324
|
-
# range to search in is currently 14 days.
|
|
325
|
-
# @param [String] page_token Optional parameter: A base64 encoded value used
|
|
326
|
-
# for pagination of results
|
|
327
|
-
# @param [Integer] limit Optional parameter: The maximum records requested
|
|
328
|
-
# in search result. Default 100. The sum of limit and after cannot be more
|
|
329
|
-
# than 10000
|
|
330
|
-
# @return [BandwidthMessagesList] response from the API call
|
|
331
|
-
def get_messages(account_id,
|
|
332
|
-
message_id: nil,
|
|
333
|
-
source_tn: nil,
|
|
334
|
-
destination_tn: nil,
|
|
335
|
-
message_status: nil,
|
|
336
|
-
error_code: nil,
|
|
337
|
-
from_date_time: nil,
|
|
338
|
-
to_date_time: nil,
|
|
339
|
-
page_token: nil,
|
|
340
|
-
limit: nil)
|
|
341
|
-
# Prepare query url.
|
|
342
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
343
|
-
_query_builder << '/users/{accountId}/messages'
|
|
344
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
345
|
-
_query_builder,
|
|
346
|
-
'accountId' => { 'value' => account_id, 'encode' => false }
|
|
347
|
-
)
|
|
348
|
-
_query_builder = APIHelper.append_url_with_query_parameters(
|
|
349
|
-
_query_builder,
|
|
350
|
-
'messageId' => message_id,
|
|
351
|
-
'sourceTn' => source_tn,
|
|
352
|
-
'destinationTn' => destination_tn,
|
|
353
|
-
'messageStatus' => message_status,
|
|
354
|
-
'errorCode' => error_code,
|
|
355
|
-
'fromDateTime' => from_date_time,
|
|
356
|
-
'toDateTime' => to_date_time,
|
|
357
|
-
'pageToken' => page_token,
|
|
358
|
-
'limit' => limit
|
|
359
|
-
)
|
|
360
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
361
|
-
|
|
362
|
-
# Prepare headers.
|
|
363
|
-
_headers = {
|
|
364
|
-
'accept' => 'application/json'
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
# Prepare and execute HttpRequest.
|
|
368
|
-
_request = config.http_client.get(
|
|
369
|
-
_query_url,
|
|
370
|
-
headers: _headers
|
|
371
|
-
)
|
|
372
|
-
MessagingBasicAuth.apply(config, _request)
|
|
373
|
-
_response = execute_request(_request)
|
|
374
|
-
|
|
375
|
-
# Validate response against endpoint and global error codes.
|
|
376
|
-
case _response.status_code
|
|
377
|
-
when 400
|
|
378
|
-
raise MessagingException.new(
|
|
379
|
-
'400 Request is malformed or invalid',
|
|
380
|
-
_response
|
|
381
|
-
)
|
|
382
|
-
when 401
|
|
383
|
-
raise MessagingException.new(
|
|
384
|
-
'401 The specified user does not have access to the account',
|
|
385
|
-
_response
|
|
386
|
-
)
|
|
387
|
-
when 403
|
|
388
|
-
raise MessagingException.new(
|
|
389
|
-
'403 The user does not have access to this API',
|
|
390
|
-
_response
|
|
391
|
-
)
|
|
392
|
-
when 404
|
|
393
|
-
raise MessagingException.new(
|
|
394
|
-
'404 Path not found',
|
|
395
|
-
_response
|
|
396
|
-
)
|
|
397
|
-
when 415
|
|
398
|
-
raise MessagingException.new(
|
|
399
|
-
'415 The content-type of the request is incorrect',
|
|
400
|
-
_response
|
|
401
|
-
)
|
|
402
|
-
when 429
|
|
403
|
-
raise MessagingException.new(
|
|
404
|
-
'429 The rate limit has been reached',
|
|
405
|
-
_response
|
|
406
|
-
)
|
|
407
|
-
end
|
|
408
|
-
validate_response(_response)
|
|
409
|
-
|
|
410
|
-
# Return appropriate response type.
|
|
411
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
|
412
|
-
ApiResponse.new(
|
|
413
|
-
_response, data: BandwidthMessagesList.from_hash(decoded)
|
|
414
|
-
)
|
|
415
|
-
end
|
|
416
|
-
|
|
417
|
-
# Endpoint for sending text messages and picture messages using V2
|
|
418
|
-
# messaging.
|
|
419
|
-
# @param [String] account_id Required parameter: User's account ID
|
|
420
|
-
# @param [MessageRequest] body Required parameter: Example:
|
|
421
|
-
# @return [BandwidthMessage] response from the API call
|
|
422
|
-
def create_message(account_id,
|
|
423
|
-
body)
|
|
424
|
-
# Prepare query url.
|
|
425
|
-
_query_builder = config.get_base_uri(Server::MESSAGINGDEFAULT)
|
|
426
|
-
_query_builder << '/users/{accountId}/messages'
|
|
427
|
-
_query_builder = APIHelper.append_url_with_template_parameters(
|
|
428
|
-
_query_builder,
|
|
429
|
-
'accountId' => { 'value' => account_id, 'encode' => false }
|
|
430
|
-
)
|
|
431
|
-
_query_url = APIHelper.clean_url _query_builder
|
|
432
|
-
|
|
433
|
-
# Prepare headers.
|
|
434
|
-
_headers = {
|
|
435
|
-
'accept' => 'application/json',
|
|
436
|
-
'content-type' => 'application/json; charset=utf-8'
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
# Prepare and execute HttpRequest.
|
|
440
|
-
_request = config.http_client.post(
|
|
441
|
-
_query_url,
|
|
442
|
-
headers: _headers,
|
|
443
|
-
parameters: body.to_json
|
|
444
|
-
)
|
|
445
|
-
MessagingBasicAuth.apply(config, _request)
|
|
446
|
-
_response = execute_request(_request)
|
|
447
|
-
|
|
448
|
-
# Validate response against endpoint and global error codes.
|
|
449
|
-
case _response.status_code
|
|
450
|
-
when 400
|
|
451
|
-
raise MessagingException.new(
|
|
452
|
-
'400 Request is malformed or invalid',
|
|
453
|
-
_response
|
|
454
|
-
)
|
|
455
|
-
when 401
|
|
456
|
-
raise MessagingException.new(
|
|
457
|
-
'401 The specified user does not have access to the account',
|
|
458
|
-
_response
|
|
459
|
-
)
|
|
460
|
-
when 403
|
|
461
|
-
raise MessagingException.new(
|
|
462
|
-
'403 The user does not have access to this API',
|
|
463
|
-
_response
|
|
464
|
-
)
|
|
465
|
-
when 404
|
|
466
|
-
raise MessagingException.new(
|
|
467
|
-
'404 Path not found',
|
|
468
|
-
_response
|
|
469
|
-
)
|
|
470
|
-
when 415
|
|
471
|
-
raise MessagingException.new(
|
|
472
|
-
'415 The content-type of the request is incorrect',
|
|
473
|
-
_response
|
|
474
|
-
)
|
|
475
|
-
when 429
|
|
476
|
-
raise MessagingException.new(
|
|
477
|
-
'429 The rate limit has been reached',
|
|
478
|
-
_response
|
|
479
|
-
)
|
|
480
|
-
end
|
|
481
|
-
validate_response(_response)
|
|
482
|
-
|
|
483
|
-
# Return appropriate response type.
|
|
484
|
-
decoded = APIHelper.json_deserialize(_response.raw_body)
|
|
485
|
-
ApiResponse.new(
|
|
486
|
-
_response, data: BandwidthMessage.from_hash(decoded)
|
|
487
|
-
)
|
|
488
|
-
end
|
|
489
|
-
end
|
|
490
|
-
end
|
|
491
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# bandwidth
|
|
2
|
-
#
|
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
-
# ( https://apimatic.io ).
|
|
5
|
-
|
|
6
|
-
module Bandwidth
|
|
7
|
-
# BaseController.
|
|
8
|
-
class BaseController
|
|
9
|
-
attr_accessor :config, :http_call_back
|
|
10
|
-
|
|
11
|
-
def initialize(config, http_call_back: nil)
|
|
12
|
-
@config = config
|
|
13
|
-
@http_call_back = http_call_back
|
|
14
|
-
|
|
15
|
-
@global_headers = {
|
|
16
|
-
'user-agent' => 'ruby-sdk'
|
|
17
|
-
}
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def validate_parameters(args)
|
|
21
|
-
args.each do |_name, value|
|
|
22
|
-
raise ArgumentError, "Required parameter #{_name} cannot be nil." if value.nil?
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def execute_request(request, binary: false)
|
|
27
|
-
@http_call_back&.on_before_request(request)
|
|
28
|
-
|
|
29
|
-
APIHelper.clean_hash(request.headers)
|
|
30
|
-
request.headers.merge!(@global_headers)
|
|
31
|
-
|
|
32
|
-
response = if binary
|
|
33
|
-
config.http_client.execute_as_binary(request)
|
|
34
|
-
else
|
|
35
|
-
config.http_client.execute_as_string(request)
|
|
36
|
-
end
|
|
37
|
-
@http_call_back&.on_after_response(response)
|
|
38
|
-
|
|
39
|
-
response
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def validate_response(response)
|
|
43
|
-
raise APIException.new 'HTTP Response Not OK', response unless
|
|
44
|
-
response.status_code.between?(200, 208) # [200,208] = HTTP OK
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# bandwidth
|
|
2
|
-
#
|
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
-
# ( https://apimatic.io ).
|
|
5
|
-
|
|
6
|
-
module Bandwidth
|
|
7
|
-
# MessagingException class.
|
|
8
|
-
class MessagingException < APIException
|
|
9
|
-
SKIP = Object.new
|
|
10
|
-
private_constant :SKIP
|
|
11
|
-
|
|
12
|
-
# TODO: Write general description for this method
|
|
13
|
-
# @return [String]
|
|
14
|
-
attr_accessor :type
|
|
15
|
-
|
|
16
|
-
# TODO: Write general description for this method
|
|
17
|
-
# @return [String]
|
|
18
|
-
attr_accessor :description
|
|
19
|
-
|
|
20
|
-
# The constructor.
|
|
21
|
-
# @param [String] The reason for raising an exception.
|
|
22
|
-
# @param [HttpResponse] The HttpReponse of the API call.
|
|
23
|
-
def initialize(reason, response)
|
|
24
|
-
super(reason, response)
|
|
25
|
-
hash = APIHelper.json_deserialize(@response.raw_body)
|
|
26
|
-
unbox(hash)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
# Populates this object by extracting properties from a hash.
|
|
30
|
-
# @param [Hash] The deserialized response sent by the server in the
|
|
31
|
-
# response body.
|
|
32
|
-
def unbox(hash)
|
|
33
|
-
@type = hash.key?('type') ? hash['type'] : SKIP
|
|
34
|
-
@description = hash.key?('description') ? hash['description'] : SKIP
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# bandwidth
|
|
2
|
-
#
|
|
3
|
-
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
-
# ( https://apimatic.io ).
|
|
5
|
-
|
|
6
|
-
module Bandwidth
|
|
7
|
-
# BandwidthCallbackMessage Model.
|
|
8
|
-
class BandwidthCallbackMessage < BaseModel
|
|
9
|
-
SKIP = Object.new
|
|
10
|
-
private_constant :SKIP
|
|
11
|
-
|
|
12
|
-
# TODO: Write general description for this method
|
|
13
|
-
# @return [String]
|
|
14
|
-
attr_accessor :time
|
|
15
|
-
|
|
16
|
-
# TODO: Write general description for this method
|
|
17
|
-
# @return [String]
|
|
18
|
-
attr_accessor :type
|
|
19
|
-
|
|
20
|
-
# TODO: Write general description for this method
|
|
21
|
-
# @return [String]
|
|
22
|
-
attr_accessor :to
|
|
23
|
-
|
|
24
|
-
# TODO: Write general description for this method
|
|
25
|
-
# @return [String]
|
|
26
|
-
attr_accessor :error_code
|
|
27
|
-
|
|
28
|
-
# TODO: Write general description for this method
|
|
29
|
-
# @return [String]
|
|
30
|
-
attr_accessor :description
|
|
31
|
-
|
|
32
|
-
# TODO: Write general description for this method
|
|
33
|
-
# @return [BandwidthMessage]
|
|
34
|
-
attr_accessor :message
|
|
35
|
-
|
|
36
|
-
# A mapping from model property names to API property names.
|
|
37
|
-
def self.names
|
|
38
|
-
@_hash = {} if @_hash.nil?
|
|
39
|
-
@_hash['time'] = 'time'
|
|
40
|
-
@_hash['type'] = 'type'
|
|
41
|
-
@_hash['to'] = 'to'
|
|
42
|
-
@_hash['error_code'] = 'errorCode'
|
|
43
|
-
@_hash['description'] = 'description'
|
|
44
|
-
@_hash['message'] = 'message'
|
|
45
|
-
@_hash
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# An array for optional fields
|
|
49
|
-
def optionals
|
|
50
|
-
%w[
|
|
51
|
-
time
|
|
52
|
-
type
|
|
53
|
-
to
|
|
54
|
-
error_code
|
|
55
|
-
description
|
|
56
|
-
message
|
|
57
|
-
]
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# An array for nullable fields
|
|
61
|
-
def nullables
|
|
62
|
-
[]
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def initialize(time = nil,
|
|
66
|
-
type = nil,
|
|
67
|
-
to = nil,
|
|
68
|
-
error_code = nil,
|
|
69
|
-
description = nil,
|
|
70
|
-
message = nil)
|
|
71
|
-
@time = time unless time == SKIP
|
|
72
|
-
@type = type unless type == SKIP
|
|
73
|
-
@to = to unless to == SKIP
|
|
74
|
-
@error_code = error_code unless error_code == SKIP
|
|
75
|
-
@description = description unless description == SKIP
|
|
76
|
-
@message = message unless message == SKIP
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# Creates an instance of the object from a hash.
|
|
80
|
-
def self.from_hash(hash)
|
|
81
|
-
return nil unless hash
|
|
82
|
-
|
|
83
|
-
# Extract variables from the hash.
|
|
84
|
-
time = hash.key?('time') ? hash['time'] : SKIP
|
|
85
|
-
type = hash.key?('type') ? hash['type'] : SKIP
|
|
86
|
-
to = hash.key?('to') ? hash['to'] : SKIP
|
|
87
|
-
error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
|
|
88
|
-
description = hash.key?('description') ? hash['description'] : SKIP
|
|
89
|
-
message = BandwidthMessage.from_hash(hash['message']) if hash['message']
|
|
90
|
-
|
|
91
|
-
# Create object from extracted values.
|
|
92
|
-
BandwidthCallbackMessage.new(time,
|
|
93
|
-
type,
|
|
94
|
-
to,
|
|
95
|
-
error_code,
|
|
96
|
-
description,
|
|
97
|
-
message)
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|