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.
Files changed (526) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +76 -0
  4. data/README.md +197 -139
  5. data/Rakefile +22 -0
  6. data/bandwidth-sdk.gemspec +40 -0
  7. data/bandwidth.yml +5551 -0
  8. data/docs/AccountStatistics.md +20 -0
  9. data/docs/AnswerCallback.md +44 -0
  10. data/docs/BridgeCompleteCallback.md +48 -0
  11. data/docs/BridgeTargetCompleteCallback.md +42 -0
  12. data/docs/CallDirectionEnum.md +15 -0
  13. data/docs/CallRecordingMetadata.md +52 -0
  14. data/docs/CallState.md +52 -0
  15. data/docs/CallStateEnum.md +15 -0
  16. data/docs/CallbackMethodEnum.md +15 -0
  17. data/docs/CallsApi.md +304 -0
  18. data/docs/CodeRequest.md +28 -0
  19. data/docs/Conference.md +32 -0
  20. data/docs/ConferenceCompletedCallback.md +26 -0
  21. data/docs/ConferenceCreatedCallback.md +26 -0
  22. data/docs/ConferenceMember.md +28 -0
  23. data/docs/ConferenceMemberExitCallback.md +32 -0
  24. data/docs/ConferenceMemberJoinCallback.md +32 -0
  25. data/docs/ConferenceRecordingAvailableCallback.md +44 -0
  26. data/docs/ConferenceRecordingMetadata.md +38 -0
  27. data/docs/ConferenceRedirectCallback.md +26 -0
  28. data/docs/ConferenceStateEnum.md +15 -0
  29. data/docs/ConferencesApi.md +688 -0
  30. data/docs/CreateCall.md +54 -0
  31. data/docs/CreateCallResponse.md +58 -0
  32. data/docs/CreateLookupResponse.md +20 -0
  33. data/docs/CreateMessageRequestError.md +22 -0
  34. data/docs/CreateParticipantRequest.md +24 -0
  35. data/docs/CreateParticipantResponse.md +20 -0
  36. data/docs/DeferredResult.md +20 -0
  37. data/docs/DeviceApiVersionEnum.md +15 -0
  38. data/docs/DisconenctCallback.md +50 -0
  39. data/docs/DisconnectCallback.md +50 -0
  40. data/docs/Diversion.md +30 -0
  41. data/docs/DtmfCallback.md +50 -0
  42. data/docs/FieldError.md +20 -0
  43. data/docs/FileFormatEnum.md +15 -0
  44. data/docs/ForbiddenRequest.md +18 -0
  45. data/docs/GatherCallback.md +52 -0
  46. data/docs/InboundMessageCallback.md +26 -0
  47. data/docs/InboundMessageCallbackMessage.md +40 -0
  48. data/docs/InitiateCallback.md +40 -0
  49. data/docs/ListMessageDirectionEnum.md +15 -0
  50. data/docs/ListMessageItem.md +48 -0
  51. data/docs/LookupRequest.md +18 -0
  52. data/docs/LookupResult.md +34 -0
  53. data/docs/LookupStatus.md +24 -0
  54. data/docs/LookupStatusEnum.md +15 -0
  55. data/docs/MFAApi.md +226 -0
  56. data/docs/MachineDetectionCompleteCallback.md +44 -0
  57. data/docs/MachineDetectionConfiguration.md +46 -0
  58. data/docs/MachineDetectionModeEnum.md +15 -0
  59. data/docs/Media.md +22 -0
  60. data/docs/MediaApi.md +307 -0
  61. data/docs/Message.md +42 -0
  62. data/docs/MessageDeliveredCallback.md +26 -0
  63. data/docs/MessageDeliveredCallbackMessage.md +40 -0
  64. data/docs/MessageDirectionEnum.md +15 -0
  65. data/docs/MessageFailedCallback.md +28 -0
  66. data/docs/MessageFailedCallbackMessage.md +40 -0
  67. data/docs/MessageRequest.md +32 -0
  68. data/docs/MessageSendingCallback.md +26 -0
  69. data/docs/MessageSendingCallbackMessage.md +40 -0
  70. data/docs/MessageStatusEnum.md +15 -0
  71. data/docs/MessageTypeEnum.md +15 -0
  72. data/docs/MessagesApi.md +179 -0
  73. data/docs/MessagesList.md +22 -0
  74. data/docs/MessagingCodeResponse.md +18 -0
  75. data/docs/MessagingRequestError.md +20 -0
  76. data/docs/MfaForbiddenRequestError.md +18 -0
  77. data/docs/MfaRequestError.md +20 -0
  78. data/docs/MfaUnauthorizedRequestError.md +18 -0
  79. data/docs/PageInfo.md +24 -0
  80. data/docs/Participant.md +30 -0
  81. data/docs/ParticipantSubscription.md +20 -0
  82. data/docs/ParticipantsApi.md +227 -0
  83. data/docs/PhoneNumberLookupApi.md +153 -0
  84. data/docs/PriorityEnum.md +15 -0
  85. data/docs/PublishPermissionsEnum.md +15 -0
  86. data/docs/RecordingAvailableCallback.md +60 -0
  87. data/docs/RecordingCompleteCallback.md +60 -0
  88. data/docs/RecordingStateEnum.md +15 -0
  89. data/docs/RecordingsApi.md +758 -0
  90. data/docs/RedirectCallback.md +48 -0
  91. data/docs/RedirectMethodEnum.md +15 -0
  92. data/docs/RequestError.md +20 -0
  93. data/docs/Session.md +20 -0
  94. data/docs/SessionsApi.md +605 -0
  95. data/docs/StatisticsApi.md +78 -0
  96. data/docs/StirShaken.md +22 -0
  97. data/docs/Subscriptions.md +20 -0
  98. data/docs/Tag.md +20 -0
  99. data/docs/TnLookupRequestError.md +18 -0
  100. data/docs/TranscribeRecording.md +28 -0
  101. data/docs/Transcription.md +20 -0
  102. data/docs/TranscriptionAvailableCallback.md +58 -0
  103. data/docs/TranscriptionList.md +18 -0
  104. data/docs/TranscriptionMetadata.md +24 -0
  105. data/docs/TransferAnswerCallback.md +46 -0
  106. data/docs/TransferCompleteCallback.md +52 -0
  107. data/docs/TransferDisconnectCallback.md +56 -0
  108. data/docs/UnauthorizedRequest.md +18 -0
  109. data/docs/UpdateCall.md +36 -0
  110. data/docs/UpdateCallRecording.md +18 -0
  111. data/docs/UpdateConference.md +34 -0
  112. data/docs/UpdateConferenceMember.md +22 -0
  113. data/docs/VerifyCodeRequest.md +24 -0
  114. data/docs/VerifyCodeResponse.md +18 -0
  115. data/docs/VoiceApiError.md +22 -0
  116. data/docs/VoiceCodeResponse.md +18 -0
  117. data/git_push.sh +57 -0
  118. data/lib/bandwidth-sdk/api/calls_api.rb +325 -0
  119. data/lib/bandwidth-sdk/api/conferences_api.rb +717 -0
  120. data/lib/bandwidth-sdk/api/media_api.rb +312 -0
  121. data/lib/bandwidth-sdk/api/messages_api.rb +198 -0
  122. data/lib/bandwidth-sdk/api/mfa_api.rb +244 -0
  123. data/lib/bandwidth-sdk/api/phone_number_lookup_api.rb +165 -0
  124. data/lib/bandwidth-sdk/api/recordings_api.rb +782 -0
  125. data/lib/bandwidth-sdk/api/statistics_api.rb +85 -0
  126. data/lib/bandwidth-sdk/api_client.rb +428 -0
  127. data/lib/bandwidth-sdk/api_error.rb +58 -0
  128. data/lib/bandwidth-sdk/configuration.rb +589 -0
  129. data/lib/bandwidth-sdk/models/account_statistics.rb +230 -0
  130. data/lib/bandwidth-sdk/models/answer_callback.rb +376 -0
  131. data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +397 -0
  132. data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +365 -0
  133. data/lib/bandwidth-sdk/models/bxml/bxml.rb +13 -0
  134. data/lib/bandwidth-sdk/models/bxml/nestable_verb.rb +50 -0
  135. data/lib/bandwidth-sdk/models/bxml/response.rb +13 -0
  136. data/lib/bandwidth-sdk/models/bxml/root.rb +47 -0
  137. data/lib/bandwidth-sdk/models/bxml/verb.rb +51 -0
  138. data/lib/bandwidth-sdk/models/bxml/verbs/bridge.rb +30 -0
  139. data/lib/bandwidth-sdk/models/bxml/verbs/conference.rb +31 -0
  140. data/lib/bandwidth-sdk/models/bxml/verbs/forward.rb +22 -0
  141. data/lib/bandwidth-sdk/models/bxml/verbs/gather.rb +44 -0
  142. data/lib/bandwidth-sdk/models/bxml/verbs/hangup.rb +12 -0
  143. data/lib/bandwidth-sdk/models/bxml/verbs/pause.rb +17 -0
  144. data/lib/bandwidth-sdk/models/bxml/verbs/pause_recording.rb +12 -0
  145. data/lib/bandwidth-sdk/models/bxml/verbs/phone_number.rb +28 -0
  146. data/lib/bandwidth-sdk/models/bxml/verbs/play_audio.rb +19 -0
  147. data/lib/bandwidth-sdk/models/bxml/verbs/record.rb +34 -0
  148. data/lib/bandwidth-sdk/models/bxml/verbs/redirect.rb +25 -0
  149. data/lib/bandwidth-sdk/models/bxml/verbs/resume_recording.rb +12 -0
  150. data/lib/bandwidth-sdk/models/bxml/verbs/ring.rb +18 -0
  151. data/lib/bandwidth-sdk/models/bxml/verbs/send_dtmf.rb +19 -0
  152. data/lib/bandwidth-sdk/models/bxml/verbs/sip_uri.rb +29 -0
  153. data/lib/bandwidth-sdk/models/bxml/verbs/speak_sentence.rb +27 -0
  154. data/lib/bandwidth-sdk/models/bxml/verbs/start_gather.rb +21 -0
  155. data/lib/bandwidth-sdk/models/bxml/verbs/start_recording.rb +26 -0
  156. data/lib/bandwidth-sdk/models/bxml/verbs/start_stream.rb +30 -0
  157. data/lib/bandwidth-sdk/models/bxml/verbs/stop_gather.rb +12 -0
  158. data/lib/bandwidth-sdk/models/bxml/verbs/stop_recording.rb +12 -0
  159. data/lib/bandwidth-sdk/models/bxml/verbs/stop_stream.rb +17 -0
  160. data/lib/bandwidth-sdk/models/bxml/verbs/stream_param.rb +18 -0
  161. data/lib/bandwidth-sdk/models/bxml/verbs/tag.rb +13 -0
  162. data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +36 -0
  163. data/lib/bandwidth-sdk/models/call_direction_enum.rb +40 -0
  164. data/lib/bandwidth-sdk/models/call_recording_metadata.rb +411 -0
  165. data/lib/bandwidth-sdk/models/call_state.rb +423 -0
  166. data/lib/bandwidth-sdk/models/call_state_enum.rb +40 -0
  167. data/lib/bandwidth-sdk/models/callback_method_enum.rb +40 -0
  168. data/lib/bandwidth-sdk/models/code_request.rb +427 -0
  169. data/lib/bandwidth-sdk/models/conference.rb +320 -0
  170. data/lib/bandwidth-sdk/models/conference_completed_callback.rb +262 -0
  171. data/lib/bandwidth-sdk/models/conference_created_callback.rb +262 -0
  172. data/lib/bandwidth-sdk/models/conference_member.rb +273 -0
  173. data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +292 -0
  174. data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +292 -0
  175. data/lib/bandwidth-sdk/models/conference_recording_available_callback.rb +374 -0
  176. data/lib/bandwidth-sdk/models/conference_recording_metadata.rb +342 -0
  177. data/lib/bandwidth-sdk/models/conference_redirect_callback.rb +262 -0
  178. data/lib/bandwidth-sdk/models/conference_state_enum.rb +40 -0
  179. data/lib/bandwidth-sdk/models/create_call.rb +651 -0
  180. data/lib/bandwidth-sdk/models/create_call_response.rb +552 -0
  181. data/lib/bandwidth-sdk/models/create_lookup_response.rb +252 -0
  182. data/lib/bandwidth-sdk/models/create_message_request_error.rb +249 -0
  183. data/lib/bandwidth-sdk/models/deferred_result.rb +228 -0
  184. data/lib/bandwidth-sdk/models/disconenct_callback.rb +407 -0
  185. data/lib/bandwidth-sdk/models/disconnect_callback.rb +407 -0
  186. data/lib/bandwidth-sdk/models/diversion.rb +280 -0
  187. data/lib/bandwidth-sdk/models/dtmf_callback.rb +405 -0
  188. data/lib/bandwidth-sdk/models/field_error.rb +230 -0
  189. data/lib/bandwidth-sdk/models/file_format_enum.rb +40 -0
  190. data/lib/bandwidth-sdk/models/gather_callback.rb +415 -0
  191. data/lib/bandwidth-sdk/models/inbound_message_callback.rb +281 -0
  192. data/lib/bandwidth-sdk/models/inbound_message_callback_message.rb +399 -0
  193. data/lib/bandwidth-sdk/models/initiate_callback.rb +350 -0
  194. data/lib/bandwidth-sdk/models/list_message_direction_enum.rb +40 -0
  195. data/lib/bandwidth-sdk/models/list_message_item.rb +394 -0
  196. data/lib/bandwidth-sdk/models/lookup_request.rb +227 -0
  197. data/lib/bandwidth-sdk/models/lookup_result.rb +301 -0
  198. data/lib/bandwidth-sdk/models/lookup_status.rb +276 -0
  199. data/lib/bandwidth-sdk/models/lookup_status_enum.rb +42 -0
  200. data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +376 -0
  201. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +500 -0
  202. data/lib/bandwidth-sdk/models/machine_detection_mode_enum.rb +40 -0
  203. data/lib/bandwidth-sdk/models/media.rb +237 -0
  204. data/lib/bandwidth-sdk/models/message.rb +376 -0
  205. data/lib/bandwidth-sdk/models/message_delivered_callback.rb +281 -0
  206. data/lib/bandwidth-sdk/models/message_delivered_callback_message.rb +404 -0
  207. data/lib/bandwidth-sdk/models/message_direction_enum.rb +40 -0
  208. data/lib/bandwidth-sdk/models/message_failed_callback.rb +295 -0
  209. data/lib/bandwidth-sdk/models/message_failed_callback_message.rb +409 -0
  210. data/lib/bandwidth-sdk/models/message_request.rb +355 -0
  211. data/lib/bandwidth-sdk/models/message_sending_callback.rb +281 -0
  212. data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +409 -0
  213. data/lib/bandwidth-sdk/models/message_status_enum.rb +46 -0
  214. data/lib/bandwidth-sdk/models/message_type_enum.rb +40 -0
  215. data/lib/bandwidth-sdk/models/messages_list.rb +240 -0
  216. data/lib/bandwidth-sdk/models/messaging_code_response.rb +220 -0
  217. data/lib/bandwidth-sdk/models/messaging_request_error.rb +238 -0
  218. data/lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb +220 -0
  219. data/lib/bandwidth-sdk/models/mfa_request_error.rb +230 -0
  220. data/lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb +220 -0
  221. data/lib/bandwidth-sdk/models/page_info.rb +250 -0
  222. data/lib/bandwidth-sdk/models/priority_enum.rb +40 -0
  223. data/lib/bandwidth-sdk/models/recording_available_callback.rb +454 -0
  224. data/lib/bandwidth-sdk/models/recording_complete_callback.rb +455 -0
  225. data/lib/bandwidth-sdk/models/recording_state_enum.rb +40 -0
  226. data/lib/bandwidth-sdk/models/redirect_callback.rb +395 -0
  227. data/lib/bandwidth-sdk/models/redirect_method_enum.rb +40 -0
  228. data/lib/bandwidth-sdk/models/stir_shaken.rb +240 -0
  229. data/lib/bandwidth-sdk/models/tag.rb +228 -0
  230. data/lib/bandwidth-sdk/models/tn_lookup_request_error.rb +220 -0
  231. data/lib/bandwidth-sdk/models/transcribe_recording.rb +354 -0
  232. data/lib/bandwidth-sdk/models/transcription.rb +230 -0
  233. data/lib/bandwidth-sdk/models/transcription_available_callback.rb +443 -0
  234. data/lib/bandwidth-sdk/models/transcription_list.rb +221 -0
  235. data/lib/bandwidth-sdk/models/transcription_metadata.rb +251 -0
  236. data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +385 -0
  237. data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +417 -0
  238. data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +437 -0
  239. data/lib/bandwidth-sdk/models/update_call.rb +411 -0
  240. data/lib/bandwidth-sdk/models/update_call_recording.rb +246 -0
  241. data/lib/bandwidth-sdk/models/update_conference.rb +394 -0
  242. data/lib/bandwidth-sdk/models/update_conference_member.rb +243 -0
  243. data/lib/bandwidth-sdk/models/verify_code_request.rb +342 -0
  244. data/lib/bandwidth-sdk/models/verify_code_response.rb +220 -0
  245. data/lib/bandwidth-sdk/models/voice_api_error.rb +238 -0
  246. data/lib/bandwidth-sdk/models/voice_code_response.rb +220 -0
  247. data/lib/bandwidth-sdk/version.rb +15 -0
  248. data/lib/bandwidth-sdk.rb +166 -0
  249. data/openapi-config.yml +11 -0
  250. data/ruby-notes.md +15 -0
  251. data/spec/call_utils.rb +74 -0
  252. data/spec/fixtures/ruby_cat.jpeg +0 -0
  253. data/spec/integration/calls_api_integration_spec.rb +181 -0
  254. data/spec/integration/conferences_api_integration_spec.rb +163 -0
  255. data/spec/integration/media_api_integration_spec.rb +86 -0
  256. data/spec/integration/messages_api_integration_spec.rb +125 -0
  257. data/spec/integration/mfa_api_integration_spec.rb +109 -0
  258. data/spec/integration/phone_number_lookup_api_integration_spec.rb +92 -0
  259. data/spec/integration/recordings_api_integration_spec.rb +219 -0
  260. data/spec/integration/statistics_api_integration_spec.rb +57 -0
  261. data/spec/spec_helper.rb +154 -0
  262. data/spec/unit/api/calls_api_spec.rb +89 -0
  263. data/spec/unit/api/conferences_api_spec.rb +163 -0
  264. data/spec/unit/api/media_api_spec.rb +90 -0
  265. data/spec/unit/api/messages_api_spec.rb +73 -0
  266. data/spec/unit/api/mfa_api_spec.rb +74 -0
  267. data/spec/unit/api/phone_number_lookup_api_spec.rb +61 -0
  268. data/spec/unit/api/recordings_api_spec.rb +177 -0
  269. data/spec/unit/api/statistics_api_spec.rb +47 -0
  270. data/spec/unit/models/account_statistics_spec.rb +40 -0
  271. data/spec/unit/models/answer_callback_spec.rb +112 -0
  272. data/spec/unit/models/bridge_complete_callback_spec.rb +124 -0
  273. data/spec/unit/models/bridge_target_complete_callback_spec.rb +106 -0
  274. data/spec/unit/models/bxml/bxml_spec.rb +18 -0
  275. data/spec/unit/models/bxml/nestable_verb_spec.rb +13 -0
  276. data/spec/unit/models/bxml/response_spec.rb +18 -0
  277. data/spec/unit/models/bxml/verb_spec.rb +28 -0
  278. data/spec/unit/models/bxml/verbs/bridge_spec.rb +60 -0
  279. data/spec/unit/models/bxml/verbs/conference_spec.rb +60 -0
  280. data/spec/unit/models/bxml/verbs/forward_spec.rb +46 -0
  281. data/spec/unit/models/bxml/verbs/gather_spec.rb +88 -0
  282. data/spec/unit/models/bxml/verbs/hangup_spec.rb +18 -0
  283. data/spec/unit/models/bxml/verbs/pause_recording_spec.rb +18 -0
  284. data/spec/unit/models/bxml/verbs/pause_spec.rb +36 -0
  285. data/spec/unit/models/bxml/verbs/phone_number_spec.rb +56 -0
  286. data/spec/unit/models/bxml/verbs/play_audio_spec.rb +38 -0
  287. data/spec/unit/models/bxml/verbs/record_spec.rb +70 -0
  288. data/spec/unit/models/bxml/verbs/redirect_spec.rb +52 -0
  289. data/spec/unit/models/bxml/verbs/resume_recording_spec.rb +18 -0
  290. data/spec/unit/models/bxml/verbs/ring_spec.rb +38 -0
  291. data/spec/unit/models/bxml/verbs/send_dtmf_spec.rb +38 -0
  292. data/spec/unit/models/bxml/verbs/sip_uri_spec.rb +58 -0
  293. data/spec/unit/models/bxml/verbs/speak_sentence_spec.rb +40 -0
  294. data/spec/unit/models/bxml/verbs/start_gather_spec.rb +44 -0
  295. data/spec/unit/models/bxml/verbs/start_recording_spec.rb +54 -0
  296. data/spec/unit/models/bxml/verbs/start_stream_spec.rb +74 -0
  297. data/spec/unit/models/bxml/verbs/stop_gather_spec.rb +18 -0
  298. data/spec/unit/models/bxml/verbs/stop_recording_spec.rb +18 -0
  299. data/spec/unit/models/bxml/verbs/stop_stream_spec.rb +36 -0
  300. data/spec/unit/models/bxml/verbs/stream_param_spec.rb +38 -0
  301. data/spec/unit/models/bxml/verbs/tag_spec.rb +18 -0
  302. data/spec/unit/models/bxml/verbs/transfer_spec.rb +86 -0
  303. data/spec/unit/models/call_direction_enum_spec.rb +28 -0
  304. data/spec/unit/models/call_recording_metadata_spec.rb +136 -0
  305. data/spec/unit/models/call_state_enum_spec.rb +28 -0
  306. data/spec/unit/models/call_state_spec.rb +136 -0
  307. data/spec/unit/models/callback_method_enum_spec.rb +28 -0
  308. data/spec/unit/models/code_request_spec.rb +64 -0
  309. data/spec/unit/models/conference_completed_callback_spec.rb +58 -0
  310. data/spec/unit/models/conference_created_callback_spec.rb +58 -0
  311. data/spec/unit/models/conference_member_exit_callback_spec.rb +76 -0
  312. data/spec/unit/models/conference_member_join_callback_spec.rb +76 -0
  313. data/spec/unit/models/conference_member_spec.rb +64 -0
  314. data/spec/unit/models/conference_recording_available_callback_spec.rb +112 -0
  315. data/spec/unit/models/conference_recording_metadata_spec.rb +94 -0
  316. data/spec/unit/models/conference_redirect_callback_spec.rb +58 -0
  317. data/spec/unit/models/conference_spec.rb +76 -0
  318. data/spec/unit/models/conference_state_enum_spec.rb +28 -0
  319. data/spec/unit/models/create_call_response_spec.rb +154 -0
  320. data/spec/unit/models/create_call_spec.rb +142 -0
  321. data/spec/unit/models/create_lookup_response_spec.rb +40 -0
  322. data/spec/unit/models/create_message_request_error_spec.rb +46 -0
  323. data/spec/unit/models/deferred_result_spec.rb +40 -0
  324. data/spec/unit/models/disconnect_callback_spec.rb +130 -0
  325. data/spec/unit/models/diversion_spec.rb +70 -0
  326. data/spec/unit/models/dtmf_callback_spec.rb +130 -0
  327. data/spec/unit/models/field_error_spec.rb +40 -0
  328. data/spec/unit/models/file_format_enum_spec.rb +28 -0
  329. data/spec/unit/models/gather_callback_spec.rb +136 -0
  330. data/spec/unit/models/inbound_message_callback_message_spec.rb +100 -0
  331. data/spec/unit/models/inbound_message_callback_spec.rb +58 -0
  332. data/spec/unit/models/initiate_callback_spec.rb +100 -0
  333. data/spec/unit/models/list_message_direction_enum_spec.rb +28 -0
  334. data/spec/unit/models/list_message_item_spec.rb +124 -0
  335. data/spec/unit/models/lookup_request_spec.rb +34 -0
  336. data/spec/unit/models/lookup_result_spec.rb +82 -0
  337. data/spec/unit/models/lookup_status_enum_spec.rb +28 -0
  338. data/spec/unit/models/lookup_status_spec.rb +52 -0
  339. data/spec/unit/models/machine_detection_complete_callback_spec.rb +112 -0
  340. data/spec/unit/models/machine_detection_configuration_spec.rb +118 -0
  341. data/spec/unit/models/machine_detection_mode_enum_spec.rb +28 -0
  342. data/spec/unit/models/media_spec.rb +46 -0
  343. data/spec/unit/models/message_delivered_callback_message_spec.rb +100 -0
  344. data/spec/unit/models/message_delivered_callback_spec.rb +58 -0
  345. data/spec/unit/models/message_direction_enum_spec.rb +28 -0
  346. data/spec/unit/models/message_failed_callback_message_spec.rb +100 -0
  347. data/spec/unit/models/message_failed_callback_spec.rb +64 -0
  348. data/spec/unit/models/message_request_spec.rb +76 -0
  349. data/spec/unit/models/message_sending_callback_message_spec.rb +100 -0
  350. data/spec/unit/models/message_sending_callback_spec.rb +58 -0
  351. data/spec/unit/models/message_spec.rb +106 -0
  352. data/spec/unit/models/message_status_enum_spec.rb +28 -0
  353. data/spec/unit/models/message_type_enum_spec.rb +28 -0
  354. data/spec/unit/models/messages_list_spec.rb +46 -0
  355. data/spec/unit/models/messaging_code_response_spec.rb +34 -0
  356. data/spec/unit/models/messaging_request_error_spec.rb +40 -0
  357. data/spec/unit/models/mfa_forbidden_request_error_spec.rb +34 -0
  358. data/spec/unit/models/mfa_request_error_spec.rb +40 -0
  359. data/spec/unit/models/mfa_unauthorized_request_error_spec.rb +34 -0
  360. data/spec/unit/models/page_info_spec.rb +52 -0
  361. data/spec/unit/models/priority_enum_spec.rb +28 -0
  362. data/spec/unit/models/recording_available_callback_spec.rb +160 -0
  363. data/spec/unit/models/recording_complete_callback_spec.rb +160 -0
  364. data/spec/unit/models/recording_state_enum_spec.rb +28 -0
  365. data/spec/unit/models/redirect_callback_spec.rb +124 -0
  366. data/spec/unit/models/redirect_method_enum_spec.rb +28 -0
  367. data/spec/unit/models/stir_shaken_spec.rb +46 -0
  368. data/spec/unit/models/tag_spec.rb +40 -0
  369. data/spec/unit/models/tn_lookup_request_error_spec.rb +34 -0
  370. data/spec/unit/models/transcribe_recording_spec.rb +64 -0
  371. data/spec/unit/models/transcription_available_callback_spec.rb +154 -0
  372. data/spec/unit/models/transcription_list_spec.rb +34 -0
  373. data/spec/unit/models/transcription_metadata_spec.rb +52 -0
  374. data/spec/unit/models/transcription_spec.rb +40 -0
  375. data/spec/unit/models/transfer_answer_callback_spec.rb +118 -0
  376. data/spec/unit/models/transfer_complete_callback_spec.rb +136 -0
  377. data/spec/unit/models/transfer_disconnect_callback_spec.rb +148 -0
  378. data/spec/unit/models/update_call_recording_spec.rb +34 -0
  379. data/spec/unit/models/update_call_spec.rb +88 -0
  380. data/spec/unit/models/update_conference_member_spec.rb +46 -0
  381. data/spec/unit/models/update_conference_spec.rb +82 -0
  382. data/spec/unit/models/verify_code_request_spec.rb +52 -0
  383. data/spec/unit/models/verify_code_response_spec.rb +34 -0
  384. data/spec/unit/models/voice_api_error_spec.rb +46 -0
  385. data/spec/unit/models/voice_code_response_spec.rb +34 -0
  386. metadata +543 -248
  387. data/LICENSE +0 -28
  388. data/lib/bandwidth/api_helper.rb +0 -280
  389. data/lib/bandwidth/client.rb +0 -75
  390. data/lib/bandwidth/configuration.rb +0 -209
  391. data/lib/bandwidth/exceptions/api_exception.rb +0 -20
  392. data/lib/bandwidth/http/api_response.rb +0 -38
  393. data/lib/bandwidth/http/auth/messaging_basic_auth.rb +0 -22
  394. data/lib/bandwidth/http/auth/multi_factor_auth_basic_auth.rb +0 -22
  395. data/lib/bandwidth/http/auth/phone_number_lookup_basic_auth.rb +0 -22
  396. data/lib/bandwidth/http/auth/voice_basic_auth.rb +0 -22
  397. data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +0 -22
  398. data/lib/bandwidth/http/faraday_client.rb +0 -70
  399. data/lib/bandwidth/http/http_call_back.rb +0 -24
  400. data/lib/bandwidth/http/http_client.rb +0 -104
  401. data/lib/bandwidth/http/http_method_enum.rb +0 -13
  402. data/lib/bandwidth/http/http_request.rb +0 -50
  403. data/lib/bandwidth/http/http_response.rb +0 -29
  404. data/lib/bandwidth/messaging_lib/messaging/client.rb +0 -60
  405. data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +0 -491
  406. data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +0 -47
  407. data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +0 -37
  408. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +0 -100
  409. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +0 -174
  410. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +0 -203
  411. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +0 -79
  412. data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +0 -60
  413. data/lib/bandwidth/messaging_lib/messaging/models/media.rb +0 -70
  414. data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +0 -122
  415. data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +0 -82
  416. data/lib/bandwidth/messaging_lib/messaging/models/priority_enum.rb +0 -19
  417. data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +0 -60
  418. data/lib/bandwidth/messaging_lib/messaging.rb +0 -25
  419. data/lib/bandwidth/models/base_model.rb +0 -58
  420. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/client.rb +0 -60
  421. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/base_controller.rb +0 -47
  422. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/mfa_controller.rb +0 -214
  423. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/error_with_request_exception.rb +0 -37
  424. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/forbidden_request_exception.rb +0 -32
  425. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/unauthorized_request_exception.rb +0 -32
  426. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_code_request_schema.rb +0 -103
  427. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_messaging_response.rb +0 -50
  428. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_code_response.rb +0 -50
  429. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_request_schema.rb +0 -94
  430. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_voice_response.rb +0 -50
  431. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +0 -23
  432. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/client.rb +0 -60
  433. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +0 -1553
  434. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +0 -47
  435. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +0 -32
  436. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +0 -50
  437. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +0 -61
  438. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +0 -95
  439. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +0 -132
  440. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup.rb +0 -20
  441. data/lib/bandwidth/utilities/date_time_helper.rb +0 -156
  442. data/lib/bandwidth/utilities/file_wrapper.rb +0 -16
  443. data/lib/bandwidth/voice_lib/bxml/bxml.rb +0 -36
  444. data/lib/bandwidth/voice_lib/bxml/response.rb +0 -39
  445. data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +0 -28
  446. data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +0 -32
  447. data/lib/bandwidth/voice_lib/bxml/verbs/forward.rb +0 -18
  448. data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +0 -49
  449. data/lib/bandwidth/voice_lib/bxml/verbs/hangup.rb +0 -14
  450. data/lib/bandwidth/voice_lib/bxml/verbs/pause.rb +0 -15
  451. data/lib/bandwidth/voice_lib/bxml/verbs/pause_recording.rb +0 -14
  452. data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +0 -24
  453. data/lib/bandwidth/voice_lib/bxml/verbs/play_audio.rb +0 -17
  454. data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +0 -33
  455. data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +0 -24
  456. data/lib/bandwidth/voice_lib/bxml/verbs/resume_recording.rb +0 -14
  457. data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +0 -16
  458. data/lib/bandwidth/voice_lib/bxml/verbs/send_dtmf.rb +0 -16
  459. data/lib/bandwidth/voice_lib/bxml/verbs/sip_uri.rb +0 -25
  460. data/lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb +0 -18
  461. data/lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb +0 -20
  462. data/lib/bandwidth/voice_lib/bxml/verbs/start_recording.rb +0 -25
  463. data/lib/bandwidth/voice_lib/bxml/verbs/start_stream.rb +0 -41
  464. data/lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb +0 -14
  465. data/lib/bandwidth/voice_lib/bxml/verbs/stop_recording.rb +0 -14
  466. data/lib/bandwidth/voice_lib/bxml/verbs/stop_stream.rb +0 -16
  467. data/lib/bandwidth/voice_lib/bxml/verbs/stream_param.rb +0 -17
  468. data/lib/bandwidth/voice_lib/bxml/verbs/tag.rb +0 -13
  469. data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +0 -48
  470. data/lib/bandwidth/voice_lib/bxml/verbs/xml_verb.rb +0 -26
  471. data/lib/bandwidth/voice_lib/voice/client.rb +0 -60
  472. data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +0 -1820
  473. data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +0 -47
  474. data/lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb +0 -42
  475. data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +0 -17
  476. data/lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb +0 -17
  477. data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +0 -343
  478. data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +0 -250
  479. data/lib/bandwidth/voice_lib/voice/models/call_state.rb +0 -301
  480. data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +0 -17
  481. data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +0 -211
  482. data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +0 -17
  483. data/lib/bandwidth/voice_lib/voice/models/conference_member_state.rb +0 -103
  484. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +0 -173
  485. data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +0 -153
  486. data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +0 -236
  487. data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +0 -266
  488. data/lib/bandwidth/voice_lib/voice/models/direction_enum.rb +0 -17
  489. data/lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb +0 -17
  490. data/lib/bandwidth/voice_lib/voice/models/diversion.rb +0 -80
  491. data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +0 -17
  492. data/lib/bandwidth/voice_lib/voice/models/file_format_enum.rb +0 -17
  493. data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +0 -231
  494. data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +0 -20
  495. data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb +0 -48
  496. data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +0 -156
  497. data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +0 -144
  498. data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +0 -17
  499. data/lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb +0 -17
  500. data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +0 -20
  501. data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +0 -17
  502. data/lib/bandwidth/voice_lib/voice/models/status_enum.rb +0 -17
  503. data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +0 -108
  504. data/lib/bandwidth/voice_lib/voice/models/transcript.rb +0 -60
  505. data/lib/bandwidth/voice_lib/voice/models/transcription.rb +0 -80
  506. data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +0 -89
  507. data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +0 -59
  508. data/lib/bandwidth/voice_lib/voice.rb +0 -48
  509. data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +0 -18
  510. data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +0 -60
  511. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +0 -703
  512. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +0 -47
  513. data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +0 -37
  514. data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +0 -62
  515. data/lib/bandwidth/web_rtc_lib/web_rtc/models/device_api_version_enum.rb +0 -17
  516. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +0 -115
  517. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +0 -48
  518. data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +0 -17
  519. data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +0 -60
  520. data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +0 -71
  521. data/lib/bandwidth/web_rtc_lib/web_rtc.rb +0 -22
  522. data/lib/bandwidth.rb +0 -72
  523. data/test/controllers/controller_test_base.rb +0 -21
  524. data/test/http_response_catcher.rb +0 -19
  525. data/test/integration/test_integration.rb +0 -767
  526. 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