freeclimb 4.9.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +49 -27
  5. data/README.md +44 -51
  6. data/docs/AddToConferenceNotificationWebhook.md +42 -0
  7. data/docs/AddToQueueNotificationWebhook.md +34 -0
  8. data/docs/BargeInReason.md +18 -0
  9. data/docs/CallControlWebhook.md +26 -0
  10. data/docs/CallEndedReason.md +38 -0
  11. data/docs/CallStatusWebhook.md +36 -0
  12. data/docs/CompletionResult.md +1 -1
  13. data/docs/CompletionResultStatus.md +17 -0
  14. data/docs/ConferenceRecordingStatusWebhook.md +42 -0
  15. data/docs/ConferenceResult.md +1 -1
  16. data/docs/ConferenceStatusWebhook.md +42 -0
  17. data/docs/CreateConference.md +1 -1
  18. data/docs/CreateConferenceRequest.md +1 -1
  19. data/docs/CreateConferenceWebhook.md +42 -0
  20. data/docs/DequeueWebhook.md +38 -0
  21. data/docs/GetDigitsReason.md +19 -0
  22. data/docs/GetDigitsWebhook.md +40 -0
  23. data/docs/GetSpeechWebhook.md +50 -0
  24. data/docs/InboundCallWebhook.md +36 -0
  25. data/docs/LeaveConferenceWebhook.md +34 -0
  26. data/docs/MachineDetectedWebhook.md +38 -0
  27. data/docs/MachineType.md +2 -2
  28. data/docs/MessageDeliveryWebhook.md +36 -0
  29. data/docs/MessageResult.md +7 -1
  30. data/docs/MessageStatusWebhook.md +38 -0
  31. data/docs/OutDialApiConnectWebhook.md +36 -0
  32. data/docs/OutDialConnectWebhook.md +36 -0
  33. data/docs/OutDialStartWebhook.md +38 -0
  34. data/docs/QueueWaitWebhook.md +40 -0
  35. data/docs/RecordWebhook.md +50 -0
  36. data/docs/RedirectWebhook.md +36 -0
  37. data/docs/RemoveFromQueueNotificationWebhook.md +38 -0
  38. data/docs/SMSTenDLCBrand.md +6 -6
  39. data/docs/SMSTenDLCBrandAltBusinessIdType.md +19 -0
  40. data/docs/SMSTenDLCBrandEntityType.md +20 -0
  41. data/docs/SMSTenDLCBrandIdentityStatus.md +19 -0
  42. data/docs/SMSTenDLCBrandRelationship.md +20 -0
  43. data/docs/SMSTenDLCBrandStockExchange.md +42 -0
  44. data/docs/SMSTenDLCCampaign.md +1 -1
  45. data/docs/SMSTenDLCCampaignStatus.md +17 -0
  46. data/docs/SMSTenDLCPartnerCampaign.md +1 -1
  47. data/docs/SMSTenDLCPartnerCampaignStatus.md +17 -0
  48. data/docs/SMSTollFreeCampaign.md +1 -1
  49. data/docs/SMSTollFreeCampaignRegistrationStatus.md +20 -0
  50. data/docs/TFNCampaign.md +34 -0
  51. data/docs/TranscribeReason.md +20 -0
  52. data/docs/TranscribeTermReason.md +17 -0
  53. data/docs/TranscribeUtterance.md +2 -2
  54. data/docs/TranscribeWebhook.md +62 -0
  55. data/docs/UpdateConferenceRequest.md +1 -1
  56. data/docs/Webhook.md +18 -0
  57. data/freeclimb.gemspec +1 -1
  58. data/lib/freeclimb/api/default_api.rb +18 -18
  59. data/lib/freeclimb/api_client.rb +1 -1
  60. data/lib/freeclimb/api_error.rb +1 -1
  61. data/lib/freeclimb/configuration.rb +2 -4
  62. data/lib/freeclimb/models/account_request.rb +1 -3
  63. data/lib/freeclimb/models/account_result.rb +23 -4
  64. data/lib/freeclimb/models/account_status.rb +1 -1
  65. data/lib/freeclimb/models/account_type.rb +1 -1
  66. data/lib/freeclimb/models/add_to_conference.rb +1 -4
  67. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +384 -0
  68. data/lib/freeclimb/models/{conference_participant_result_all_of.rb → add_to_queue_notification_webhook.rb} +112 -59
  69. data/lib/freeclimb/models/answered_by.rb +1 -1
  70. data/lib/freeclimb/models/application_list.rb +1 -4
  71. data/lib/freeclimb/models/application_request.rb +1 -3
  72. data/lib/freeclimb/models/application_result.rb +1 -4
  73. data/lib/freeclimb/models/available_number.rb +1 -3
  74. data/lib/freeclimb/models/available_number_list.rb +1 -4
  75. data/lib/freeclimb/models/barge_in_reason.rb +38 -0
  76. data/lib/freeclimb/models/buy_incoming_number_request.rb +1 -3
  77. data/lib/freeclimb/models/{recording_result_all_of.rb → call_control_webhook.rb} +57 -45
  78. data/lib/freeclimb/models/call_direction.rb +1 -1
  79. data/lib/freeclimb/models/call_ended_reason.rb +58 -0
  80. data/lib/freeclimb/models/call_list.rb +1 -4
  81. data/lib/freeclimb/models/call_result.rb +23 -4
  82. data/lib/freeclimb/models/call_status.rb +1 -1
  83. data/lib/freeclimb/models/call_status_webhook.rb +354 -0
  84. data/lib/freeclimb/models/capabilities.rb +1 -3
  85. data/lib/freeclimb/models/completion_request.rb +1 -3
  86. data/lib/freeclimb/models/completion_result.rb +2 -15
  87. data/lib/freeclimb/models/completion_result_status.rb +37 -0
  88. data/lib/freeclimb/models/conference_list.rb +1 -4
  89. data/lib/freeclimb/models/conference_participant_list.rb +1 -4
  90. data/lib/freeclimb/models/conference_participant_result.rb +1 -4
  91. data/lib/freeclimb/models/conference_recording_status_webhook.rb +384 -0
  92. data/lib/freeclimb/models/conference_result.rb +23 -6
  93. data/lib/freeclimb/models/conference_status.rb +1 -1
  94. data/lib/freeclimb/models/conference_status_webhook.rb +387 -0
  95. data/lib/freeclimb/models/create_conference.rb +23 -6
  96. data/lib/freeclimb/models/create_conference_request.rb +23 -5
  97. data/lib/freeclimb/models/create_conference_webhook.rb +387 -0
  98. data/lib/freeclimb/models/create_web_rtc_token.rb +1 -3
  99. data/lib/freeclimb/models/dequeue.rb +3 -7
  100. data/lib/freeclimb/models/dequeue_webhook.rb +365 -0
  101. data/lib/freeclimb/models/enqueue.rb +1 -4
  102. data/lib/freeclimb/models/filter_logs_request.rb +1 -3
  103. data/lib/freeclimb/models/get_digits.rb +1 -4
  104. data/lib/freeclimb/models/get_digits_reason.rb +39 -0
  105. data/lib/freeclimb/models/get_digits_webhook.rb +373 -0
  106. data/lib/freeclimb/models/get_speech.rb +23 -4
  107. data/lib/freeclimb/models/get_speech_reason.rb +1 -1
  108. data/lib/freeclimb/models/get_speech_webhook.rb +423 -0
  109. data/lib/freeclimb/models/grammar_file_built_in.rb +1 -1
  110. data/lib/freeclimb/models/grammar_type.rb +1 -1
  111. data/lib/freeclimb/models/hangup.rb +1 -4
  112. data/lib/freeclimb/models/if_machine.rb +1 -1
  113. data/lib/freeclimb/models/inbound_call_webhook.rb +355 -0
  114. data/lib/freeclimb/models/incoming_number_list.rb +1 -4
  115. data/lib/freeclimb/models/incoming_number_request.rb +1 -3
  116. data/lib/freeclimb/models/incoming_number_result.rb +1 -4
  117. data/lib/freeclimb/models/language.rb +1 -1
  118. data/lib/freeclimb/models/{conference_result_all_of.rb → leave_conference_webhook.rb} +110 -89
  119. data/lib/freeclimb/models/log_level.rb +1 -1
  120. data/lib/freeclimb/models/log_list.rb +1 -4
  121. data/lib/freeclimb/models/log_result.rb +23 -3
  122. data/lib/freeclimb/models/{call_result_all_of.rb → machine_detected_webhook.rb} +96 -119
  123. data/lib/freeclimb/models/machine_type.rb +3 -3
  124. data/lib/freeclimb/models/make_call_request.rb +1 -3
  125. data/lib/freeclimb/models/{message_result_all_of.rb → message_delivery_webhook.rb} +71 -87
  126. data/lib/freeclimb/models/message_direction.rb +1 -1
  127. data/lib/freeclimb/models/message_request.rb +1 -4
  128. data/lib/freeclimb/models/message_result.rb +59 -9
  129. data/lib/freeclimb/models/message_status.rb +1 -1
  130. data/lib/freeclimb/models/{incoming_number_result_all_of.rb → message_status_webhook.rb} +117 -107
  131. data/lib/freeclimb/models/messages_list.rb +1 -4
  132. data/lib/freeclimb/models/mutable_resource_model.rb +1 -3
  133. data/lib/freeclimb/models/out_dial.rb +23 -4
  134. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +355 -0
  135. data/lib/freeclimb/models/out_dial_connect_webhook.rb +355 -0
  136. data/lib/freeclimb/models/out_dial_start_webhook.rb +366 -0
  137. data/lib/freeclimb/models/pagination_model.rb +1 -3
  138. data/lib/freeclimb/models/park.rb +1 -4
  139. data/lib/freeclimb/models/pause.rb +1 -4
  140. data/lib/freeclimb/models/percl_command.rb +3 -5
  141. data/lib/freeclimb/models/percl_script.rb +2 -4
  142. data/lib/freeclimb/models/play.rb +2 -5
  143. data/lib/freeclimb/models/play_beep.rb +1 -1
  144. data/lib/freeclimb/models/play_early_media.rb +2 -5
  145. data/lib/freeclimb/models/queue_list.rb +2 -5
  146. data/lib/freeclimb/models/queue_member.rb +1 -3
  147. data/lib/freeclimb/models/queue_member_list.rb +2 -5
  148. data/lib/freeclimb/models/queue_request.rb +1 -3
  149. data/lib/freeclimb/models/queue_result.rb +2 -5
  150. data/lib/freeclimb/models/queue_result_status.rb +1 -1
  151. data/lib/freeclimb/models/queue_wait_webhook.rb +375 -0
  152. data/lib/freeclimb/models/record_utterance.rb +2 -5
  153. data/lib/freeclimb/models/record_utterance_term_reason.rb +1 -1
  154. data/lib/freeclimb/models/record_webhook.rb +424 -0
  155. data/lib/freeclimb/models/recording_list.rb +2 -5
  156. data/lib/freeclimb/models/recording_result.rb +2 -5
  157. data/lib/freeclimb/models/redirect.rb +2 -5
  158. data/lib/freeclimb/models/redirect_webhook.rb +355 -0
  159. data/lib/freeclimb/models/reject.rb +2 -5
  160. data/lib/freeclimb/models/remove_from_conference.rb +3 -7
  161. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +364 -0
  162. data/lib/freeclimb/models/request_type.rb +1 -1
  163. data/lib/freeclimb/models/say.rb +2 -5
  164. data/lib/freeclimb/models/send_digits.rb +2 -5
  165. data/lib/freeclimb/models/set_dtmf_pass_through.rb +2 -5
  166. data/lib/freeclimb/models/set_listen.rb +2 -5
  167. data/lib/freeclimb/models/set_talk.rb +2 -5
  168. data/lib/freeclimb/models/sms.rb +2 -5
  169. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +6 -67
  170. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +39 -0
  171. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +40 -0
  172. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +39 -0
  173. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +40 -0
  174. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +62 -0
  175. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +2 -5
  176. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +2 -15
  177. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +37 -0
  178. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +2 -5
  179. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +2 -15
  180. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +1 -3
  181. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +37 -0
  182. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +2 -5
  183. data/lib/freeclimb/models/sms_toll_free_campaign.rb +2 -15
  184. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +40 -0
  185. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +2 -5
  186. data/lib/freeclimb/models/start_record_call.rb +3 -7
  187. data/lib/freeclimb/models/terminate_conference.rb +3 -7
  188. data/lib/freeclimb/models/tfn.rb +1 -3
  189. data/lib/freeclimb/models/{application_result_all_of.rb → tfn_campaign.rb} +129 -72
  190. data/lib/freeclimb/models/transcribe_reason.rb +40 -0
  191. data/lib/freeclimb/models/transcribe_term_reason.rb +37 -0
  192. data/lib/freeclimb/models/transcribe_utterance.rb +4 -7
  193. data/lib/freeclimb/models/{transcribe_utterance_all_of_record.rb → transcribe_utterance_record.rb} +8 -10
  194. data/lib/freeclimb/models/transcribe_webhook.rb +481 -0
  195. data/lib/freeclimb/models/unpark.rb +3 -7
  196. data/lib/freeclimb/models/update_call_request.rb +23 -3
  197. data/lib/freeclimb/models/update_call_request_status.rb +1 -1
  198. data/lib/freeclimb/models/update_conference_participant_request.rb +1 -3
  199. data/lib/freeclimb/models/update_conference_request.rb +23 -5
  200. data/lib/freeclimb/models/update_conference_request_status.rb +1 -1
  201. data/lib/freeclimb/models/{call_list_all_of.rb → webhook.rb} +18 -17
  202. data/lib/freeclimb/utils/request_verifier.rb +51 -51
  203. data/lib/freeclimb/utils/signature_information.rb +34 -34
  204. data/lib/freeclimb/version.rb +2 -2
  205. data/lib/freeclimb.rb +42 -49
  206. data/openapi.json +1756 -648
  207. data/package.json +3 -1
  208. data/spec/api/default_api_spec.rb +97 -149
  209. data/spec/factories.rb +78 -78
  210. data/spec/models/account_request_spec.rb +168 -19
  211. data/spec/models/account_result_spec.rb +878 -91
  212. data/spec/models/account_status_spec.rb +2 -1
  213. data/spec/models/account_type_spec.rb +2 -1
  214. data/spec/models/add_to_conference_notification_webhook_spec.rb +1515 -0
  215. data/spec/models/add_to_conference_spec.rb +725 -43
  216. data/spec/models/add_to_queue_notification_webhook_spec.rb +1106 -0
  217. data/spec/models/answered_by_spec.rb +2 -1
  218. data/spec/models/application_list_spec.rb +504 -41
  219. data/spec/models/application_request_spec.rb +553 -34
  220. data/spec/models/application_result_spec.rb +997 -52
  221. data/spec/models/available_number_list_spec.rb +504 -41
  222. data/spec/models/available_number_spec.rb +536 -49
  223. data/spec/models/barge_in_reason_spec.rb +78 -0
  224. data/spec/models/buy_incoming_number_request_spec.rb +245 -22
  225. data/spec/models/call_control_webhook_spec.rb +664 -0
  226. data/spec/models/call_direction_spec.rb +2 -1
  227. data/spec/models/call_ended_reason_spec.rb +398 -0
  228. data/spec/models/call_list_spec.rb +504 -41
  229. data/spec/models/call_result_spec.rb +1712 -272
  230. data/spec/models/call_status_spec.rb +2 -1
  231. data/spec/models/call_status_webhook_spec.rb +1292 -0
  232. data/spec/models/capabilities_spec.rb +309 -28
  233. data/spec/models/completion_request_spec.rb +89 -17
  234. data/spec/models/completion_result_spec.rb +184 -47
  235. data/spec/models/completion_result_status_spec.rb +62 -0
  236. data/spec/models/conference_list_spec.rb +504 -41
  237. data/spec/models/conference_participant_list_spec.rb +504 -41
  238. data/spec/models/conference_participant_result_spec.rb +804 -48
  239. data/spec/models/conference_recording_status_webhook_spec.rb +1515 -0
  240. data/spec/models/conference_result_spec.rb +1215 -224
  241. data/spec/models/conference_status_spec.rb +2 -1
  242. data/spec/models/conference_status_webhook_spec.rb +1515 -0
  243. data/spec/models/create_conference_request_spec.rb +391 -46
  244. data/spec/models/create_conference_spec.rb +450 -49
  245. data/spec/models/create_conference_webhook_spec.rb +1515 -0
  246. data/spec/models/create_web_rtc_token_spec.rb +227 -22
  247. data/spec/models/dequeue_spec.rb +2 -1
  248. data/spec/models/dequeue_webhook_spec.rb +1300 -0
  249. data/spec/models/enqueue_spec.rb +322 -25
  250. data/spec/models/filter_logs_request_spec.rb +91 -16
  251. data/spec/models/get_digits_reason_spec.rb +94 -0
  252. data/spec/models/get_digits_spec.rb +581 -44
  253. data/spec/models/get_digits_webhook_spec.rb +1426 -0
  254. data/spec/models/get_speech_reason_spec.rb +2 -1
  255. data/spec/models/get_speech_spec.rb +856 -69
  256. data/spec/models/get_speech_webhook_spec.rb +1927 -0
  257. data/spec/models/grammar_file_built_in_spec.rb +2 -1
  258. data/spec/models/grammar_type_spec.rb +2 -1
  259. data/spec/models/hangup_spec.rb +91 -16
  260. data/spec/models/if_machine_spec.rb +2 -1
  261. data/spec/models/inbound_call_webhook_spec.rb +1211 -0
  262. data/spec/models/incoming_number_list_spec.rb +504 -41
  263. data/spec/models/incoming_number_request_spec.rb +245 -22
  264. data/spec/models/incoming_number_result_spec.rb +1430 -235
  265. data/spec/models/language_spec.rb +2 -1
  266. data/spec/models/leave_conference_webhook_spec.rb +1106 -0
  267. data/spec/models/log_level_spec.rb +2 -1
  268. data/spec/models/log_list_spec.rb +504 -41
  269. data/spec/models/log_result_spec.rb +556 -57
  270. data/spec/models/machine_detected_webhook_spec.rb +1313 -0
  271. data/spec/models/machine_type_spec.rb +11 -10
  272. data/spec/models/make_call_request_spec.rb +749 -44
  273. data/spec/models/message_delivery_webhook_spec.rb +1189 -0
  274. data/spec/models/message_direction_spec.rb +2 -1
  275. data/spec/models/message_request_spec.rb +672 -41
  276. data/spec/models/message_result_spec.rb +1644 -204
  277. data/spec/models/message_status_spec.rb +2 -1
  278. data/spec/models/message_status_webhook_spec.rb +1327 -0
  279. data/spec/models/messages_list_spec.rb +504 -41
  280. data/spec/models/mutable_resource_model_spec.rb +304 -25
  281. data/spec/models/out_dial_api_connect_webhook_spec.rb +1211 -0
  282. data/spec/models/out_dial_connect_webhook_spec.rb +1211 -0
  283. data/spec/models/out_dial_spec.rb +759 -62
  284. data/spec/models/out_dial_start_webhook_spec.rb +1316 -0
  285. data/spec/models/pagination_model_spec.rb +445 -34
  286. data/spec/models/park_spec.rb +245 -22
  287. data/spec/models/pause_spec.rb +73 -16
  288. data/spec/models/percl_command_spec.rb +88 -16
  289. data/spec/models/percl_script_spec.rb +73 -20
  290. data/spec/models/play_beep_spec.rb +2 -1
  291. data/spec/models/play_early_media_spec.rb +91 -16
  292. data/spec/models/play_spec.rb +209 -22
  293. data/spec/models/queue_list_spec.rb +504 -41
  294. data/spec/models/queue_member_list_spec.rb +504 -41
  295. data/spec/models/queue_member_spec.rb +363 -28
  296. data/spec/models/queue_request_spec.rb +150 -19
  297. data/spec/models/queue_result_spec.rb +801 -52
  298. data/spec/models/queue_result_status_spec.rb +2 -1
  299. data/spec/models/queue_wait_webhook_spec.rb +1389 -0
  300. data/spec/models/record_utterance_spec.rb +463 -34
  301. data/spec/models/record_utterance_term_reason_spec.rb +2 -1
  302. data/spec/models/record_webhook_spec.rb +1917 -0
  303. data/spec/models/recording_list_spec.rb +504 -41
  304. data/spec/models/recording_result_spec.rb +672 -41
  305. data/spec/models/redirect_spec.rb +91 -16
  306. data/spec/models/redirect_webhook_spec.rb +1211 -0
  307. data/spec/models/reject_spec.rb +91 -16
  308. data/spec/models/remove_from_conference_spec.rb +2 -1
  309. data/spec/models/remove_from_queue_notification_webhook_spec.rb +1305 -0
  310. data/spec/models/request_type_spec.rb +2 -1
  311. data/spec/models/say_spec.rb +286 -25
  312. data/spec/models/send_digits_spec.rb +209 -22
  313. data/spec/models/set_dtmf_pass_through_spec.rb +73 -16
  314. data/spec/models/set_listen_spec.rb +73 -16
  315. data/spec/models/set_talk_spec.rb +73 -16
  316. data/spec/models/sms_spec.rb +322 -25
  317. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +94 -0
  318. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +110 -0
  319. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +94 -0
  320. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +110 -0
  321. data/spec/models/sms_ten_dlc_brand_spec.rb +2585 -484
  322. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +462 -0
  323. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +504 -41
  324. data/spec/models/sms_ten_dlc_campaign_spec.rb +2604 -274
  325. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +62 -0
  326. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +504 -41
  327. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +835 -55
  328. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +2078 -166
  329. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +62 -0
  330. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +504 -41
  331. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +110 -0
  332. data/spec/models/sms_toll_free_campaign_spec.rb +555 -71
  333. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +504 -41
  334. data/spec/models/start_record_call_spec.rb +2 -1
  335. data/spec/models/terminate_conference_spec.rb +2 -1
  336. data/spec/models/tfn_campaign_spec.rb +1089 -0
  337. data/spec/models/tfn_spec.rb +91 -16
  338. data/spec/models/transcribe_reason_spec.rb +110 -0
  339. data/spec/models/transcribe_term_reason_spec.rb +62 -0
  340. data/spec/models/{transcribe_utterance_all_of_record_spec.rb → transcribe_utterance_record_spec.rb} +214 -45
  341. data/spec/models/transcribe_utterance_spec.rb +424 -47
  342. data/spec/models/transcribe_webhook_spec.rb +2418 -0
  343. data/spec/models/unpark_spec.rb +2 -1
  344. data/spec/models/update_call_request_spec.rb +101 -34
  345. data/spec/models/update_call_request_status_spec.rb +2 -1
  346. data/spec/models/update_conference_participant_request_spec.rb +219 -19
  347. data/spec/models/update_conference_request_spec.rb +265 -58
  348. data/spec/models/update_conference_request_status_spec.rb +2 -1
  349. data/spec/models/webhook_spec.rb +228 -0
  350. data/spec/quickstart_spec.rb +7 -7
  351. data/spec/spec_helper.rb +1 -1
  352. data/spec/utils/request_verifier_spec.rb +123 -123
  353. data/spec/utils/signature_information_spec.rb +36 -36
  354. data/yarn.lock +91 -91
  355. metadata +247 -186
  356. data/docs/AccountResultAllOf.md +0 -30
  357. data/docs/AddToConferenceAllOf.md +0 -36
  358. data/docs/ApplicationListAllOf.md +0 -18
  359. data/docs/ApplicationResultAllOf.md +0 -34
  360. data/docs/AvailableNumberListAllOf.md +0 -18
  361. data/docs/CallListAllOf.md +0 -18
  362. data/docs/CallResultAllOf.md +0 -48
  363. data/docs/ConferenceListAllOf.md +0 -18
  364. data/docs/ConferenceParticipantListAllOf.md +0 -18
  365. data/docs/ConferenceParticipantResultAllOf.md +0 -30
  366. data/docs/ConferenceResultAllOf.md +0 -36
  367. data/docs/CreateConferenceAllOf.md +0 -28
  368. data/docs/EnqueueAllOf.md +0 -24
  369. data/docs/GetDigitsAllOf.md +0 -34
  370. data/docs/GetSpeechAllOf.md +0 -42
  371. data/docs/HangupAllOf.md +0 -18
  372. data/docs/IncomingNumberListAllOf.md +0 -18
  373. data/docs/IncomingNumberResultAllOf.md +0 -42
  374. data/docs/LogListAllOf.md +0 -18
  375. data/docs/MessageRequestAllOf.md +0 -26
  376. data/docs/MessageResultAllOf.md +0 -40
  377. data/docs/MessagesListAllOf.md +0 -18
  378. data/docs/OutDialAllOf.md +0 -36
  379. data/docs/ParkAllOf.md +0 -22
  380. data/docs/PauseAllOf.md +0 -18
  381. data/docs/PlayAllOf.md +0 -22
  382. data/docs/PlayEarlyMediaAllOf.md +0 -18
  383. data/docs/QueueListAllOf.md +0 -18
  384. data/docs/QueueMemberListAllOf.md +0 -18
  385. data/docs/QueueResultAllOf.md +0 -30
  386. data/docs/RecordUtteranceAllOf.md +0 -30
  387. data/docs/RecordingListAllOf.md +0 -18
  388. data/docs/RecordingResultAllOf.md +0 -26
  389. data/docs/RedirectAllOf.md +0 -18
  390. data/docs/RejectAllOf.md +0 -18
  391. data/docs/RemoveFromConferenceAllOf.md +0 -18
  392. data/docs/SMSTenDLCBrandsListResultAllOf.md +0 -18
  393. data/docs/SMSTenDLCCampaignsListResultAllOf.md +0 -18
  394. data/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md +0 -18
  395. data/docs/SMSTollFreeCampaignsListResultAllOf.md +0 -18
  396. data/docs/SayAllOf.md +0 -24
  397. data/docs/SendDigitsAllOf.md +0 -22
  398. data/docs/SetDTMFPassThroughAllOf.md +0 -18
  399. data/docs/SetListenAllOf.md +0 -18
  400. data/docs/SetTalkAllOf.md +0 -18
  401. data/docs/SmsAllOf.md +0 -24
  402. data/docs/TerminateConferenceAllOf.md +0 -18
  403. data/docs/TranscribeUtteranceAllOf.md +0 -28
  404. data/docs/TranscribeUtteranceAllOfRecord.md +0 -22
  405. data/lib/freeclimb/models/account_result_all_of.rb +0 -289
  406. data/lib/freeclimb/models/add_to_conference_all_of.rb +0 -318
  407. data/lib/freeclimb/models/application_list_all_of.rb +0 -226
  408. data/lib/freeclimb/models/available_number_list_all_of.rb +0 -226
  409. data/lib/freeclimb/models/conference_list_all_of.rb +0 -226
  410. data/lib/freeclimb/models/conference_participant_list_all_of.rb +0 -226
  411. data/lib/freeclimb/models/create_conference_all_of.rb +0 -280
  412. data/lib/freeclimb/models/enqueue_all_of.rb +0 -266
  413. data/lib/freeclimb/models/get_digits_all_of.rb +0 -310
  414. data/lib/freeclimb/models/get_speech_all_of.rb +0 -354
  415. data/lib/freeclimb/models/hangup_all_of.rb +0 -224
  416. data/lib/freeclimb/models/incoming_number_list_all_of.rb +0 -226
  417. data/lib/freeclimb/models/log_list_all_of.rb +0 -226
  418. data/lib/freeclimb/models/message_request_all_of.rb +0 -279
  419. data/lib/freeclimb/models/messages_list_all_of.rb +0 -227
  420. data/lib/freeclimb/models/out_dial_all_of.rb +0 -329
  421. data/lib/freeclimb/models/park_all_of.rb +0 -252
  422. data/lib/freeclimb/models/pause_all_of.rb +0 -228
  423. data/lib/freeclimb/models/play_all_of.rb +0 -248
  424. data/lib/freeclimb/models/play_early_media_all_of.rb +0 -228
  425. data/lib/freeclimb/models/queue_list_all_of.rb +0 -226
  426. data/lib/freeclimb/models/queue_member_list_all_of.rb +0 -226
  427. data/lib/freeclimb/models/queue_result_all_of.rb +0 -291
  428. data/lib/freeclimb/models/record_utterance_all_of.rb +0 -288
  429. data/lib/freeclimb/models/recording_list_all_of.rb +0 -226
  430. data/lib/freeclimb/models/redirect_all_of.rb +0 -228
  431. data/lib/freeclimb/models/reject_all_of.rb +0 -224
  432. data/lib/freeclimb/models/say_all_of.rb +0 -260
  433. data/lib/freeclimb/models/send_digits_all_of.rb +0 -248
  434. data/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb +0 -224
  435. data/lib/freeclimb/models/set_listen_all_of.rb +0 -224
  436. data/lib/freeclimb/models/set_talk_all_of.rb +0 -224
  437. data/lib/freeclimb/models/sms_all_of.rb +0 -266
  438. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb +0 -226
  439. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb +0 -226
  440. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb +0 -226
  441. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb +0 -226
  442. data/lib/freeclimb/models/transcribe_utterance_all_of.rb +0 -281
@@ -0,0 +1,373 @@
1
+ =begin
2
+ #FreeClimb API
3
+
4
+ #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@freeclimb.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Freeclimb
17
+ # A POST request with the following fields will be sent to the actionUrl provided in your GetDigits command.
18
+ class GetDigitsWebhook < Webhook
19
+ def self.deserialize(payload)
20
+ return nil if payload.nil? || payload.empty?
21
+ data = JSON.parse("[#{payload}]")[0]
22
+ inverted_attributes = self.attribute_map.invert
23
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
24
+ GetDigitsWebhook.new(hash)
25
+ end
26
+ # Context or reason why this request is being made. Will be getDigits - The GetDigits command has completed and its actionUrl is being invoked.
27
+ attr_accessor :request_type
28
+
29
+ # Unique ID for this Call, generated by FreeClimb.
30
+ attr_accessor :call_id
31
+
32
+ # Account ID associated with your account.
33
+ attr_accessor :account_id
34
+
35
+ # Phone number of the party that initiated the Call (in E.164 format).
36
+ attr_accessor :from
37
+
38
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
39
+ attr_accessor :to
40
+
41
+ attr_accessor :call_status
42
+
43
+ attr_accessor :direction
44
+
45
+ # Unique ID of the Conference.
46
+ attr_accessor :conference_id
47
+
48
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
49
+ attr_accessor :queue_id
50
+
51
+ # tring of digits entered by the Caller, excluding the terminating digit (if used). The string of digits will be replaced by 'xxxxx' when privacyMode is set to true
52
+ attr_accessor :digits
53
+
54
+ attr_accessor :reason
55
+
56
+ # ID of the Call that created this leg (child call).
57
+ attr_accessor :parent_call_id
58
+
59
+ class EnumAttributeValidator
60
+ attr_reader :datatype
61
+ attr_reader :allowable_values
62
+
63
+ def initialize(datatype, allowable_values)
64
+ @allowable_values = allowable_values.map do |value|
65
+ case datatype.to_s
66
+ when /Integer/i
67
+ value.to_i
68
+ when /Float/i
69
+ value.to_f
70
+ else
71
+ value
72
+ end
73
+ end
74
+ end
75
+
76
+ def valid?(value)
77
+ !value || allowable_values.include?(value)
78
+ end
79
+ end
80
+
81
+ # Attribute mapping from ruby-style variable name to JSON key.
82
+ def self.attribute_map
83
+ {
84
+ :'request_type' => :'requestType',
85
+ :'call_id' => :'callId',
86
+ :'account_id' => :'accountId',
87
+ :'from' => :'from',
88
+ :'to' => :'to',
89
+ :'call_status' => :'callStatus',
90
+ :'direction' => :'direction',
91
+ :'conference_id' => :'conferenceId',
92
+ :'queue_id' => :'queueId',
93
+ :'digits' => :'digits',
94
+ :'reason' => :'reason',
95
+ :'parent_call_id' => :'parentCallId'
96
+ }
97
+ end
98
+
99
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
100
+ def self.acceptable_attributes
101
+ attribute_map.values.concat(superclass.acceptable_attributes)
102
+ end
103
+
104
+ # Attribute type mapping.
105
+ def self.openapi_types
106
+ {
107
+ :'request_type' => :'String',
108
+ :'call_id' => :'String',
109
+ :'account_id' => :'String',
110
+ :'from' => :'String',
111
+ :'to' => :'String',
112
+ :'call_status' => :'CallStatus',
113
+ :'direction' => :'CallDirection',
114
+ :'conference_id' => :'String',
115
+ :'queue_id' => :'String',
116
+ :'digits' => :'String',
117
+ :'reason' => :'GetDigitsReason',
118
+ :'parent_call_id' => :'String'
119
+ }
120
+ end
121
+
122
+ # List of attributes with nullable: true
123
+ def self.openapi_nullable
124
+ Set.new([
125
+ :'call_status',
126
+ :'direction',
127
+ :'queue_id',
128
+ ])
129
+ end
130
+
131
+ # List of class defined in allOf (OpenAPI v3)
132
+ def self.openapi_all_of
133
+ [
134
+ :'Webhook'
135
+ ]
136
+ end
137
+
138
+ # Initializes the object
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ def initialize(attributes = {})
141
+ if (!attributes.is_a?(Hash))
142
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetDigitsWebhook` initialize method"
143
+ end
144
+
145
+ # check to see if the attribute exists and convert string to symbol for hash key
146
+ attributes = attributes.each_with_object({}) { |(k, v), h|
147
+ if (!self.class.attribute_map.key?(k.to_sym))
148
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetDigitsWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
149
+ end
150
+ h[k.to_sym] = v
151
+ }
152
+
153
+ # call parent's initialize
154
+ super(attributes)
155
+
156
+ if attributes.key?(:'request_type')
157
+ self.request_type = attributes[:'request_type']
158
+ end
159
+
160
+ if attributes.key?(:'call_id')
161
+ self.call_id = attributes[:'call_id']
162
+ end
163
+
164
+ if attributes.key?(:'account_id')
165
+ self.account_id = attributes[:'account_id']
166
+ end
167
+
168
+ if attributes.key?(:'from')
169
+ self.from = attributes[:'from']
170
+ end
171
+
172
+ if attributes.key?(:'to')
173
+ self.to = attributes[:'to']
174
+ end
175
+
176
+ if attributes.key?(:'call_status')
177
+ self.call_status = attributes[:'call_status']
178
+ end
179
+
180
+ if attributes.key?(:'direction')
181
+ self.direction = attributes[:'direction']
182
+ end
183
+
184
+ if attributes.key?(:'conference_id')
185
+ self.conference_id = attributes[:'conference_id']
186
+ end
187
+
188
+ if attributes.key?(:'queue_id')
189
+ self.queue_id = attributes[:'queue_id']
190
+ end
191
+
192
+ if attributes.key?(:'digits')
193
+ self.digits = attributes[:'digits']
194
+ end
195
+
196
+ if attributes.key?(:'reason')
197
+ self.reason = attributes[:'reason']
198
+ end
199
+
200
+ if attributes.key?(:'parent_call_id')
201
+ self.parent_call_id = attributes[:'parent_call_id']
202
+ end
203
+ end
204
+
205
+ # Show invalid properties with the reasons. Usually used together with valid?
206
+ # @return Array for valid properties with the reasons
207
+ def list_invalid_properties
208
+ invalid_properties = super
209
+ invalid_properties
210
+ end
211
+
212
+ # Check to see if the all the properties in the model are valid
213
+ # @return true if the model is valid
214
+ def valid?
215
+
216
+ if @request_type.nil?
217
+ false
218
+ else
219
+ list_invalid_properties.length() == 0
220
+ end
221
+ end
222
+
223
+ # Checks equality by comparing each attribute.
224
+ # @param [Object] Object to be compared
225
+ def ==(o)
226
+ return true if self.equal?(o)
227
+ self.class == o.class &&
228
+ request_type == o.request_type &&
229
+ call_id == o.call_id &&
230
+ account_id == o.account_id &&
231
+ from == o.from &&
232
+ to == o.to &&
233
+ call_status == o.call_status &&
234
+ direction == o.direction &&
235
+ conference_id == o.conference_id &&
236
+ queue_id == o.queue_id &&
237
+ digits == o.digits &&
238
+ reason == o.reason &&
239
+ parent_call_id == o.parent_call_id && super(o)
240
+ end
241
+
242
+ # @see the `==` method
243
+ # @param [Object] Object to be compared
244
+ def eql?(o)
245
+ self == o
246
+ end
247
+
248
+ # Calculates hash code according to all attributes.
249
+ # @return [Integer] Hash code
250
+ def hash
251
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, digits, reason, parent_call_id].hash
252
+ end
253
+
254
+ # Builds the object from hash
255
+ # @param [Hash] attributes Model attributes in the form of hash
256
+ # @return [Object] Returns the model itself
257
+ def self.build_from_hash(attributes)
258
+ new.build_from_hash(attributes)
259
+ end
260
+
261
+ # Builds the object from hash
262
+ # @param [Hash] attributes Model attributes in the form of hash
263
+ # @return [Object] Returns the model itself
264
+ def build_from_hash(attributes)
265
+ return nil unless attributes.is_a?(Hash)
266
+ super(attributes)
267
+ self.class.openapi_types.each_pair do |key, type|
268
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
269
+ self.send("#{key}=", nil)
270
+ elsif type =~ /\AArray<(.*)>/i
271
+ # check to ensure the input is an array given that the attribute
272
+ # is documented as an array but the input is not
273
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
274
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
275
+ end
276
+ elsif !attributes[self.class.attribute_map[key]].nil?
277
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
278
+ end
279
+ end
280
+
281
+ self
282
+ end
283
+
284
+ # Deserializes the data based on type
285
+ # @param string type Data type
286
+ # @param string value Value to be deserialized
287
+ # @return [Object] Deserialized data
288
+ def _deserialize(type, value)
289
+ case type.to_sym
290
+ when :Time
291
+ Time.parse(value)
292
+ when :Date
293
+ Date.parse(value)
294
+ when :String
295
+ value.to_s
296
+ when :Integer
297
+ value.to_i
298
+ when :Float
299
+ value.to_f
300
+ when :Boolean
301
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
302
+ true
303
+ else
304
+ false
305
+ end
306
+ when :Object
307
+ # generic object (usually a Hash), return directly
308
+ value
309
+ when /\AArray<(?<inner_type>.+)>\z/
310
+ inner_type = Regexp.last_match[:inner_type]
311
+ value.map { |v| _deserialize(inner_type, v) }
312
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
313
+ k_type = Regexp.last_match[:k_type]
314
+ v_type = Regexp.last_match[:v_type]
315
+ {}.tap do |hash|
316
+ value.each do |k, v|
317
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
318
+ end
319
+ end
320
+ else # model
321
+ # models (e.g. Pet) or oneOf
322
+ klass = Freeclimb.const_get(type)
323
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
324
+ end
325
+ end
326
+
327
+ # Returns the string representation of the object
328
+ # @return [String] String presentation of the object
329
+ def to_s
330
+ to_hash.to_s
331
+ end
332
+
333
+ # to_body is an alias to to_hash (backward compatibility)
334
+ # @return [Hash] Returns the object in the form of hash
335
+ def to_body
336
+ to_hash
337
+ end
338
+
339
+ # Returns the object in the form of hash
340
+ # @return [Hash] Returns the object in the form of hash
341
+ def to_hash
342
+ hash = super
343
+ self.class.attribute_map.each_pair do |attr, param|
344
+ value = self.send(attr)
345
+ if value.nil?
346
+ is_nullable = self.class.openapi_nullable.include?(attr)
347
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
348
+ end
349
+
350
+ hash[param] = _to_hash(value)
351
+ end
352
+ hash
353
+ end
354
+
355
+ # Outputs non-array value in the form of hash
356
+ # For object, use to_hash. Otherwise, just return the value
357
+ # @param [Object] value Any valid value
358
+ # @return [Hash] Returns the value in the form of hash
359
+ def _to_hash(value)
360
+ if value.is_a?(Array)
361
+ value.compact.map { |v| _to_hash(v) }
362
+ elsif value.is_a?(Hash)
363
+ {}.tap do |hash|
364
+ value.each { |k, v| hash[k] = _to_hash(v) }
365
+ end
366
+ elsif value.respond_to? :to_hash
367
+ value.to_hash
368
+ else
369
+ value
370
+ end
371
+ end
372
+ end
373
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -54,6 +54,28 @@ module Freeclimb
54
54
  # Parameter privacyMode will not log the `text` as required by PCI compliance.
55
55
  attr_accessor :privacy_mode
56
56
 
57
+ class EnumAttributeValidator
58
+ attr_reader :datatype
59
+ attr_reader :allowable_values
60
+
61
+ def initialize(datatype, allowable_values)
62
+ @allowable_values = allowable_values.map do |value|
63
+ case datatype.to_s
64
+ when /Integer/i
65
+ value.to_i
66
+ when /Float/i
67
+ value.to_f
68
+ else
69
+ value
70
+ end
71
+ end
72
+ end
73
+
74
+ def valid?(value)
75
+ !value || allowable_values.include?(value)
76
+ end
77
+ end
78
+
57
79
  # Attribute mapping from ruby-style variable name to JSON key.
58
80
  def self.attribute_map
59
81
  {
@@ -107,7 +129,6 @@ module Freeclimb
107
129
  # List of class defined in allOf (OpenAPI v3)
108
130
  def self.openapi_all_of
109
131
  [
110
- :'GetSpeechAllOf',
111
132
  :'PerclCommand'
112
133
  ]
113
134
  end
@@ -362,7 +383,5 @@ module Freeclimb
362
383
  value
363
384
  end
364
385
  end
365
-
366
386
  end
367
-
368
387
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@freeclimb.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ OpenAPI Generator version: 7.9.0
10
10
 
11
11
  =end
12
12