diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..3a253c45
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,26 @@
+.ruby: &ruby
+ variables:
+ LANG: "C.UTF-8"
+ before_script:
+ - ruby -v
+ - bundle config set --local deployment true
+ - bundle install -j $(nproc)
+ parallel:
+ matrix:
+ - RUBY_VERSION: ['2.7', '3.0', '3.1']
+ image: "ruby:$RUBY_VERSION"
+ cache:
+ paths:
+ - vendor/ruby
+ key: 'ruby-$RUBY_VERSION'
+
+gem:
+ extends: .ruby
+ script:
+ - bundle exec rspec
+ - bundle exec rake build
+ - bundle exec rake install
+ artifacts:
+ paths:
+ - pkg/*.gem
+
diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 3a5d7974..c10a1b91 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.gitlab-ci.yml
.rspec
.rubocop.yml
Gemfile
@@ -5,152 +6,144 @@ README.md
Rakefile
docs/AccountRequest.md
docs/AccountResult.md
-docs/AccountResultAllOf.md
docs/AccountStatus.md
docs/AccountType.md
docs/AddToConference.md
-docs/AddToConferenceAllOf.md
+docs/AddToConferenceNotificationWebhook.md
+docs/AddToQueueNotificationWebhook.md
docs/AnsweredBy.md
docs/ApplicationList.md
-docs/ApplicationListAllOf.md
docs/ApplicationRequest.md
docs/ApplicationResult.md
-docs/ApplicationResultAllOf.md
docs/AvailableNumber.md
docs/AvailableNumberList.md
-docs/AvailableNumberListAllOf.md
+docs/BargeInReason.md
docs/BuyIncomingNumberRequest.md
+docs/CallControlWebhook.md
docs/CallDirection.md
+docs/CallEndedReason.md
docs/CallList.md
-docs/CallListAllOf.md
docs/CallResult.md
-docs/CallResultAllOf.md
docs/CallStatus.md
+docs/CallStatusWebhook.md
docs/Capabilities.md
docs/CompletionRequest.md
docs/CompletionResult.md
+docs/CompletionResultStatus.md
docs/ConferenceList.md
-docs/ConferenceListAllOf.md
docs/ConferenceParticipantList.md
-docs/ConferenceParticipantListAllOf.md
docs/ConferenceParticipantResult.md
-docs/ConferenceParticipantResultAllOf.md
+docs/ConferenceRecordingStatusWebhook.md
docs/ConferenceResult.md
-docs/ConferenceResultAllOf.md
docs/ConferenceStatus.md
+docs/ConferenceStatusWebhook.md
docs/CreateConference.md
-docs/CreateConferenceAllOf.md
docs/CreateConferenceRequest.md
+docs/CreateConferenceWebhook.md
docs/CreateWebRTCToken.md
docs/DefaultApi.md
docs/Dequeue.md
+docs/DequeueWebhook.md
docs/Enqueue.md
-docs/EnqueueAllOf.md
docs/FilterLogsRequest.md
docs/GetDigits.md
-docs/GetDigitsAllOf.md
+docs/GetDigitsReason.md
+docs/GetDigitsWebhook.md
docs/GetSpeech.md
-docs/GetSpeechAllOf.md
docs/GetSpeechReason.md
+docs/GetSpeechWebhook.md
docs/GrammarFileBuiltIn.md
docs/GrammarType.md
docs/Hangup.md
-docs/HangupAllOf.md
docs/IfMachine.md
+docs/InboundCallWebhook.md
docs/IncomingNumberList.md
-docs/IncomingNumberListAllOf.md
docs/IncomingNumberRequest.md
docs/IncomingNumberResult.md
-docs/IncomingNumberResultAllOf.md
docs/Language.md
+docs/LeaveConferenceWebhook.md
docs/LogLevel.md
docs/LogList.md
-docs/LogListAllOf.md
docs/LogResult.md
+docs/MachineDetectedWebhook.md
docs/MachineType.md
docs/MakeCallRequest.md
+docs/MessageDeliveryWebhook.md
docs/MessageDirection.md
docs/MessageRequest.md
-docs/MessageRequestAllOf.md
docs/MessageResult.md
-docs/MessageResultAllOf.md
docs/MessageStatus.md
+docs/MessageStatusWebhook.md
docs/MessagesList.md
-docs/MessagesListAllOf.md
docs/MutableResourceModel.md
docs/OutDial.md
-docs/OutDialAllOf.md
+docs/OutDialApiConnectWebhook.md
+docs/OutDialConnectWebhook.md
+docs/OutDialStartWebhook.md
docs/PaginationModel.md
docs/Park.md
-docs/ParkAllOf.md
docs/Pause.md
-docs/PauseAllOf.md
docs/PerclCommand.md
docs/PerclScript.md
docs/Play.md
-docs/PlayAllOf.md
docs/PlayBeep.md
docs/PlayEarlyMedia.md
-docs/PlayEarlyMediaAllOf.md
docs/QueueList.md
-docs/QueueListAllOf.md
docs/QueueMember.md
docs/QueueMemberList.md
-docs/QueueMemberListAllOf.md
docs/QueueRequest.md
docs/QueueResult.md
-docs/QueueResultAllOf.md
docs/QueueResultStatus.md
+docs/QueueWaitWebhook.md
docs/RecordUtterance.md
-docs/RecordUtteranceAllOf.md
docs/RecordUtteranceTermReason.md
+docs/RecordWebhook.md
docs/RecordingList.md
-docs/RecordingListAllOf.md
docs/RecordingResult.md
-docs/RecordingResultAllOf.md
docs/Redirect.md
-docs/RedirectAllOf.md
+docs/RedirectWebhook.md
docs/Reject.md
-docs/RejectAllOf.md
docs/RemoveFromConference.md
+docs/RemoveFromQueueNotificationWebhook.md
docs/RequestType.md
docs/SMSTenDLCBrand.md
+docs/SMSTenDLCBrandAltBusinessIdType.md
+docs/SMSTenDLCBrandEntityType.md
+docs/SMSTenDLCBrandIdentityStatus.md
+docs/SMSTenDLCBrandRelationship.md
+docs/SMSTenDLCBrandStockExchange.md
docs/SMSTenDLCBrandsListResult.md
-docs/SMSTenDLCBrandsListResultAllOf.md
docs/SMSTenDLCCampaign.md
+docs/SMSTenDLCCampaignStatus.md
docs/SMSTenDLCCampaignsListResult.md
-docs/SMSTenDLCCampaignsListResultAllOf.md
docs/SMSTenDLCPartnerCampaign.md
docs/SMSTenDLCPartnerCampaignBrand.md
+docs/SMSTenDLCPartnerCampaignStatus.md
docs/SMSTenDLCPartnerCampaignsListResult.md
-docs/SMSTenDLCPartnerCampaignsListResultAllOf.md
docs/SMSTollFreeCampaign.md
+docs/SMSTollFreeCampaignRegistrationStatus.md
docs/SMSTollFreeCampaignsListResult.md
-docs/SMSTollFreeCampaignsListResultAllOf.md
docs/Say.md
-docs/SayAllOf.md
docs/SendDigits.md
-docs/SendDigitsAllOf.md
docs/SetDTMFPassThrough.md
-docs/SetDTMFPassThroughAllOf.md
docs/SetListen.md
-docs/SetListenAllOf.md
docs/SetTalk.md
-docs/SetTalkAllOf.md
docs/Sms.md
-docs/SmsAllOf.md
docs/StartRecordCall.md
docs/TFN.md
docs/TerminateConference.md
+docs/TranscribeReason.md
+docs/TranscribeTermReason.md
docs/TranscribeUtterance.md
-docs/TranscribeUtteranceAllOf.md
-docs/TranscribeUtteranceAllOfRecord.md
+docs/TranscribeUtteranceRecord.md
+docs/TranscribeWebhook.md
docs/Unpark.md
docs/UpdateCallRequest.md
docs/UpdateCallRequestStatus.md
docs/UpdateConferenceParticipantRequest.md
docs/UpdateConferenceRequest.md
docs/UpdateConferenceRequestStatus.md
+docs/Webhook.md
freeclimb.gemspec
lib/freeclimb.rb
lib/freeclimb/api/default_api.rb
@@ -159,153 +152,282 @@ lib/freeclimb/api_error.rb
lib/freeclimb/configuration.rb
lib/freeclimb/models/account_request.rb
lib/freeclimb/models/account_result.rb
-lib/freeclimb/models/account_result_all_of.rb
lib/freeclimb/models/account_status.rb
lib/freeclimb/models/account_type.rb
lib/freeclimb/models/add_to_conference.rb
-lib/freeclimb/models/add_to_conference_all_of.rb
+lib/freeclimb/models/add_to_conference_notification_webhook.rb
+lib/freeclimb/models/add_to_queue_notification_webhook.rb
lib/freeclimb/models/answered_by.rb
lib/freeclimb/models/application_list.rb
-lib/freeclimb/models/application_list_all_of.rb
lib/freeclimb/models/application_request.rb
lib/freeclimb/models/application_result.rb
-lib/freeclimb/models/application_result_all_of.rb
lib/freeclimb/models/available_number.rb
lib/freeclimb/models/available_number_list.rb
-lib/freeclimb/models/available_number_list_all_of.rb
+lib/freeclimb/models/barge_in_reason.rb
lib/freeclimb/models/buy_incoming_number_request.rb
+lib/freeclimb/models/call_control_webhook.rb
lib/freeclimb/models/call_direction.rb
+lib/freeclimb/models/call_ended_reason.rb
lib/freeclimb/models/call_list.rb
-lib/freeclimb/models/call_list_all_of.rb
lib/freeclimb/models/call_result.rb
-lib/freeclimb/models/call_result_all_of.rb
lib/freeclimb/models/call_status.rb
+lib/freeclimb/models/call_status_webhook.rb
lib/freeclimb/models/capabilities.rb
lib/freeclimb/models/completion_request.rb
lib/freeclimb/models/completion_result.rb
+lib/freeclimb/models/completion_result_status.rb
lib/freeclimb/models/conference_list.rb
-lib/freeclimb/models/conference_list_all_of.rb
lib/freeclimb/models/conference_participant_list.rb
-lib/freeclimb/models/conference_participant_list_all_of.rb
lib/freeclimb/models/conference_participant_result.rb
-lib/freeclimb/models/conference_participant_result_all_of.rb
+lib/freeclimb/models/conference_recording_status_webhook.rb
lib/freeclimb/models/conference_result.rb
-lib/freeclimb/models/conference_result_all_of.rb
lib/freeclimb/models/conference_status.rb
+lib/freeclimb/models/conference_status_webhook.rb
lib/freeclimb/models/create_conference.rb
-lib/freeclimb/models/create_conference_all_of.rb
lib/freeclimb/models/create_conference_request.rb
+lib/freeclimb/models/create_conference_webhook.rb
lib/freeclimb/models/create_web_rtc_token.rb
lib/freeclimb/models/dequeue.rb
+lib/freeclimb/models/dequeue_webhook.rb
lib/freeclimb/models/enqueue.rb
-lib/freeclimb/models/enqueue_all_of.rb
lib/freeclimb/models/filter_logs_request.rb
lib/freeclimb/models/get_digits.rb
-lib/freeclimb/models/get_digits_all_of.rb
+lib/freeclimb/models/get_digits_reason.rb
+lib/freeclimb/models/get_digits_webhook.rb
lib/freeclimb/models/get_speech.rb
-lib/freeclimb/models/get_speech_all_of.rb
lib/freeclimb/models/get_speech_reason.rb
+lib/freeclimb/models/get_speech_webhook.rb
lib/freeclimb/models/grammar_file_built_in.rb
lib/freeclimb/models/grammar_type.rb
lib/freeclimb/models/hangup.rb
-lib/freeclimb/models/hangup_all_of.rb
lib/freeclimb/models/if_machine.rb
+lib/freeclimb/models/inbound_call_webhook.rb
lib/freeclimb/models/incoming_number_list.rb
-lib/freeclimb/models/incoming_number_list_all_of.rb
lib/freeclimb/models/incoming_number_request.rb
lib/freeclimb/models/incoming_number_result.rb
-lib/freeclimb/models/incoming_number_result_all_of.rb
lib/freeclimb/models/language.rb
+lib/freeclimb/models/leave_conference_webhook.rb
lib/freeclimb/models/log_level.rb
lib/freeclimb/models/log_list.rb
-lib/freeclimb/models/log_list_all_of.rb
lib/freeclimb/models/log_result.rb
+lib/freeclimb/models/machine_detected_webhook.rb
lib/freeclimb/models/machine_type.rb
lib/freeclimb/models/make_call_request.rb
+lib/freeclimb/models/message_delivery_webhook.rb
lib/freeclimb/models/message_direction.rb
lib/freeclimb/models/message_request.rb
-lib/freeclimb/models/message_request_all_of.rb
lib/freeclimb/models/message_result.rb
-lib/freeclimb/models/message_result_all_of.rb
lib/freeclimb/models/message_status.rb
+lib/freeclimb/models/message_status_webhook.rb
lib/freeclimb/models/messages_list.rb
-lib/freeclimb/models/messages_list_all_of.rb
lib/freeclimb/models/mutable_resource_model.rb
lib/freeclimb/models/out_dial.rb
-lib/freeclimb/models/out_dial_all_of.rb
+lib/freeclimb/models/out_dial_api_connect_webhook.rb
+lib/freeclimb/models/out_dial_connect_webhook.rb
+lib/freeclimb/models/out_dial_start_webhook.rb
lib/freeclimb/models/pagination_model.rb
lib/freeclimb/models/park.rb
-lib/freeclimb/models/park_all_of.rb
lib/freeclimb/models/pause.rb
-lib/freeclimb/models/pause_all_of.rb
lib/freeclimb/models/percl_command.rb
lib/freeclimb/models/percl_script.rb
lib/freeclimb/models/play.rb
-lib/freeclimb/models/play_all_of.rb
lib/freeclimb/models/play_beep.rb
lib/freeclimb/models/play_early_media.rb
-lib/freeclimb/models/play_early_media_all_of.rb
lib/freeclimb/models/queue_list.rb
-lib/freeclimb/models/queue_list_all_of.rb
lib/freeclimb/models/queue_member.rb
lib/freeclimb/models/queue_member_list.rb
-lib/freeclimb/models/queue_member_list_all_of.rb
lib/freeclimb/models/queue_request.rb
lib/freeclimb/models/queue_result.rb
-lib/freeclimb/models/queue_result_all_of.rb
lib/freeclimb/models/queue_result_status.rb
+lib/freeclimb/models/queue_wait_webhook.rb
lib/freeclimb/models/record_utterance.rb
-lib/freeclimb/models/record_utterance_all_of.rb
lib/freeclimb/models/record_utterance_term_reason.rb
+lib/freeclimb/models/record_webhook.rb
lib/freeclimb/models/recording_list.rb
-lib/freeclimb/models/recording_list_all_of.rb
lib/freeclimb/models/recording_result.rb
-lib/freeclimb/models/recording_result_all_of.rb
lib/freeclimb/models/redirect.rb
-lib/freeclimb/models/redirect_all_of.rb
+lib/freeclimb/models/redirect_webhook.rb
lib/freeclimb/models/reject.rb
-lib/freeclimb/models/reject_all_of.rb
lib/freeclimb/models/remove_from_conference.rb
+lib/freeclimb/models/remove_from_queue_notification_webhook.rb
lib/freeclimb/models/request_type.rb
lib/freeclimb/models/say.rb
-lib/freeclimb/models/say_all_of.rb
lib/freeclimb/models/send_digits.rb
-lib/freeclimb/models/send_digits_all_of.rb
lib/freeclimb/models/set_dtmf_pass_through.rb
-lib/freeclimb/models/set_dtmf_pass_through_all_of.rb
lib/freeclimb/models/set_listen.rb
-lib/freeclimb/models/set_listen_all_of.rb
lib/freeclimb/models/set_talk.rb
-lib/freeclimb/models/set_talk_all_of.rb
lib/freeclimb/models/sms.rb
-lib/freeclimb/models/sms_all_of.rb
lib/freeclimb/models/sms_ten_dlc_brand.rb
+lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb
+lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb
+lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb
+lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb
+lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb
lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb
-lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb
lib/freeclimb/models/sms_ten_dlc_campaign.rb
+lib/freeclimb/models/sms_ten_dlc_campaign_status.rb
lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb
-lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb
lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb
lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb
+lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb
lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb
-lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb
lib/freeclimb/models/sms_toll_free_campaign.rb
+lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb
lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb
-lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb
lib/freeclimb/models/start_record_call.rb
lib/freeclimb/models/terminate_conference.rb
lib/freeclimb/models/tfn.rb
+lib/freeclimb/models/transcribe_reason.rb
+lib/freeclimb/models/transcribe_term_reason.rb
lib/freeclimb/models/transcribe_utterance.rb
-lib/freeclimb/models/transcribe_utterance_all_of.rb
-lib/freeclimb/models/transcribe_utterance_all_of_record.rb
+lib/freeclimb/models/transcribe_utterance_record.rb
+lib/freeclimb/models/transcribe_webhook.rb
lib/freeclimb/models/unpark.rb
lib/freeclimb/models/update_call_request.rb
lib/freeclimb/models/update_call_request_status.rb
lib/freeclimb/models/update_conference_participant_request.rb
lib/freeclimb/models/update_conference_request.rb
lib/freeclimb/models/update_conference_request_status.rb
+lib/freeclimb/models/webhook.rb
lib/freeclimb/version.rb
-spec/api_client_spec.rb
-spec/configuration_spec.rb
+spec/api/default_api_spec.rb
+spec/models/account_request_spec.rb
+spec/models/account_result_spec.rb
+spec/models/account_status_spec.rb
+spec/models/account_type_spec.rb
+spec/models/add_to_conference_notification_webhook_spec.rb
+spec/models/add_to_conference_spec.rb
+spec/models/add_to_queue_notification_webhook_spec.rb
+spec/models/answered_by_spec.rb
+spec/models/application_list_spec.rb
+spec/models/application_request_spec.rb
+spec/models/application_result_spec.rb
+spec/models/available_number_list_spec.rb
+spec/models/available_number_spec.rb
+spec/models/barge_in_reason_spec.rb
+spec/models/buy_incoming_number_request_spec.rb
+spec/models/call_control_webhook_spec.rb
+spec/models/call_direction_spec.rb
+spec/models/call_ended_reason_spec.rb
+spec/models/call_list_spec.rb
+spec/models/call_result_spec.rb
+spec/models/call_status_spec.rb
+spec/models/call_status_webhook_spec.rb
+spec/models/capabilities_spec.rb
+spec/models/completion_request_spec.rb
+spec/models/completion_result_spec.rb
+spec/models/completion_result_status_spec.rb
+spec/models/conference_list_spec.rb
+spec/models/conference_participant_list_spec.rb
+spec/models/conference_participant_result_spec.rb
+spec/models/conference_recording_status_webhook_spec.rb
+spec/models/conference_result_spec.rb
+spec/models/conference_status_spec.rb
+spec/models/conference_status_webhook_spec.rb
+spec/models/create_conference_request_spec.rb
+spec/models/create_conference_spec.rb
+spec/models/create_conference_webhook_spec.rb
+spec/models/create_web_rtc_token_spec.rb
+spec/models/dequeue_spec.rb
+spec/models/dequeue_webhook_spec.rb
+spec/models/enqueue_spec.rb
+spec/models/filter_logs_request_spec.rb
+spec/models/get_digits_reason_spec.rb
+spec/models/get_digits_spec.rb
+spec/models/get_digits_webhook_spec.rb
+spec/models/get_speech_reason_spec.rb
+spec/models/get_speech_spec.rb
+spec/models/get_speech_webhook_spec.rb
+spec/models/grammar_file_built_in_spec.rb
+spec/models/grammar_type_spec.rb
+spec/models/hangup_spec.rb
+spec/models/if_machine_spec.rb
+spec/models/inbound_call_webhook_spec.rb
+spec/models/incoming_number_list_spec.rb
+spec/models/incoming_number_request_spec.rb
+spec/models/incoming_number_result_spec.rb
+spec/models/language_spec.rb
+spec/models/leave_conference_webhook_spec.rb
+spec/models/log_level_spec.rb
+spec/models/log_list_spec.rb
+spec/models/log_result_spec.rb
+spec/models/machine_detected_webhook_spec.rb
+spec/models/machine_type_spec.rb
+spec/models/make_call_request_spec.rb
+spec/models/message_delivery_webhook_spec.rb
+spec/models/message_direction_spec.rb
+spec/models/message_request_spec.rb
+spec/models/message_result_spec.rb
+spec/models/message_status_spec.rb
+spec/models/message_status_webhook_spec.rb
+spec/models/messages_list_spec.rb
+spec/models/mutable_resource_model_spec.rb
+spec/models/out_dial_api_connect_webhook_spec.rb
+spec/models/out_dial_connect_webhook_spec.rb
+spec/models/out_dial_spec.rb
+spec/models/out_dial_start_webhook_spec.rb
+spec/models/pagination_model_spec.rb
+spec/models/park_spec.rb
+spec/models/pause_spec.rb
+spec/models/percl_command_spec.rb
+spec/models/percl_script_spec.rb
+spec/models/play_beep_spec.rb
+spec/models/play_early_media_spec.rb
+spec/models/play_spec.rb
+spec/models/queue_list_spec.rb
+spec/models/queue_member_list_spec.rb
+spec/models/queue_member_spec.rb
+spec/models/queue_request_spec.rb
+spec/models/queue_result_spec.rb
+spec/models/queue_result_status_spec.rb
+spec/models/queue_wait_webhook_spec.rb
+spec/models/record_utterance_spec.rb
+spec/models/record_utterance_term_reason_spec.rb
+spec/models/record_webhook_spec.rb
+spec/models/recording_list_spec.rb
+spec/models/recording_result_spec.rb
+spec/models/redirect_spec.rb
+spec/models/redirect_webhook_spec.rb
+spec/models/reject_spec.rb
+spec/models/remove_from_conference_spec.rb
+spec/models/remove_from_queue_notification_webhook_spec.rb
+spec/models/request_type_spec.rb
+spec/models/say_spec.rb
+spec/models/send_digits_spec.rb
spec/models/set_dtmf_pass_through_spec.rb
+spec/models/set_listen_spec.rb
+spec/models/set_talk_spec.rb
+spec/models/sms_spec.rb
+spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb
+spec/models/sms_ten_dlc_brand_entity_type_spec.rb
+spec/models/sms_ten_dlc_brand_identity_status_spec.rb
+spec/models/sms_ten_dlc_brand_relationship_spec.rb
+spec/models/sms_ten_dlc_brand_spec.rb
+spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb
+spec/models/sms_ten_dlc_brands_list_result_spec.rb
+spec/models/sms_ten_dlc_campaign_spec.rb
+spec/models/sms_ten_dlc_campaign_status_spec.rb
+spec/models/sms_ten_dlc_campaigns_list_result_spec.rb
+spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb
+spec/models/sms_ten_dlc_partner_campaign_spec.rb
+spec/models/sms_ten_dlc_partner_campaign_status_spec.rb
+spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb
+spec/models/sms_toll_free_campaign_registration_status_spec.rb
+spec/models/sms_toll_free_campaign_spec.rb
+spec/models/sms_toll_free_campaigns_list_result_spec.rb
+spec/models/start_record_call_spec.rb
+spec/models/terminate_conference_spec.rb
+spec/models/tfn_spec.rb
+spec/models/transcribe_reason_spec.rb
+spec/models/transcribe_term_reason_spec.rb
+spec/models/transcribe_utterance_record_spec.rb
+spec/models/transcribe_utterance_spec.rb
+spec/models/transcribe_webhook_spec.rb
+spec/models/unpark_spec.rb
+spec/models/update_call_request_spec.rb
+spec/models/update_call_request_status_spec.rb
+spec/models/update_conference_participant_request_spec.rb
+spec/models/update_conference_request_spec.rb
+spec/models/update_conference_request_status_spec.rb
+spec/models/webhook_spec.rb
spec/spec_helper.rb
diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION
index 1e20ec35..4bc5d618 100644
--- a/.openapi-generator/VERSION
+++ b/.openapi-generator/VERSION
@@ -1 +1 @@
-5.4.0
\ No newline at end of file
+7.9.0
diff --git a/.rubocop.yml b/.rubocop.yml
index d32b2b1c..6acbeaf4 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -40,9 +40,6 @@ Layout/EmptyLinesAroundMethodBody:
Layout/EmptyLinesAroundModuleBody:
Enabled: true
-Layout/FirstArgumentIndentation:
- Enabled: true
-
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
Style/HashSyntax:
Enabled: false
@@ -51,7 +48,7 @@ Style/HashSyntax:
# extra level of indentation.
Layout/IndentationConsistency:
Enabled: true
- EnforcedStyle: indented_internal_methods
+ EnforcedStyle: normal
# Two spaces, no tabs (for indentation).
Layout/IndentationWidth:
@@ -112,22 +109,10 @@ Layout/SpaceInsideParens:
# Enabled: true
# EnforcedStyle: single_quotes
-# Detect hard tabs, no hard tabs.
-Layout/IndentationStyle:
- Enabled: true
-
-# Blank lines should not have any spaces.
-Layout/TrailingEmptyLines:
- Enabled: true
-
# No trailing whitespace.
Layout/TrailingWhitespace:
Enabled: false
-# Use quotes for string literals when they are enough.
-Style/RedundantPercentQ:
- Enabled: true
-
# Align `end` with the matching keyword or starting expression except for
# assignments, where it should be aligned with the LHS.
Layout/EndAlignment:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cbf8c343..5a06c920 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,20 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
None
+
+
+## [5.0.0] - 2025-01-08
+
+### Added
+- Webhook classes
+- More idiomated Enum management
+
+### Changed
+- Use upgraded openapi generator
+
+### Removed
+- *AllOf model files
+
## [4.9.0] - 2024-12-17
diff --git a/Gemfile.lock b/Gemfile.lock
index 67614f91..7b1a4c40 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,34 +1,39 @@
PATH
remote: .
specs:
- freeclimb (4.8.0)
+ freeclimb (5.0.0)
typhoeus (~> 1.0, >= 1.0.1)
GEM
remote: https://rubygems.org/
specs:
- activesupport (7.1.4.1)
+ activesupport (8.0.1)
base64
+ benchmark (>= 0.3)
bigdecimal
- concurrent-ruby (~> 1.0, >= 1.0.2)
+ concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
minitest (>= 5.1)
- mutex_m
- tzinfo (~> 2.0)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.2)
base64 (0.2.0)
- bigdecimal (3.1.8)
+ benchmark (0.4.0)
+ bigdecimal (3.1.9)
byebug (11.1.3)
coderay (1.1.3)
concurrent-ruby (1.3.4)
- connection_pool (2.4.1)
+ connection_pool (2.5.0)
crack (1.0.0)
bigdecimal
rexml
+ date (3.4.1)
diff-lcs (1.5.1)
drb (2.2.1)
ethon (0.16.0)
@@ -36,16 +41,26 @@ GEM
facets (3.1.0)
factory_bot (6.5.0)
activesupport (>= 5.0.0)
- ffi (1.17.0-arm64-darwin)
- hashdiff (1.1.1)
+ ffi (1.17.1)
+ ffi (1.17.1-aarch64-linux-gnu)
+ ffi (1.17.1-aarch64-linux-musl)
+ ffi (1.17.1-arm-linux-gnu)
+ ffi (1.17.1-arm-linux-musl)
+ ffi (1.17.1-arm64-darwin)
+ ffi (1.17.1-x86-linux-gnu)
+ ffi (1.17.1-x86-linux-musl)
+ ffi (1.17.1-x86_64-darwin)
+ ffi (1.17.1-x86_64-linux-gnu)
+ ffi (1.17.1-x86_64-linux-musl)
+ hashdiff (1.1.2)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
jaro_winkler (1.5.6)
+ logger (1.6.4)
method_source (1.1.0)
- minitest (5.25.1)
- mutex_m (0.2.0)
+ minitest (5.25.4)
parallel (1.26.3)
- parser (3.3.5.0)
+ parser (3.3.6.0)
ast (~> 2.4.1)
racc
pry (0.14.2)
@@ -54,18 +69,19 @@ GEM
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
- psych (5.1.2)
+ psych (5.2.2)
+ date
stringio
public_suffix (6.0.1)
racc (1.8.1)
rainbow (3.1.1)
rake (13.0.6)
- rexml (3.3.8)
+ rexml (3.4.0)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
- rspec-core (3.13.1)
+ rspec-core (3.13.2)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
@@ -73,7 +89,7 @@ GEM
rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-support (3.13.1)
+ rspec-support (3.13.2)
rubocop (0.66.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
@@ -83,19 +99,31 @@ GEM
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.6)
ruby-progressbar (1.13.0)
- stringio (3.1.1)
+ securerandom (0.4.1)
+ stringio (3.1.2)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (1.5.0)
+ uri (1.0.2)
webmock (3.24.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
PLATFORMS
+ aarch64-linux-gnu
+ aarch64-linux-musl
+ arm-linux-gnu
+ arm-linux-musl
+ arm64-darwin
ruby
+ x86-linux-gnu
+ x86-linux-musl
+ x86_64-darwin
+ x86_64-linux-gnu
+ x86_64-linux-musl
DEPENDENCIES
facets (~> 3.1)
@@ -108,4 +136,4 @@ DEPENDENCIES
webmock (~> 3.14)
BUNDLED WITH
- 2.3.6
+ 2.5.16
diff --git a/README.md b/README.md
index 8409cf60..0974d4ee 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.0.0
-- Package version: 4.9.0
+- Package version: 5.0.0
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/)
@@ -15,7 +15,7 @@ For more information, please visit [https://www.freeclimb.com/support/](https://
Add this to the Gemfile:
- gem 'freeclimb', '~> 4.9.0'
+ gem 'freeclimb', '~> 5.0.0'
and run from your terminal
@@ -44,9 +44,9 @@ gem build freeclimb.gemspec
Then either install the gem locally:
```shell
-gem install ./freeclimb-4.9.0.gem
+gem install ./freeclimb-5.0.0.gem
```
-(for development, run `gem install --dev ./freeclimb-4.9.0.gem` to install the development dependencies)
+(for development, run `gem install --dev ./freeclimb-5.0.0.gem` to install the development dependencies)
## Getting Started
@@ -162,151 +162,143 @@ Class | Method | HTTP request | Description
- [Freeclimb::AccountRequest](docs/AccountRequest.md)
- [Freeclimb::AccountResult](docs/AccountResult.md)
- - [Freeclimb::AccountResultAllOf](docs/AccountResultAllOf.md)
- [Freeclimb::AccountStatus](docs/AccountStatus.md)
- [Freeclimb::AccountType](docs/AccountType.md)
- [Freeclimb::AddToConference](docs/AddToConference.md)
- - [Freeclimb::AddToConferenceAllOf](docs/AddToConferenceAllOf.md)
+ - [Freeclimb::AddToConferenceNotificationWebhook](docs/AddToConferenceNotificationWebhook.md)
+ - [Freeclimb::AddToQueueNotificationWebhook](docs/AddToQueueNotificationWebhook.md)
- [Freeclimb::AnsweredBy](docs/AnsweredBy.md)
- [Freeclimb::ApplicationList](docs/ApplicationList.md)
- - [Freeclimb::ApplicationListAllOf](docs/ApplicationListAllOf.md)
- [Freeclimb::ApplicationRequest](docs/ApplicationRequest.md)
- [Freeclimb::ApplicationResult](docs/ApplicationResult.md)
- - [Freeclimb::ApplicationResultAllOf](docs/ApplicationResultAllOf.md)
- [Freeclimb::AvailableNumber](docs/AvailableNumber.md)
- [Freeclimb::AvailableNumberList](docs/AvailableNumberList.md)
- - [Freeclimb::AvailableNumberListAllOf](docs/AvailableNumberListAllOf.md)
+ - [Freeclimb::BargeInReason](docs/BargeInReason.md)
- [Freeclimb::BuyIncomingNumberRequest](docs/BuyIncomingNumberRequest.md)
+ - [Freeclimb::CallControlWebhook](docs/CallControlWebhook.md)
- [Freeclimb::CallDirection](docs/CallDirection.md)
+ - [Freeclimb::CallEndedReason](docs/CallEndedReason.md)
- [Freeclimb::CallList](docs/CallList.md)
- - [Freeclimb::CallListAllOf](docs/CallListAllOf.md)
- [Freeclimb::CallResult](docs/CallResult.md)
- - [Freeclimb::CallResultAllOf](docs/CallResultAllOf.md)
- [Freeclimb::CallStatus](docs/CallStatus.md)
+ - [Freeclimb::CallStatusWebhook](docs/CallStatusWebhook.md)
- [Freeclimb::Capabilities](docs/Capabilities.md)
- [Freeclimb::CompletionRequest](docs/CompletionRequest.md)
- [Freeclimb::CompletionResult](docs/CompletionResult.md)
+ - [Freeclimb::CompletionResultStatus](docs/CompletionResultStatus.md)
- [Freeclimb::ConferenceList](docs/ConferenceList.md)
- - [Freeclimb::ConferenceListAllOf](docs/ConferenceListAllOf.md)
- [Freeclimb::ConferenceParticipantList](docs/ConferenceParticipantList.md)
- - [Freeclimb::ConferenceParticipantListAllOf](docs/ConferenceParticipantListAllOf.md)
- [Freeclimb::ConferenceParticipantResult](docs/ConferenceParticipantResult.md)
- - [Freeclimb::ConferenceParticipantResultAllOf](docs/ConferenceParticipantResultAllOf.md)
+ - [Freeclimb::ConferenceRecordingStatusWebhook](docs/ConferenceRecordingStatusWebhook.md)
- [Freeclimb::ConferenceResult](docs/ConferenceResult.md)
- - [Freeclimb::ConferenceResultAllOf](docs/ConferenceResultAllOf.md)
- [Freeclimb::ConferenceStatus](docs/ConferenceStatus.md)
+ - [Freeclimb::ConferenceStatusWebhook](docs/ConferenceStatusWebhook.md)
- [Freeclimb::CreateConference](docs/CreateConference.md)
- - [Freeclimb::CreateConferenceAllOf](docs/CreateConferenceAllOf.md)
- [Freeclimb::CreateConferenceRequest](docs/CreateConferenceRequest.md)
+ - [Freeclimb::CreateConferenceWebhook](docs/CreateConferenceWebhook.md)
- [Freeclimb::CreateWebRTCToken](docs/CreateWebRTCToken.md)
- [Freeclimb::Dequeue](docs/Dequeue.md)
+ - [Freeclimb::DequeueWebhook](docs/DequeueWebhook.md)
- [Freeclimb::Enqueue](docs/Enqueue.md)
- - [Freeclimb::EnqueueAllOf](docs/EnqueueAllOf.md)
- [Freeclimb::FilterLogsRequest](docs/FilterLogsRequest.md)
- [Freeclimb::GetDigits](docs/GetDigits.md)
- - [Freeclimb::GetDigitsAllOf](docs/GetDigitsAllOf.md)
+ - [Freeclimb::GetDigitsReason](docs/GetDigitsReason.md)
+ - [Freeclimb::GetDigitsWebhook](docs/GetDigitsWebhook.md)
- [Freeclimb::GetSpeech](docs/GetSpeech.md)
- - [Freeclimb::GetSpeechAllOf](docs/GetSpeechAllOf.md)
- [Freeclimb::GetSpeechReason](docs/GetSpeechReason.md)
+ - [Freeclimb::GetSpeechWebhook](docs/GetSpeechWebhook.md)
- [Freeclimb::GrammarFileBuiltIn](docs/GrammarFileBuiltIn.md)
- [Freeclimb::GrammarType](docs/GrammarType.md)
- [Freeclimb::Hangup](docs/Hangup.md)
- - [Freeclimb::HangupAllOf](docs/HangupAllOf.md)
- [Freeclimb::IfMachine](docs/IfMachine.md)
+ - [Freeclimb::InboundCallWebhook](docs/InboundCallWebhook.md)
- [Freeclimb::IncomingNumberList](docs/IncomingNumberList.md)
- - [Freeclimb::IncomingNumberListAllOf](docs/IncomingNumberListAllOf.md)
- [Freeclimb::IncomingNumberRequest](docs/IncomingNumberRequest.md)
- [Freeclimb::IncomingNumberResult](docs/IncomingNumberResult.md)
- - [Freeclimb::IncomingNumberResultAllOf](docs/IncomingNumberResultAllOf.md)
- [Freeclimb::Language](docs/Language.md)
+ - [Freeclimb::LeaveConferenceWebhook](docs/LeaveConferenceWebhook.md)
- [Freeclimb::LogLevel](docs/LogLevel.md)
- [Freeclimb::LogList](docs/LogList.md)
- - [Freeclimb::LogListAllOf](docs/LogListAllOf.md)
- [Freeclimb::LogResult](docs/LogResult.md)
+ - [Freeclimb::MachineDetectedWebhook](docs/MachineDetectedWebhook.md)
- [Freeclimb::MachineType](docs/MachineType.md)
- [Freeclimb::MakeCallRequest](docs/MakeCallRequest.md)
+ - [Freeclimb::MessageDeliveryWebhook](docs/MessageDeliveryWebhook.md)
- [Freeclimb::MessageDirection](docs/MessageDirection.md)
- [Freeclimb::MessageRequest](docs/MessageRequest.md)
- - [Freeclimb::MessageRequestAllOf](docs/MessageRequestAllOf.md)
- [Freeclimb::MessageResult](docs/MessageResult.md)
- - [Freeclimb::MessageResultAllOf](docs/MessageResultAllOf.md)
- [Freeclimb::MessageStatus](docs/MessageStatus.md)
+ - [Freeclimb::MessageStatusWebhook](docs/MessageStatusWebhook.md)
- [Freeclimb::MessagesList](docs/MessagesList.md)
- - [Freeclimb::MessagesListAllOf](docs/MessagesListAllOf.md)
- [Freeclimb::MutableResourceModel](docs/MutableResourceModel.md)
- [Freeclimb::OutDial](docs/OutDial.md)
- - [Freeclimb::OutDialAllOf](docs/OutDialAllOf.md)
+ - [Freeclimb::OutDialApiConnectWebhook](docs/OutDialApiConnectWebhook.md)
+ - [Freeclimb::OutDialConnectWebhook](docs/OutDialConnectWebhook.md)
+ - [Freeclimb::OutDialStartWebhook](docs/OutDialStartWebhook.md)
- [Freeclimb::PaginationModel](docs/PaginationModel.md)
- [Freeclimb::Park](docs/Park.md)
- - [Freeclimb::ParkAllOf](docs/ParkAllOf.md)
- [Freeclimb::Pause](docs/Pause.md)
- - [Freeclimb::PauseAllOf](docs/PauseAllOf.md)
- [Freeclimb::PerclCommand](docs/PerclCommand.md)
- [Freeclimb::PerclScript](docs/PerclScript.md)
- [Freeclimb::Play](docs/Play.md)
- - [Freeclimb::PlayAllOf](docs/PlayAllOf.md)
- [Freeclimb::PlayBeep](docs/PlayBeep.md)
- [Freeclimb::PlayEarlyMedia](docs/PlayEarlyMedia.md)
- - [Freeclimb::PlayEarlyMediaAllOf](docs/PlayEarlyMediaAllOf.md)
- [Freeclimb::QueueList](docs/QueueList.md)
- - [Freeclimb::QueueListAllOf](docs/QueueListAllOf.md)
- [Freeclimb::QueueMember](docs/QueueMember.md)
- [Freeclimb::QueueMemberList](docs/QueueMemberList.md)
- - [Freeclimb::QueueMemberListAllOf](docs/QueueMemberListAllOf.md)
- [Freeclimb::QueueRequest](docs/QueueRequest.md)
- [Freeclimb::QueueResult](docs/QueueResult.md)
- - [Freeclimb::QueueResultAllOf](docs/QueueResultAllOf.md)
- [Freeclimb::QueueResultStatus](docs/QueueResultStatus.md)
+ - [Freeclimb::QueueWaitWebhook](docs/QueueWaitWebhook.md)
- [Freeclimb::RecordUtterance](docs/RecordUtterance.md)
- - [Freeclimb::RecordUtteranceAllOf](docs/RecordUtteranceAllOf.md)
- [Freeclimb::RecordUtteranceTermReason](docs/RecordUtteranceTermReason.md)
+ - [Freeclimb::RecordWebhook](docs/RecordWebhook.md)
- [Freeclimb::RecordingList](docs/RecordingList.md)
- - [Freeclimb::RecordingListAllOf](docs/RecordingListAllOf.md)
- [Freeclimb::RecordingResult](docs/RecordingResult.md)
- - [Freeclimb::RecordingResultAllOf](docs/RecordingResultAllOf.md)
- [Freeclimb::Redirect](docs/Redirect.md)
- - [Freeclimb::RedirectAllOf](docs/RedirectAllOf.md)
+ - [Freeclimb::RedirectWebhook](docs/RedirectWebhook.md)
- [Freeclimb::Reject](docs/Reject.md)
- - [Freeclimb::RejectAllOf](docs/RejectAllOf.md)
- [Freeclimb::RemoveFromConference](docs/RemoveFromConference.md)
+ - [Freeclimb::RemoveFromQueueNotificationWebhook](docs/RemoveFromQueueNotificationWebhook.md)
- [Freeclimb::RequestType](docs/RequestType.md)
- [Freeclimb::SMSTenDLCBrand](docs/SMSTenDLCBrand.md)
+ - [Freeclimb::SMSTenDLCBrandAltBusinessIdType](docs/SMSTenDLCBrandAltBusinessIdType.md)
+ - [Freeclimb::SMSTenDLCBrandEntityType](docs/SMSTenDLCBrandEntityType.md)
+ - [Freeclimb::SMSTenDLCBrandIdentityStatus](docs/SMSTenDLCBrandIdentityStatus.md)
+ - [Freeclimb::SMSTenDLCBrandRelationship](docs/SMSTenDLCBrandRelationship.md)
+ - [Freeclimb::SMSTenDLCBrandStockExchange](docs/SMSTenDLCBrandStockExchange.md)
- [Freeclimb::SMSTenDLCBrandsListResult](docs/SMSTenDLCBrandsListResult.md)
- - [Freeclimb::SMSTenDLCBrandsListResultAllOf](docs/SMSTenDLCBrandsListResultAllOf.md)
- [Freeclimb::SMSTenDLCCampaign](docs/SMSTenDLCCampaign.md)
+ - [Freeclimb::SMSTenDLCCampaignStatus](docs/SMSTenDLCCampaignStatus.md)
- [Freeclimb::SMSTenDLCCampaignsListResult](docs/SMSTenDLCCampaignsListResult.md)
- - [Freeclimb::SMSTenDLCCampaignsListResultAllOf](docs/SMSTenDLCCampaignsListResultAllOf.md)
- [Freeclimb::SMSTenDLCPartnerCampaign](docs/SMSTenDLCPartnerCampaign.md)
- [Freeclimb::SMSTenDLCPartnerCampaignBrand](docs/SMSTenDLCPartnerCampaignBrand.md)
+ - [Freeclimb::SMSTenDLCPartnerCampaignStatus](docs/SMSTenDLCPartnerCampaignStatus.md)
- [Freeclimb::SMSTenDLCPartnerCampaignsListResult](docs/SMSTenDLCPartnerCampaignsListResult.md)
- - [Freeclimb::SMSTenDLCPartnerCampaignsListResultAllOf](docs/SMSTenDLCPartnerCampaignsListResultAllOf.md)
- [Freeclimb::SMSTollFreeCampaign](docs/SMSTollFreeCampaign.md)
+ - [Freeclimb::SMSTollFreeCampaignRegistrationStatus](docs/SMSTollFreeCampaignRegistrationStatus.md)
- [Freeclimb::SMSTollFreeCampaignsListResult](docs/SMSTollFreeCampaignsListResult.md)
- - [Freeclimb::SMSTollFreeCampaignsListResultAllOf](docs/SMSTollFreeCampaignsListResultAllOf.md)
- [Freeclimb::Say](docs/Say.md)
- - [Freeclimb::SayAllOf](docs/SayAllOf.md)
- [Freeclimb::SendDigits](docs/SendDigits.md)
- - [Freeclimb::SendDigitsAllOf](docs/SendDigitsAllOf.md)
- [Freeclimb::SetDTMFPassThrough](docs/SetDTMFPassThrough.md)
- - [Freeclimb::SetDTMFPassThroughAllOf](docs/SetDTMFPassThroughAllOf.md)
- [Freeclimb::SetListen](docs/SetListen.md)
- - [Freeclimb::SetListenAllOf](docs/SetListenAllOf.md)
- [Freeclimb::SetTalk](docs/SetTalk.md)
- - [Freeclimb::SetTalkAllOf](docs/SetTalkAllOf.md)
- [Freeclimb::Sms](docs/Sms.md)
- - [Freeclimb::SmsAllOf](docs/SmsAllOf.md)
- [Freeclimb::StartRecordCall](docs/StartRecordCall.md)
- [Freeclimb::TFN](docs/TFN.md)
- [Freeclimb::TerminateConference](docs/TerminateConference.md)
+ - [Freeclimb::TranscribeReason](docs/TranscribeReason.md)
+ - [Freeclimb::TranscribeTermReason](docs/TranscribeTermReason.md)
- [Freeclimb::TranscribeUtterance](docs/TranscribeUtterance.md)
- - [Freeclimb::TranscribeUtteranceAllOf](docs/TranscribeUtteranceAllOf.md)
- - [Freeclimb::TranscribeUtteranceAllOfRecord](docs/TranscribeUtteranceAllOfRecord.md)
+ - [Freeclimb::TranscribeUtteranceRecord](docs/TranscribeUtteranceRecord.md)
+ - [Freeclimb::TranscribeWebhook](docs/TranscribeWebhook.md)
- [Freeclimb::Unpark](docs/Unpark.md)
- [Freeclimb::UpdateCallRequest](docs/UpdateCallRequest.md)
- [Freeclimb::UpdateCallRequestStatus](docs/UpdateCallRequestStatus.md)
- [Freeclimb::UpdateConferenceParticipantRequest](docs/UpdateConferenceParticipantRequest.md)
- [Freeclimb::UpdateConferenceRequest](docs/UpdateConferenceRequest.md)
- [Freeclimb::UpdateConferenceRequestStatus](docs/UpdateConferenceRequestStatus.md)
+ - [Freeclimb::Webhook](docs/Webhook.md)
## Documentation for Authorization
diff --git a/docs/AccountResultAllOf.md b/docs/AccountResultAllOf.md
deleted file mode 100644
index 04125ed9..00000000
--- a/docs/AccountResultAllOf.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Freeclimb::AccountResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **account_id** | **String** | String that uniquely identifies this account resource. | [optional] |
-| **api_key** | **String** | The API key assigned to this account. This key must be kept a secret by the customer. | [optional] |
-| **_alias** | **String** | A description for this account. | [optional] |
-| **label** | **String** | A string that identifies a category or group to which the account belongs. | [optional] |
-| **type** | [**AccountType**](AccountType.md) | | [optional] |
-| **status** | [**AccountStatus**](AccountStatus.md) | | [optional] |
-| **subresource_uris** | **Object** | The list of subresources for this account. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::AccountResultAllOf.new(
- account_id: null,
- api_key: null,
- _alias: null,
- label: null,
- type: null,
- status: null,
- subresource_uris: null
-)
-```
-
diff --git a/docs/AddToConferenceAllOf.md b/docs/AddToConferenceAllOf.md
deleted file mode 100644
index 28629d27..00000000
--- a/docs/AddToConferenceAllOf.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Freeclimb::AddToConferenceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **allow_call_control** | **Boolean** | If `true`, Call control will be enabled for this Participant's Call leg. | [optional] |
-| **call_control_sequence** | **String** | Defines a sequence of digits that, when entered by this caller, invokes the `callControlUrl`. Only digits plus '*', and '#' may be used. | [optional] |
-| **call_control_url** | **String** | URL to be invoked when this Participant enters the digit sequence defined in the `callControlSequence` attribute. | [optional] |
-| **conference_id** | **String** | ID of the Conference to which to add the Participant (Call leg). Conference must exist or an error will result. | |
-| **leave_conference_url** | **String** | URL to be invoked when the Participant leaves the Conference. | [optional] |
-| **listen** | **Boolean** | If `true`, the Participant joins the Conference with listen privileges. This may be modified later via the REST API or `SetListen` PerCL command. | [optional] |
-| **notification_url** | **String** | When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters. | [optional] |
-| **start_conf_on_enter** | **Boolean** | Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to `true` for moderators and `false` for all other Participants. | [optional] |
-| **talk** | **Boolean** | If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. | [optional] |
-| **dtmf_pass_through** | **Boolean** | If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::AddToConferenceAllOf.new(
- allow_call_control: null,
- call_control_sequence: null,
- call_control_url: null,
- conference_id: null,
- leave_conference_url: null,
- listen: null,
- notification_url: null,
- start_conf_on_enter: null,
- talk: null,
- dtmf_pass_through: null
-)
-```
-
diff --git a/docs/AddToConferenceNotificationWebhook.md b/docs/AddToConferenceNotificationWebhook.md
new file mode 100644
index 00000000..224aff3c
--- /dev/null
+++ b/docs/AddToConferenceNotificationWebhook.md
@@ -0,0 +1,42 @@
+# Freeclimb::AddToConferenceNotificationWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be addToConferenceNotification - A Call has been bridged to a conference and the addToConference command’s notificationUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
+| **recording_url** | **String** | URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. | [optional] |
+| **recording_id** | **String** | Unique ID of the Recording from this Conference. Populated only if a recording exists and the Conference was emptied. | [optional] |
+| **recording_duration_sec** | **Integer** | Duration of the recorded audio (in seconds), rounded up to the nearest second. Populated only if a Recording exists and the Conference was emptied. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::AddToConferenceNotificationWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ status: null,
+ recording_url: null,
+ recording_id: null,
+ recording_duration_sec: null
+)
+```
+
diff --git a/docs/AddToQueueNotificationWebhook.md b/docs/AddToQueueNotificationWebhook.md
new file mode 100644
index 00000000..f2dbe957
--- /dev/null
+++ b/docs/AddToQueueNotificationWebhook.md
@@ -0,0 +1,34 @@
+# Freeclimb::AddToQueueNotificationWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be addToQueueNotification - A call has been added to a queue and the Enqueue command’s notificationUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::AddToQueueNotificationWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null
+)
+```
+
diff --git a/docs/ApplicationListAllOf.md b/docs/ApplicationListAllOf.md
deleted file mode 100644
index 2686f8b6..00000000
--- a/docs/ApplicationListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::ApplicationListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **applications** | [**Array<ApplicationResult>**](ApplicationResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ApplicationListAllOf.new(
- applications: null
-)
-```
-
diff --git a/docs/ApplicationResultAllOf.md b/docs/ApplicationResultAllOf.md
deleted file mode 100644
index 27cc113b..00000000
--- a/docs/ApplicationResultAllOf.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Freeclimb::ApplicationResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **account_id** | **String** | ID of the account that owns this phone number. | [optional] |
-| **application_id** | **String** | ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId. | [optional] |
-| **_alias** | **String** | Description for this phone number. Typically the conventionally-formatted version of the phone number. | [optional] |
-| **voice_url** | **String** | The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only. | [optional] |
-| **voice_fallback_url** | **String** | The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only. | [optional] |
-| **call_connect_url** | **String** | The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not. | [optional] |
-| **status_callback_url** | **String** | A URL to which FreeClimb will make a POST request when the Call ends to notify this app. | [optional] |
-| **sms_url** | **String** | The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only. | [optional] |
-| **sms_fallback_url** | **String** | The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ApplicationResultAllOf.new(
- account_id: null,
- application_id: null,
- _alias: null,
- voice_url: null,
- voice_fallback_url: null,
- call_connect_url: null,
- status_callback_url: null,
- sms_url: null,
- sms_fallback_url: null
-)
-```
-
diff --git a/docs/AvailableNumberListAllOf.md b/docs/AvailableNumberListAllOf.md
deleted file mode 100644
index 13d80c8f..00000000
--- a/docs/AvailableNumberListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::AvailableNumberListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **available_phone_numbers** | [**Array<AvailableNumber>**](AvailableNumber.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::AvailableNumberListAllOf.new(
- available_phone_numbers: null
-)
-```
-
diff --git a/docs/BargeInReason.md b/docs/BargeInReason.md
new file mode 100644
index 00000000..089f0fa5
--- /dev/null
+++ b/docs/BargeInReason.md
@@ -0,0 +1,18 @@
+# Freeclimb::BargeInReason
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **NO_BARGE_IN** | **BargeInReason** | | Represented in Ruby as "noBargeIn" |
+| **BARGE_IN_BY_DTMF** | **BargeInReason** | | Represented in Ruby as "bargeInByDTMF" |
+| **BARGE_IN_BY_ENERGY** | **BargeInReason** | | Represented in Ruby as "bargeInByEnergy" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::BargeInReason::[NAME OF ENUM]
+```
+
diff --git a/docs/CallControlWebhook.md b/docs/CallControlWebhook.md
new file mode 100644
index 00000000..7915f070
--- /dev/null
+++ b/docs/CallControlWebhook.md
@@ -0,0 +1,26 @@
+# Freeclimb::CallControlWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be callControl. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **digits** | **String** | String of digits entered by the participant. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::CallControlWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ conference_id: null,
+ digits: null
+)
+```
+
diff --git a/docs/CallEndedReason.md b/docs/CallEndedReason.md
new file mode 100644
index 00000000..4e0a3895
--- /dev/null
+++ b/docs/CallEndedReason.md
@@ -0,0 +1,38 @@
+# Freeclimb::CallEndedReason
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **BUSY** | **CallEndedReason** | | Represented in Ruby as "busy" |
+| **FAILED** | **CallEndedReason** | | Represented in Ruby as "failed" |
+| **NO_ANSWER** | **CallEndedReason** | | Represented in Ruby as "noAnswer" |
+| **CALL_CANCELED** | **CallEndedReason** | | Represented in Ruby as "callCanceled" |
+| **FAR_END_HANGUP** | **CallEndedReason** | | Represented in Ruby as "farEndHangup" |
+| **APP_HANGUP** | **CallEndedReason** | | Represented in Ruby as "appHangup" |
+| **APP_REJECT** | **CallEndedReason** | | Represented in Ruby as "appReject" |
+| **APP_NO_PERCL** | **CallEndedReason** | | Represented in Ruby as "appNoPercl" |
+| **APP_INVALID_PERCL** | **CallEndedReason** | | Represented in Ruby as "appInvalidPercl" |
+| **CONFERENCE_TERMINATED** | **CallEndedReason** | | Represented in Ruby as "conferenceTerminated" |
+| **CONFERENCE_EMPTIED** | **CallEndedReason** | | Represented in Ruby as "conferenceEmptied" |
+| **REMOVED_FROM_CONFERENCE** | **CallEndedReason** | | Represented in Ruby as "removedFromConference" |
+| **MACHINE_DETECTED** | **CallEndedReason** | | Represented in Ruby as "machineDetected" |
+| **WEBHOOK_FAILED** | **CallEndedReason** | | Represented in Ruby as "webhookFailed" |
+| **WEBHOOK_INVALID_RESPONSE** | **CallEndedReason** | | Represented in Ruby as "webhookInvalidResponse" |
+| **VOICE_DISABLED** | **CallEndedReason** | | Represented in Ruby as "voiceDisabled" |
+| **CONFIG_ERROR_NO_APPLICATION** | **CallEndedReason** | | Represented in Ruby as "configErrorNoApplication" |
+| **CONFIG_ERROR_NO_VOICE_URL** | **CallEndedReason** | | Represented in Ruby as "configErrorNoVoiceUrl" |
+| **MAX_REDIRECTS_ERROR** | **CallEndedReason** | | Represented in Ruby as "maxRedirectsError" |
+| **PERCL_PROCESSING_ERROR** | **CallEndedReason** | | Represented in Ruby as "perclProcessingError" |
+| **INTERNAL_ERROR** | **CallEndedReason** | | Represented in Ruby as "internalError" |
+| **GRPC_HANGUP** | **CallEndedReason** | | Represented in Ruby as "grpcHangup" |
+| **MAX_DURATION** | **CallEndedReason** | | Represented in Ruby as "maxDuration" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::CallEndedReason::[NAME OF ENUM]
+```
+
diff --git a/docs/CallListAllOf.md b/docs/CallListAllOf.md
deleted file mode 100644
index 1bd60b5f..00000000
--- a/docs/CallListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::CallListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **calls** | [**Array<CallResult>**](CallResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::CallListAllOf.new(
- calls: null
-)
-```
-
diff --git a/docs/CallResultAllOf.md b/docs/CallResultAllOf.md
deleted file mode 100644
index 75875902..00000000
--- a/docs/CallResultAllOf.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Freeclimb::CallResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **call_id** | **String** | String that uniquely identifies this Call resource. | [optional] |
-| **parent_call_id** | **String** | ID of the Call that created this leg (child Call). | [optional] |
-| **account_id** | **String** | ID of the account that owns this Call. | [optional] |
-| **from** | **String** | Phone number that initiated this Call. | [optional] |
-| **to** | **String** | Phone number that received this Call. | [optional] |
-| **phone_number_id** | **String** | If the Call was inbound, this is the ID of the IncomingPhoneNumber that received the Call (DNIS). If the Call was outbound, this is the ID of the phone number from which the Call was placed (ANI). | [optional] |
-| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
-| **start_time** | **String** | Start time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed. | [optional] |
-| **connect_time** | **String** | Time the Call was answered (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed. | [optional] |
-| **end_time** | **String** | End time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call did not complete successfully. | [optional] |
-| **duration** | **Integer** | Total length of the Call in seconds. Measures time between startTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls. | [optional] |
-| **connect_duration** | **Integer** | Length of time that the Call was connected in seconds. Measures time between connectTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls. | [optional] |
-| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
-| **answered_by** | [**AnsweredBy**](AnsweredBy.md) | | [optional] |
-| **subresource_uris** | **Object** | The list of subresources for this Call. These include things like logs and recordings associated with the Call. | [optional] |
-| **application_id** | **String** | ApplicationId associated with the Call. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::CallResultAllOf.new(
- call_id: null,
- parent_call_id: null,
- account_id: null,
- from: null,
- to: null,
- phone_number_id: null,
- call_status: null,
- start_time: null,
- connect_time: null,
- end_time: null,
- duration: null,
- connect_duration: null,
- direction: null,
- answered_by: null,
- subresource_uris: null,
- application_id: null
-)
-```
-
diff --git a/docs/CallStatusWebhook.md b/docs/CallStatusWebhook.md
new file mode 100644
index 00000000..4b974105
--- /dev/null
+++ b/docs/CallStatusWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::CallStatusWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be callStatus - A Call has ended and the statusCallbackUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **call_ended_reason** | [**CallEndedReason**](CallEndedReason.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::CallStatusWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ call_ended_reason: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null
+)
+```
+
diff --git a/docs/CompletionResult.md b/docs/CompletionResult.md
index fcdf3de7..f6574735 100644
--- a/docs/CompletionResult.md
+++ b/docs/CompletionResult.md
@@ -5,7 +5,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **response** | **String** | The generative response from the KnowledgeBase | |
-| **status** | **String** | Completion result status. Possible values: success, no_context | |
+| **status** | [**CompletionResultStatus**](CompletionResultStatus.md) | | |
## Example
diff --git a/docs/CompletionResultStatus.md b/docs/CompletionResultStatus.md
new file mode 100644
index 00000000..4cb4411f
--- /dev/null
+++ b/docs/CompletionResultStatus.md
@@ -0,0 +1,17 @@
+# Freeclimb::CompletionResultStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **SUCCESS** | **CompletionResultStatus** | | Represented in Ruby as "success" |
+| **NO_CONTEXT** | **CompletionResultStatus** | | Represented in Ruby as "no_context" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::CompletionResultStatus::[NAME OF ENUM]
+```
+
diff --git a/docs/ConferenceListAllOf.md b/docs/ConferenceListAllOf.md
deleted file mode 100644
index b4f8fa18..00000000
--- a/docs/ConferenceListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::ConferenceListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **conferences** | [**Array<ConferenceResult>**](ConferenceResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ConferenceListAllOf.new(
- conferences: null
-)
-```
-
diff --git a/docs/ConferenceParticipantListAllOf.md b/docs/ConferenceParticipantListAllOf.md
deleted file mode 100644
index a97a31b8..00000000
--- a/docs/ConferenceParticipantListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::ConferenceParticipantListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **participants** | [**Array<ConferenceParticipantResult>**](ConferenceParticipantResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ConferenceParticipantListAllOf.new(
- participants: null
-)
-```
-
diff --git a/docs/ConferenceParticipantResultAllOf.md b/docs/ConferenceParticipantResultAllOf.md
deleted file mode 100644
index 456729b8..00000000
--- a/docs/ConferenceParticipantResultAllOf.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Freeclimb::ConferenceParticipantResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **account_id** | **String** | ID of the account that created this participant. | [optional] |
-| **conference_id** | **String** | ID of the conference this participant is in. | [optional] |
-| **call_id** | **String** | ID of the Call associated with this Participant. | [optional] |
-| **talk** | **Boolean** | True if this Participant has talk privileges in the Conference. False otherwise. | [optional] |
-| **listen** | **Boolean** | True if this Participant has listen privileges in the Conference. False otherwise. | [optional] |
-| **dtmf_pass_through** | **Boolean** | True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise. | [optional] |
-| **start_conf_on_enter** | **Boolean** | True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ConferenceParticipantResultAllOf.new(
- account_id: null,
- conference_id: null,
- call_id: null,
- talk: null,
- listen: null,
- dtmf_pass_through: null,
- start_conf_on_enter: null
-)
-```
-
diff --git a/docs/ConferenceRecordingStatusWebhook.md b/docs/ConferenceRecordingStatusWebhook.md
new file mode 100644
index 00000000..21ba9112
--- /dev/null
+++ b/docs/ConferenceRecordingStatusWebhook.md
@@ -0,0 +1,42 @@
+# Freeclimb::ConferenceRecordingStatusWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be conferenceRecordingStatus - The statusCallbackUrl request includes Recording information for a Conference that ended. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
+| **recording_url** | **String** | URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. | [optional] |
+| **recording_id** | **String** | Unique ID of the Recording from this Conference. Populated only if a recording exists and the Conference was emptied. | [optional] |
+| **recording_duration_sec** | **Integer** | Duration of the recorded audio (in seconds), rounded up to the nearest second. Populated only if a Recording exists and the Conference was emptied. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::ConferenceRecordingStatusWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ status: null,
+ recording_url: null,
+ recording_id: null,
+ recording_duration_sec: null
+)
+```
+
diff --git a/docs/ConferenceResult.md b/docs/ConferenceResult.md
index 56e77fe7..a7b560da 100644
--- a/docs/ConferenceResult.md
+++ b/docs/ConferenceResult.md
@@ -11,7 +11,7 @@
| **conference_id** | **String** | A string that uniquely identifies this Conference resource. | [optional] |
| **account_id** | **String** | ID of the account that created this Conference. | [optional] |
| **_alias** | **String** | A description for this Conference. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
+| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] |
| **record** | **Boolean** | Flag indicating whether recording is enabled for this Conference. | [optional] |
| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
| **wait_url** | **String** | URL referencing the audio file to be used as default wait music for the Conference when it is in the populated state. | [optional] |
diff --git a/docs/ConferenceResultAllOf.md b/docs/ConferenceResultAllOf.md
deleted file mode 100644
index 44b7288d..00000000
--- a/docs/ConferenceResultAllOf.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Freeclimb::ConferenceResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **conference_id** | **String** | A string that uniquely identifies this Conference resource. | [optional] |
-| **account_id** | **String** | ID of the account that created this Conference. | [optional] |
-| **_alias** | **String** | A description for this Conference. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
-| **record** | **Boolean** | Flag indicating whether recording is enabled for this Conference. | [optional] |
-| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
-| **wait_url** | **String** | URL referencing the audio file to be used as default wait music for the Conference when it is in the populated state. | [optional] |
-| **action_url** | **String** | URL invoked once the Conference is successfully created. | [optional] |
-| **status_callback_url** | **String** | URL to inform that the Conference status has changed. | [optional] |
-| **subresource_uris** | **Object** | The list of subresources for this Conference. This includes participants and/or recordings. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ConferenceResultAllOf.new(
- conference_id: null,
- account_id: null,
- _alias: null,
- play_beep: null,
- record: null,
- status: null,
- wait_url: null,
- action_url: null,
- status_callback_url: null,
- subresource_uris: null
-)
-```
-
diff --git a/docs/ConferenceStatusWebhook.md b/docs/ConferenceStatusWebhook.md
new file mode 100644
index 00000000..d9de84a8
--- /dev/null
+++ b/docs/ConferenceStatusWebhook.md
@@ -0,0 +1,42 @@
+# Freeclimb::ConferenceStatusWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be conferenceRecordingStatus - The statusCallbackUrl request includes Recording information for a Conference that ended. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
+| **recording_url** | **String** | The URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+| **recording_id** | **String** | The unique ID of the Recording from this Conference. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+| **recording_duration_sec** | **Integer** | The duration of the recorded audio rounded up to the nearest second (in seconds). Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::ConferenceStatusWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ status: null,
+ recording_url: null,
+ recording_id: null,
+ recording_duration_sec: null
+)
+```
+
diff --git a/docs/CreateConference.md b/docs/CreateConference.md
index fdd96294..30b55afe 100644
--- a/docs/CreateConference.md
+++ b/docs/CreateConference.md
@@ -6,7 +6,7 @@
| ---- | ---- | ----------- | ----- |
| **action_url** | **String** | This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response. | |
| **_alias** | **Boolean** | Descriptive name for the Conference. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
+| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] |
| **record** | **Boolean** | When set to `true`, the entire Conference is recorded. The `statusCallbackUrl` of the Conference will receive a `conferenceRecordingEnded` Webhook when the Conference transitions from the `inProgress` to empty state. | [optional] |
| **status_callback_url** | **String** | This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available. | [optional] |
| **wait_url** | **String** | If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb. | [optional] |
diff --git a/docs/CreateConferenceAllOf.md b/docs/CreateConferenceAllOf.md
deleted file mode 100644
index 26e73ba5..00000000
--- a/docs/CreateConferenceAllOf.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Freeclimb::CreateConferenceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response. | |
-| **_alias** | **Boolean** | Descriptive name for the Conference. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
-| **record** | **Boolean** | When set to `true`, the entire Conference is recorded. The `statusCallbackUrl` of the Conference will receive a `conferenceRecordingEnded` Webhook when the Conference transitions from the `inProgress` to empty state. | [optional] |
-| **status_callback_url** | **String** | This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available. | [optional] |
-| **wait_url** | **String** | If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::CreateConferenceAllOf.new(
- action_url: null,
- _alias: null,
- play_beep: null,
- record: null,
- status_callback_url: null,
- wait_url: null
-)
-```
-
diff --git a/docs/CreateConferenceRequest.md b/docs/CreateConferenceRequest.md
index e683d8b3..c45c55a4 100644
--- a/docs/CreateConferenceRequest.md
+++ b/docs/CreateConferenceRequest.md
@@ -5,7 +5,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **_alias** | **String** | A description for this Conference. Maximum 64 characters. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
+| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] |
| **record** | **Boolean** | Setting to `true` records the entire Conference. | [optional] |
| **wait_url** | **String** | If specified, a URL for the audio file that provides custom hold music for the Conference when it is in the populated state. Otherwise, FreeClimb uses a system default audio file. This is always fetched using HTTP GET and is fetched just once — when the Conference is created. | [optional] |
| **status_callback_url** | **String** | This URL is invoked when the status of the Conference changes. For more information, see **statusCallbackUrl** (below). | [optional] |
diff --git a/docs/CreateConferenceWebhook.md b/docs/CreateConferenceWebhook.md
new file mode 100644
index 00000000..ed901f7f
--- /dev/null
+++ b/docs/CreateConferenceWebhook.md
@@ -0,0 +1,42 @@
+# Freeclimb::CreateConferenceWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be createConference - A Conference has been created and its statusCallbackUrl or actionUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
+| **recording_url** | **String** | The URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+| **recording_id** | **String** | The unique ID of the Recording from this Conference. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+| **recording_duration_sec** | **Integer** | The duration of the recorded audio rounded up to the nearest second (in seconds). Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::CreateConferenceWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ status: null,
+ recording_url: null,
+ recording_id: null,
+ recording_duration_sec: null
+)
+```
+
diff --git a/docs/DequeueWebhook.md b/docs/DequeueWebhook.md
new file mode 100644
index 00000000..820603e4
--- /dev/null
+++ b/docs/DequeueWebhook.md
@@ -0,0 +1,38 @@
+# Freeclimb::DequeueWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be dequeue - A queued call has been dequeued and the actionUrl of the corresponding Enqueue action is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **queue_result** | **String** | The final result of the enqueued Call. Valid values are: •dequeued - Enqueued caller exited the Queue via a Dequeue action (Dequeue command or Queue Members POST REST API). | [optional] |
+| **queue_time** | **Integer** | Time (in seconds) the call spent in the Queue. This is only available if the Call was actually enqueued. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::DequeueWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ queue_result: null,
+ queue_time: null
+)
+```
+
diff --git a/docs/EnqueueAllOf.md b/docs/EnqueueAllOf.md
deleted file mode 100644
index 26195f4b..00000000
--- a/docs/EnqueueAllOf.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Freeclimb::EnqueueAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the `Dequeue` command, the REST API (POST to Queue Member resource), or the caller hangs up. | |
-| **notification_url** | **String** | URL to be invoked when the call enters the queue. The request to the URL contains the standard request parameters.This is a notification only; any PerCL returned will be ignored. | [optional] |
-| **queue_id** | **String** | ID of the Queue to which to add the Call. If the Queue does not exist, it will be created. The ID must start with QU followed by 40 hex characters. | |
-| **wait_url** | **String** | A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the `Dequeue` command, the REST API (POST to Queue Member resource), or the caller hangs up. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::EnqueueAllOf.new(
- action_url: null,
- notification_url: null,
- queue_id: null,
- wait_url: null
-)
-```
-
diff --git a/docs/GetDigitsAllOf.md b/docs/GetDigitsAllOf.md
deleted file mode 100644
index 95b2afed..00000000
--- a/docs/GetDigitsAllOf.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Freeclimb::GetDigitsAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | When the Caller has finished entering digits, FreeClimb will make an HTTP POST request to this URL. A PerCL response is expected to continue handling the Call. Make sure to keep “http://“ in the URL. | |
-| **digit_timeout_ms** | **Integer** | Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered, before making a determination that a `timeout` has occurred and moving on to make the request to the actionUrl to submit the results of the `GetDigits` command. This timeout interval begins and resets after each digit entered. | [optional] |
-| **finish_on_key** | **String** | Digit that causes the input sequence to be deemed complete. This attribute defers to the `timeout` attribute – so, if a `timeout` occurs, then the command terminates regardless of the value of `finishOnKey`. | [optional] |
-| **flush_buffer** | **Boolean** | If set to true, the FreeClimb platform starts with an empty DTMF buffer to store the digits entered by the caller. If set to false, FreeClimb will append the user inputs to the end of the existing digits buffer and will return digits from the start of the digits buffer. | [optional] |
-| **initial_timeout_ms** | **Integer** | Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit before making a determination that a `timeout` has occurred and moving on to make the request to the `actionUrl` to submit the results of the `GetDigits` command. This timeout interval begins when all nested commands have been fully executed. | [optional] |
-| **max_digits** | **Integer** | Maximum number of digits expected in the input. If the terminating digit is not entered and the caller has entered the maximum number of digits allowed, the `GetDigits` command terminates regardless of the value of `finishOnKey`. | [optional] |
-| **min_digits** | **Integer** | Minimum number of digits expected in the input. If specified, FreeClimb will return the collected digits only if the Caller has entered at least that many digits. | [optional] |
-| **prompts** | [**Array<PerclCommand>**](PerclCommand.md) | JSON array of PerCL commands to nest within the `GetDigits` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::GetDigitsAllOf.new(
- action_url: null,
- digit_timeout_ms: null,
- finish_on_key: null,
- flush_buffer: null,
- initial_timeout_ms: null,
- max_digits: null,
- min_digits: null,
- prompts: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/GetDigitsReason.md b/docs/GetDigitsReason.md
new file mode 100644
index 00000000..9e36e92b
--- /dev/null
+++ b/docs/GetDigitsReason.md
@@ -0,0 +1,19 @@
+# Freeclimb::GetDigitsReason
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **FINISH_KEY** | **GetDigitsReason** | | Represented in Ruby as "finishKey" |
+| **TIMEOUT** | **GetDigitsReason** | | Represented in Ruby as "timeout" |
+| **MAX_DIGITS** | **GetDigitsReason** | | Represented in Ruby as "maxDigits" |
+| **TONE** | **GetDigitsReason** | | Represented in Ruby as "tone" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::GetDigitsReason::[NAME OF ENUM]
+```
+
diff --git a/docs/GetDigitsWebhook.md b/docs/GetDigitsWebhook.md
new file mode 100644
index 00000000..792d6619
--- /dev/null
+++ b/docs/GetDigitsWebhook.md
@@ -0,0 +1,40 @@
+# Freeclimb::GetDigitsWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be getDigits - The GetDigits command has completed and its actionUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **digits** | **String** | 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 | [optional] |
+| **reason** | [**GetDigitsReason**](GetDigitsReason.md) | | [optional] |
+| **parent_call_id** | **String** | ID of the Call that created this leg (child call). | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::GetDigitsWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ digits: null,
+ reason: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/GetSpeechAllOf.md b/docs/GetSpeechAllOf.md
deleted file mode 100644
index 8d2cf061..00000000
--- a/docs/GetSpeechAllOf.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Freeclimb::GetSpeechAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call. | |
-| **grammar_type** | [**GrammarType**](GrammarType.md) | | [optional] |
-| **grammar_file** | **String** | The grammar file to use for speech recognition. If grammarType is set to URL, this attribute is specified as a download URL. | |
-| **grammar_rule** | **String** | The grammar rule within the specified grammar file to use for speech recognition. This attribute is optional if `grammarType` is `URL` and ignored if `grammarType` is `BUILTIN`. | [optional] |
-| **play_beep** | **Boolean** | Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak. | [optional] |
-| **prompts** | [**Array<PerclCommand>**](PerclCommand.md) | The JSON array of PerCL commands to nest within the `GetSpeech` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the caller. This allows for playing menu options to the caller and to prompt for the expected input. These commands stop executing when the caller begins to input speech. | [optional] |
-| **no_input_timeout_ms** | **Integer** | When recognition is started and there is no speech detected for `noInputTimeoutMs` milliseconds, the recognizer will terminate the recognition operation. | [optional] |
-| **recognition_timeout_ms** | **Integer** | When playback of prompts ends and there is no match for `recognitionTimeoutMs` milliseconds, the recognizer will terminate the recognition operation. | [optional] |
-| **confidence_threshold** | **Float** | When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter `confidenceThreshold` specifies what confidence level is considered a successful match. Values are between 0.0 and 1.0. | [optional] |
-| **sensitivity_level** | **Float** | The speech recognizer supports a variable level of sound sensitivity. The sensitivityLevel attribute allows for filtering out background noise, so it is not mistaken for speech. Values are between 0.0 and 1.0 | [optional] |
-| **speech_complete_timeout_ms** | **Integer** | Parameter `speechCompleteTimeoutMs` specifies the length of silence required following user speech before the speech recognizer finalizes a result. This timeout applies when the recognizer currently has a complete match against an active grammar. Reasonable speech complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds. | [optional] |
-| **speech_incomplete_timeout_ms** | **Integer** | Parameter `speechIncompleteTimeoutMs` specifies the length of silence following user speech after which a recognizer finalizes a result. This timeout applies when the speech prior to the silence is an incomplete match of all active grammars. Timeout `speechIncompleteTimeoutMs` is usually longer than `speechCompleteTimeoutMs` to allow users to pause mid-utterance. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter privacyMode will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::GetSpeechAllOf.new(
- action_url: null,
- grammar_type: null,
- grammar_file: null,
- grammar_rule: null,
- play_beep: null,
- prompts: null,
- no_input_timeout_ms: null,
- recognition_timeout_ms: null,
- confidence_threshold: null,
- sensitivity_level: null,
- speech_complete_timeout_ms: null,
- speech_incomplete_timeout_ms: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/GetSpeechWebhook.md b/docs/GetSpeechWebhook.md
new file mode 100644
index 00000000..9c449324
--- /dev/null
+++ b/docs/GetSpeechWebhook.md
@@ -0,0 +1,50 @@
+# Freeclimb::GetSpeechWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be getSpeech - The GetSpeech command has completed and its actionUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | Unique ID of the Conference. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **reason** | [**GetSpeechReason**](GetSpeechReason.md) | | [optional] |
+| **recognition_result** | **String** | Semantic content (either a string if speech was recognized or a digit if a digit was input instead of speech) returned from the entry or tag that was recognized within the grammar. The content will be replaced by 'xxxxx' when privacyMode is set to true. This field is populated only if the reason field is set to recognition or digit. | [optional] |
+| **confidence** | **Integer** | Level of confidence in the obtained result. This is a value in the range 0 to 100 – with 0 being total lack of confidence and 100 being absolute certainty in the recognition. This field is populated only if the reason field is set to recognition. | [optional] |
+| **parent_call_id** | **String** | ID of the Call that created this leg (child call). | [optional] |
+| **completion_reason** | **String** | Advanced diagnostic information if reason was error. See RFC 6787 section 9.4.12 - speech recognition. | [optional] |
+| **completion_cause** | **String** | Advanced diagnostic information if reason was error. See RFC 6787 section 9.4.11 - speech recognition. | [optional] |
+| **mrcp_code** | **Integer** | Advanced diagnostic information if reason was error. See RFC 6787 section 5.4 - MRCPv2 specification. | [optional] |
+| **mrcp_diagnostic** | **String** | Advanced diagnostic information if reason was error. See RFC 6787 section 5.4 - MRCPv2 specification. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::GetSpeechWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ reason: null,
+ recognition_result: null,
+ confidence: null,
+ parent_call_id: null,
+ completion_reason: null,
+ completion_cause: null,
+ mrcp_code: null,
+ mrcp_diagnostic: null
+)
+```
+
diff --git a/docs/HangupAllOf.md b/docs/HangupAllOf.md
deleted file mode 100644
index 2548f382..00000000
--- a/docs/HangupAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::HangupAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **reason** | **String** | The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::HangupAllOf.new(
- reason: null
-)
-```
-
diff --git a/docs/InboundCallWebhook.md b/docs/InboundCallWebhook.md
new file mode 100644
index 00000000..f08ab106
--- /dev/null
+++ b/docs/InboundCallWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::InboundCallWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be inboundCall - An inbound call was received and the voiceUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **parent_call_id** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::InboundCallWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/IncomingNumberListAllOf.md b/docs/IncomingNumberListAllOf.md
deleted file mode 100644
index 92625ac6..00000000
--- a/docs/IncomingNumberListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::IncomingNumberListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **incoming_phone_numbers** | [**Array<IncomingNumberResult>**](IncomingNumberResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::IncomingNumberListAllOf.new(
- incoming_phone_numbers: null
-)
-```
-
diff --git a/docs/IncomingNumberResultAllOf.md b/docs/IncomingNumberResultAllOf.md
deleted file mode 100644
index 3e613637..00000000
--- a/docs/IncomingNumberResultAllOf.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Freeclimb::IncomingNumberResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **capabilities** | [**Capabilities**](Capabilities.md) | | [optional] |
-| **campaign_id** | **String** | The campaign ID generated by the campaign registry | [optional] |
-| **phone_number_id** | **String** | String that uniquely identifies this phone number resource. | [optional] |
-| **account_id** | **String** | ID of the account that owns this phone number. | [optional] |
-| **application_id** | **String** | ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId. | [optional] |
-| **phone_number** | **String** | Phone number in E.164 format. | [optional] |
-| **_alias** | **String** | Description for this phone number. Typically the conventionally-formatted version of the phone number. | [optional] |
-| **region** | **String** | State or province of this phone number. | [optional] |
-| **country** | **String** | Country of this phone number. | [optional] |
-| **voice_enabled** | **Boolean** | Indicates whether the phone number can handle Calls. Typically set to true for all numbers. | [optional] |
-| **sms_enabled** | **Boolean** | Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. | [optional] |
-| **offnet** | **Boolean** | The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests to the IncomingPhone number resource. | [optional] |
-| **tfn** | [**TFN**](TFN.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::IncomingNumberResultAllOf.new(
- capabilities: null,
- campaign_id: null,
- phone_number_id: null,
- account_id: null,
- application_id: null,
- phone_number: null,
- _alias: null,
- region: null,
- country: null,
- voice_enabled: null,
- sms_enabled: null,
- offnet: null,
- tfn: null
-)
-```
-
diff --git a/docs/LeaveConferenceWebhook.md b/docs/LeaveConferenceWebhook.md
new file mode 100644
index 00000000..c6836231
--- /dev/null
+++ b/docs/LeaveConferenceWebhook.md
@@ -0,0 +1,34 @@
+# Freeclimb::LeaveConferenceWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be leaveConference - Call has been unbridged from a Conference and its leaveConferenceUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. This is the call leg which has left the Conference | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::LeaveConferenceWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null
+)
+```
+
diff --git a/docs/LogListAllOf.md b/docs/LogListAllOf.md
deleted file mode 100644
index d603645c..00000000
--- a/docs/LogListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::LogListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **logs** | [**Array<LogResult>**](LogResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::LogListAllOf.new(
- logs: null
-)
-```
-
diff --git a/docs/MachineDetectedWebhook.md b/docs/MachineDetectedWebhook.md
new file mode 100644
index 00000000..83f59b69
--- /dev/null
+++ b/docs/MachineDetectedWebhook.md
@@ -0,0 +1,38 @@
+# Freeclimb::MachineDetectedWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be machineDetected - An outbound call spawned by OutDial was answered by a machine and the ifMachineUrl is being invoked. | [optional] |
+| **call_id** | **String** | Unique ID for this Call, generated by FreeClimb. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |
+| **parent_call_id** | **String** | Call ID of the leg which initiated the OutDial. | [optional] |
+| **machine_type** | [**MachineType**](MachineType.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::MachineDetectedWebhook.new(
+ request_type: null,
+ call_id: null,
+ account_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ parent_call_id: null,
+ machine_type: null
+)
+```
+
diff --git a/docs/MachineType.md b/docs/MachineType.md
index faca25b8..ff5775a3 100644
--- a/docs/MachineType.md
+++ b/docs/MachineType.md
@@ -4,8 +4,8 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
-| **ANSWERING_MACHINE** | **MachineType** | | Represented in Ruby as "answeringMachine" |
-| **FAX_MACHINE** | **MachineType** | | Represented in Ruby as "faxMachine" |
+| **ANSWERING_MACHINE** | **MachineType** | | Represented in Ruby as "answering machine" |
+| **FAX_MODEM** | **MachineType** | | Represented in Ruby as "fax modem" |
## Example
diff --git a/docs/MessageDeliveryWebhook.md b/docs/MessageDeliveryWebhook.md
new file mode 100644
index 00000000..e64df8ef
--- /dev/null
+++ b/docs/MessageDeliveryWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::MessageDeliveryWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Value will be messageDelivery - An SMS message has been received by the platform and is being delivered to the customer application associated with the destination number. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional] |
+| **text** | **String** | Body of the SMS message. | [optional] |
+| **direction** | **String** | Value will be inbound to indicate the receipt of a message into the FreeClimb platform. | [optional] |
+| **application_id** | **String** | ID of the application to which the destination number is assigned. | [optional] |
+| **status** | **String** | Value will be received to indicate that the platform has successfully received the incoming message. | [optional] |
+| **phone_number_id** | **String** | ID of the destination phone number. | [optional] |
+| **uri** | **String** | The URI for this resource, relative to the API base URL | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::MessageDeliveryWebhook.new(
+ request_type: null,
+ account_id: null,
+ from: null,
+ to: null,
+ text: null,
+ direction: null,
+ application_id: null,
+ status: null,
+ phone_number_id: null,
+ uri: null
+)
+```
+
diff --git a/docs/MessageRequestAllOf.md b/docs/MessageRequestAllOf.md
deleted file mode 100644
index 9b7d6127..00000000
--- a/docs/MessageRequestAllOf.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Freeclimb::MessageRequestAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **from** | **String** | Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb. | |
-| **to** | **String** | Phone number to receive the message. Must be within FreeClimb's service area. | |
-| **text** | **String** | Text contained in the message (maximum 160 characters). **Note:** For text, only ASCII characters are supported. | |
-| **notification_url** | **String** | When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. **Note:** This is a notification only; any PerCL returned is ignored. | [optional] |
-| **media_urls** | **Array<String>** | an array of HTTP URLs which are to be used as attachments to the message. This will force the message into being an MMS message and must be done using a from number which is MMS capabile. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::MessageRequestAllOf.new(
- from: null,
- to: null,
- text: null,
- notification_url: null,
- media_urls: null
-)
-```
-
diff --git a/docs/MessageResultAllOf.md b/docs/MessageResultAllOf.md
deleted file mode 100644
index 22f2230c..00000000
--- a/docs/MessageResultAllOf.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Freeclimb::MessageResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **account_id** | **String** | String that uniquely identifies this account resource. | [optional] |
-| **message_id** | **String** | String that uniquely identifies this message resource | [optional] |
-| **status** | [**MessageStatus**](MessageStatus.md) | | [optional] |
-| **from** | **String** | Phone number in E.164 format that sent the message. | [optional] |
-| **to** | **String** | Phone number in E.164 format that received the message. | [optional] |
-| **text** | **String** | Message contents | [optional] |
-| **direction** | **String** | Noting whether the message was inbound or outbound | [optional] |
-| **notification_url** | **String** | URL invoked when message sent | [optional] |
-| **brand_id** | **String** | The unique identifier for the brand associated with the message | [optional] |
-| **campaign_id** | **String** | The unique identifier for the campaign associated with the message | [optional] |
-| **segment_count** | **Float** | The number of segments into which the message was split | [optional] |
-| **media_urls** | **Array<String>** | an array of HTTP URLs which were attached this this message | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::MessageResultAllOf.new(
- account_id: null,
- message_id: null,
- status: null,
- from: null,
- to: null,
- text: null,
- direction: null,
- notification_url: null,
- brand_id: null,
- campaign_id: null,
- segment_count: null,
- media_urls: null
-)
-```
-
diff --git a/docs/MessageStatusWebhook.md b/docs/MessageStatusWebhook.md
new file mode 100644
index 00000000..62b0ddcc
--- /dev/null
+++ b/docs/MessageStatusWebhook.md
@@ -0,0 +1,38 @@
+# Freeclimb::MessageStatusWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Value will be messageStatus - An outbound SMS has changed status and the Sms command's notificationUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **message_id** | **String** | Unique ID for this message, generated by FreeClimb. | [optional] |
+| **call_id** | **String** | Unique ID for the Call in the context of which the Sms PerCL command was issued. | [optional] |
+| **from** | **String** | aPhone number used to initiate the SMS message (in E.164 format). | [optional] |
+| **to** | **String** | Destination number of the SMS message (in E.164 format). | [optional] |
+| **text** | **String** | Body of the SMS message. | [optional] |
+| **direction** | **String** | Value will be outbound to indicate an outgoing SMS from FreeClimb. | [optional] |
+| **application_id** | **String** | ID of the application to which the destination number is assigned. May be null if the originating number is invalid in some way or is not registered to an application. | [optional] |
+| **status** | [**MessageStatus**](MessageStatus.md) | | [optional] |
+| **phone_number_id** | **String** | ID of the destination phone number. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::MessageStatusWebhook.new(
+ request_type: null,
+ account_id: null,
+ message_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ text: null,
+ direction: null,
+ application_id: null,
+ status: null,
+ phone_number_id: null
+)
+```
+
diff --git a/docs/MessagesListAllOf.md b/docs/MessagesListAllOf.md
deleted file mode 100644
index 5d7fa232..00000000
--- a/docs/MessagesListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::MessagesListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **messages** | [**Array<MessageResult>**](MessageResult.md) | Array of messages | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::MessagesListAllOf.new(
- messages: null
-)
-```
-
diff --git a/docs/OutDialAllOf.md b/docs/OutDialAllOf.md
deleted file mode 100644
index ce25300e..00000000
--- a/docs/OutDialAllOf.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Freeclimb::OutDialAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | URL to which FreeClimb sends an HTTP POST request. | |
-| **call_connect_url** | **String** | URL to which FreeClimb makes an HTTP POST request informing the result of the OutDial. | |
-| **calling_number** | **String** | he caller ID to show to the called party when FreeClimb calls. This can be one of the following: The To or From number provided in the first Webhook to your webserver. Any phone number you have purchased from FreeClimb. | |
-| **destination** | **String** | E.164 representation of the phone number to Call. | |
-| **if_machine** | [**IfMachine**](IfMachine.md) | | [optional] |
-| **if_machine_url** | **String** | When the `ifMachine` flag is set to `redirect`, this attribute specifies a URL to which FreeClimb makes a POST request when an answering machine or a fax machine is detected. This URL is required if the `ifMachine` flag is set to `redirect`. Otherwise, it should not be included. | [optional] |
-| **send_digits** | **String** | DTMF tones to play to the outdialed Call. This is typically used to dial a number and then dial an extension. | [optional] |
-| **status_callback_url** | **String** | When the outdialed Call leg terminates, FreeClimb sends a `callStatus` Webhook to the `statusCallbackUrl`. This is a notification only; any PerCL command returned is ignored. | [optional] |
-| **timeout** | **Integer** | Maximum time in seconds the `OutDial` command waits for the called party to answer the Call. When a timeout occurs, FreeClimb invokes the `callConnectUrl` Webhook to report that the out-dialed Call has ended with a status of `noAnswer`. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::OutDialAllOf.new(
- action_url: null,
- call_connect_url: null,
- calling_number: null,
- destination: null,
- if_machine: null,
- if_machine_url: null,
- send_digits: null,
- status_callback_url: null,
- timeout: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/OutDialApiConnectWebhook.md b/docs/OutDialApiConnectWebhook.md
new file mode 100644
index 00000000..f3db3530
--- /dev/null
+++ b/docs/OutDialApiConnectWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::OutDialApiConnectWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be outDialApiConnect - An outbound call spawned by the REST API has connected and the callConnectUrl specified in the API request is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number or SIP URL of the party that is receiving the call (phone number in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **parent_call_id** | **String** | ID of the Call that created this leg (child call). | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::OutDialApiConnectWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/OutDialConnectWebhook.md b/docs/OutDialConnectWebhook.md
new file mode 100644
index 00000000..f79cca62
--- /dev/null
+++ b/docs/OutDialConnectWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::OutDialConnectWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be outDialConnect - A Call generated by OutDial has connected and the callConnectUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number or SIP URL of the party that is receiving the call (phone number in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **parent_call_id** | **String** | ID of the Call that created this leg (child call). | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::OutDialConnectWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/OutDialStartWebhook.md b/docs/OutDialStartWebhook.md
new file mode 100644
index 00000000..a17b10e8
--- /dev/null
+++ b/docs/OutDialStartWebhook.md
@@ -0,0 +1,38 @@
+# Freeclimb::OutDialStartWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be outDialStart - The OutDial command has started and the actionUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **dial_call_id** | **String** | ID of the child call that was generated as a result of the Outdial. | [optional] |
+| **parent_call_id** | **String** | ID of the Call that created this leg (child call). If this was an inbound call or call created via REST API with no parent, this field will be null. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::OutDialStartWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ dial_call_id: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/ParkAllOf.md b/docs/ParkAllOf.md
deleted file mode 100644
index e32a4a5b..00000000
--- a/docs/ParkAllOf.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Freeclimb::ParkAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **wait_url** | **String** | Specifies a URL pointing to a PerCL script containing actions to be executed while the caller is Parked. Once the script returned by the waitUrl runs out of commands to execute, FreeClimb will re-request the waitUrl and start over, essentially looping the script requests indefinitely. | |
-| **action_url** | **String** | A request is made to this URL when the Call is resumed, which can occur if the Call is resumed via the Unpark command, the REST API (POST to Call resource), or the caller hangs up. The PerCL script returned in response to the actionUrl will be executed on the resumed call. | |
-| **notification_url** | **String** | URL to be invoked when the Call is parked. The request to the URL contains the standard request parameters. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::ParkAllOf.new(
- wait_url: null,
- action_url: null,
- notification_url: null
-)
-```
-
diff --git a/docs/PauseAllOf.md b/docs/PauseAllOf.md
deleted file mode 100644
index 6feb8434..00000000
--- a/docs/PauseAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::PauseAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **length** | **Integer** | Length in milliseconds. FreeClimb will wait silently before continuing on. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::PauseAllOf.new(
- length: null
-)
-```
-
diff --git a/docs/PlayAllOf.md b/docs/PlayAllOf.md
deleted file mode 100644
index 78628365..00000000
--- a/docs/PlayAllOf.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Freeclimb::PlayAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **file** | **String** | RL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands. | |
-| **loop** | **Integer** | Number of times the audio file is played. Specifying '0' causes the Play action to loop until the Call is hung up. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::PlayAllOf.new(
- file: null,
- loop: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/PlayEarlyMediaAllOf.md b/docs/PlayEarlyMediaAllOf.md
deleted file mode 100644
index 0dd0d95e..00000000
--- a/docs/PlayEarlyMediaAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::PlayEarlyMediaAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **file** | **String** | RL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands or any accessible URL. FreeClimb will respect Cache-Control headers for this file. Use these to limit repeated requests for unchanged audio. If no Cache-Control header is provided, the file will be cached for seven days by default. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::PlayEarlyMediaAllOf.new(
- file: null
-)
-```
-
diff --git a/docs/QueueListAllOf.md b/docs/QueueListAllOf.md
deleted file mode 100644
index 77f64d79..00000000
--- a/docs/QueueListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::QueueListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **queues** | [**Array<QueueResult>**](QueueResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::QueueListAllOf.new(
- queues: null
-)
-```
-
diff --git a/docs/QueueMemberListAllOf.md b/docs/QueueMemberListAllOf.md
deleted file mode 100644
index 8ef117a8..00000000
--- a/docs/QueueMemberListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::QueueMemberListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **queue_members** | [**Array<QueueMember>**](QueueMember.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::QueueMemberListAllOf.new(
- queue_members: null
-)
-```
-
diff --git a/docs/QueueResultAllOf.md b/docs/QueueResultAllOf.md
deleted file mode 100644
index cf26da61..00000000
--- a/docs/QueueResultAllOf.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Freeclimb::QueueResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **account_id** | **String** | ID of the account that created this Queue. | [optional] |
-| **queue_id** | **String** | A string that uniquely identifies this Queue resource. | [optional] |
-| **_alias** | **String** | A description for this Queue. | [optional] |
-| **max_size** | **Integer** | The maximum number of Calls permitted in the Queue. Default is 100. Maximum is 1000. | [optional] |
-| **current_size** | **Integer** | Count of Calls currently in the Queue. | [optional] |
-| **average_queue_removal_time** | **Integer** | The average amount of time (in seconds) for a call to be removed from the queue. | [optional] |
-| **subresource_uris** | **Object** | List of subresources for this Queue (which includes Queue members). | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::QueueResultAllOf.new(
- account_id: null,
- queue_id: null,
- _alias: null,
- max_size: null,
- current_size: null,
- average_queue_removal_time: null,
- subresource_uris: null
-)
-```
-
diff --git a/docs/QueueWaitWebhook.md b/docs/QueueWaitWebhook.md
new file mode 100644
index 00000000..284e2176
--- /dev/null
+++ b/docs/QueueWaitWebhook.md
@@ -0,0 +1,40 @@
+# Freeclimb::QueueWaitWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be queueWait - A queued call is requesting instructions to execute during the wait in the queue and the corresponding waitUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **queue_position** | **String** | Current queue position of the enqueued Call. | [optional] |
+| **queue_time** | **Integer** | Time (in seconds) the Call spent in the Queue. This is only available if the Call was actually enqueued. | [optional] |
+| **current_queue_size** | **Integer** | Current number of enqueued Calls in this Queue. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::QueueWaitWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ queue_position: null,
+ queue_time: null,
+ current_queue_size: null
+)
+```
+
diff --git a/docs/RecordUtteranceAllOf.md b/docs/RecordUtteranceAllOf.md
deleted file mode 100644
index 6791c59a..00000000
--- a/docs/RecordUtteranceAllOf.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Freeclimb::RecordUtteranceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | URL to which information on the completed recording is submitted. The PerCL received in response is then used to continue with Call processing. | |
-| **silence_timeout_ms** | **Integer** | Interval of silence that should elapse before ending the recording. | [optional] |
-| **finish_on_key** | **String** | Key that triggers the end of the recording. any digit, '#', or '*' | [optional] |
-| **max_length_sec** | **Integer** | Maximum length for the command execution in seconds. | [optional] |
-| **play_beep** | **Boolean** | Indicates whether to play a beep sound before the start of the recording. If set to `false`, no beep is played. | [optional] |
-| **auto_start** | **Boolean** | If `false`, recording begins immediately after the RecordUtterance command is processed. If `true`, recording begins when audio is present and if audio begins before the `maxLengthSec` timeout. If no audio begins before `maxLengthSec`, no recording is generated. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RecordUtteranceAllOf.new(
- action_url: null,
- silence_timeout_ms: null,
- finish_on_key: null,
- max_length_sec: null,
- play_beep: null,
- auto_start: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/RecordWebhook.md b/docs/RecordWebhook.md
new file mode 100644
index 00000000..2ca79d35
--- /dev/null
+++ b/docs/RecordWebhook.md
@@ -0,0 +1,50 @@
+# Freeclimb::RecordWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | The context or reason why this request is being made. Will be record - The RecordUtterance command has completed and its actionUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **recording_id** | **String** | ID of the recording. | [optional] |
+| **recording_url** | **String** | URL of the recorded audio file. This URL can be used as is in a Play command to play the recording (no authentication needed). It can also be used to download a recording file via the REST API. | [optional] |
+| **recording_size** | **String** | Size of the recording in bytes | [optional] |
+| **recording_format** | **String** | File type of the recording (audio/wav) | [optional] |
+| **recording_duration_sec** | **Integer** | Duration of the recorded audio rounded up to the nearest second (in seconds) | [optional] |
+| **term_reason** | [**RecordUtteranceTermReason**](RecordUtteranceTermReason.md) | | [optional] |
+| **parent_call_id** | **String** | ID of Call that created this leg (child call). | [optional] |
+| **privacy_mode** | **Boolean** | If true then it indicates the recording will only be available for download for two minutes prior to it being deleted. This is to minimize risk of anyone else getting access to the url and attempting to access it. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::RecordWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ recording_id: null,
+ recording_url: null,
+ recording_size: null,
+ recording_format: null,
+ recording_duration_sec: null,
+ term_reason: null,
+ parent_call_id: null,
+ privacy_mode: null
+)
+```
+
diff --git a/docs/RecordingListAllOf.md b/docs/RecordingListAllOf.md
deleted file mode 100644
index 2bbc2934..00000000
--- a/docs/RecordingListAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::RecordingListAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **recordings** | [**Array<RecordingResult>**](RecordingResult.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RecordingListAllOf.new(
- recordings: null
-)
-```
-
diff --git a/docs/RecordingResultAllOf.md b/docs/RecordingResultAllOf.md
deleted file mode 100644
index 7df0e81f..00000000
--- a/docs/RecordingResultAllOf.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Freeclimb::RecordingResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **recording_id** | **String** | String that uniquely identifies this recording resource. | [optional] |
-| **account_id** | **String** | ID of the account that created this recording. | [optional] |
-| **call_id** | **String** | ID of the Call that was recorded. If a Conference was recorded, this value is empty and the conferenceId property is populated. | [optional] |
-| **duration_sec** | **Integer** | Length of the recording in seconds. | [optional] |
-| **conference_id** | **String** | ID of the Conference that was recorded. If a Call was recorded, this value is empty and the callId property is populated. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RecordingResultAllOf.new(
- recording_id: null,
- account_id: null,
- call_id: null,
- duration_sec: null,
- conference_id: null
-)
-```
-
diff --git a/docs/RedirectAllOf.md b/docs/RedirectAllOf.md
deleted file mode 100644
index 92e7b3c6..00000000
--- a/docs/RedirectAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::RedirectAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | URL to request a new PerCL script to continue with the current Call's processing. When `Redirect` invokes the `actionUrl`, an `inbound` Webhook is sent. This request therefore looks identical to the initial request (made to the `voiceUrl` of the number that was called) for an inbound Call. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RedirectAllOf.new(
- action_url: null
-)
-```
-
diff --git a/docs/RedirectWebhook.md b/docs/RedirectWebhook.md
new file mode 100644
index 00000000..4217ec72
--- /dev/null
+++ b/docs/RedirectWebhook.md
@@ -0,0 +1,36 @@
+# Freeclimb::RedirectWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be redirect - The Redirect command is executing and its actionUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **parent_call_id** | **String** | ID of Call that created this leg (child call). | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::RedirectWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ parent_call_id: null
+)
+```
+
diff --git a/docs/RejectAllOf.md b/docs/RejectAllOf.md
deleted file mode 100644
index d192a392..00000000
--- a/docs/RejectAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::RejectAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **reason** | **String** | Reason for the rejection. This can be any string value. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the call flows for the given application. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RejectAllOf.new(
- reason: null
-)
-```
-
diff --git a/docs/RemoveFromConferenceAllOf.md b/docs/RemoveFromConferenceAllOf.md
deleted file mode 100644
index 3f01c0c8..00000000
--- a/docs/RemoveFromConferenceAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::RemoveFromConferenceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **call_id** | **String** | ID of the Call leg to be removed from the Conference. The Call must be in a Conference or an error will be triggered. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::RemoveFromConferenceAllOf.new(
- call_id: null
-)
-```
-
diff --git a/docs/RemoveFromQueueNotificationWebhook.md b/docs/RemoveFromQueueNotificationWebhook.md
new file mode 100644
index 00000000..26fc4d7d
--- /dev/null
+++ b/docs/RemoveFromQueueNotificationWebhook.md
@@ -0,0 +1,38 @@
+# Freeclimb::RemoveFromQueueNotificationWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Context or reason why this request is being made. Will be removeFromQueueNotification - A Call has been removed from a Queue and the Enqueue command’s actionUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **call_status** | [**CallStatus**](CallStatus.md) | | [optional] |
+| **direction** | [**CallDirection**](CallDirection.md) | | [optional] |
+| **conference_id** | **String** | This is only populated if request pertains to a conference. Otherwise, it is set to null. | [optional] |
+| **queue_id** | **String** | This is only populated if the request pertains to a queue. Otherwise, it is set to null. | [optional] |
+| **queue_result** | [**QueueResultStatus**](QueueResultStatus.md) | | [optional] |
+| **queue_time** | **Integer** | Time (in seconds) the Call spent in the Queue. This is only available if the Call was actually enqueued. | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::RemoveFromQueueNotificationWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ call_status: null,
+ direction: null,
+ conference_id: null,
+ queue_id: null,
+ queue_result: null,
+ queue_time: null
+)
+```
+
diff --git a/docs/SMSTenDLCBrand.md b/docs/SMSTenDLCBrand.md
index 321811f4..d9111c5e 100644
--- a/docs/SMSTenDLCBrand.md
+++ b/docs/SMSTenDLCBrand.md
@@ -5,7 +5,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **account_id** | **String** | ID of the account that created this Queue. | [optional] |
-| **entity_type** | **String** | Entity type behind the brand. This is the form of business establishment. | |
+| **entity_type** | [**SMSTenDLCBrandEntityType**](SMSTenDLCBrandEntityType.md) | | |
| **csp_id** | **String** | Unique identifier assigned to the csp by the registry. | [optional][readonly] |
| **brand_id** | **String** | Unique identifier assigned to the brand by the registry. | [optional][readonly] |
| **first_name** | **String** | First or given name. | [optional] |
@@ -22,18 +22,18 @@
| **country** | **String** | ISO2 2 characters country code. Example: US - United States | |
| **email** | **String** | Valid email address of brand support contact. | |
| **stock_symbol** | **String** | (Required for public company) stock symbol. | [optional] |
-| **stock_exchange** | **String** | (Required for public company) stock exchange. | [optional] |
+| **stock_exchange** | [**SMSTenDLCBrandStockExchange**](SMSTenDLCBrandStockExchange.md) | | [optional] |
| **ip_address** | **String** | IP address of the browser requesting to create brand identity. | [optional] |
| **website** | **String** | Brand website URL. | [optional] |
-| **brand_relationship** | **String** | Brand relationship to the CSP | |
+| **brand_relationship** | [**SMSTenDLCBrandRelationship**](SMSTenDLCBrandRelationship.md) | | |
| **vertical** | **String** | Vertical or industry segment of the brand. | |
| **alt_business_id** | **String** | Alternate business identifier such as DUNS, LEI, or GIIN | [optional] |
-| **alt_business_id_type** | **String** | The type of the Alternative business identifier | [optional] |
+| **alt_business_id_type** | [**SMSTenDLCBrandAltBusinessIdType**](SMSTenDLCBrandAltBusinessIdType.md) | | [optional] |
| **universal_ein** | **String** | Universal EIN of Brand, Read Only. | [optional][readonly] |
| **reference_id** | **String** | Caller supplied brand reference ID. If supplied, the value must be unique across all submitted brands. Can be used to prevent duplicate brand registrations. | [optional] |
| **optional_attributes** | **Hash<String, Object>** | Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names. | [optional] |
| **mock** | **Boolean** | Test brand. | |
-| **identity_status** | **String** | TCR assessment of the brand identification status. | |
+| **identity_status** | [**SMSTenDLCBrandIdentityStatus**](SMSTenDLCBrandIdentityStatus.md) | | |
| **create_date** | **Time** | Unix timestamp when brand was created. | [optional] |
## Example
@@ -60,7 +60,7 @@ instance = Freeclimb::SMSTenDLCBrand.new(
country: US,
email: null,
stock_symbol: ABC,
- stock_exchange: NASDAQ,
+ stock_exchange: null,
ip_address: null,
website: http://www.abcmobile.com,
brand_relationship: null,
diff --git a/docs/SMSTenDLCBrandAltBusinessIdType.md b/docs/SMSTenDLCBrandAltBusinessIdType.md
new file mode 100644
index 00000000..d54734e3
--- /dev/null
+++ b/docs/SMSTenDLCBrandAltBusinessIdType.md
@@ -0,0 +1,19 @@
+# Freeclimb::SMSTenDLCBrandAltBusinessIdType
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **NONE** | **SMSTenDLCBrandAltBusinessIdType** | | Represented in Ruby as "NONE" |
+| **DUNS** | **SMSTenDLCBrandAltBusinessIdType** | | Represented in Ruby as "DUNS" |
+| **GIIN** | **SMSTenDLCBrandAltBusinessIdType** | | Represented in Ruby as "GIIN" |
+| **LEI** | **SMSTenDLCBrandAltBusinessIdType** | | Represented in Ruby as "LEI" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCBrandAltBusinessIdType::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCBrandEntityType.md b/docs/SMSTenDLCBrandEntityType.md
new file mode 100644
index 00000000..2a3dc2e3
--- /dev/null
+++ b/docs/SMSTenDLCBrandEntityType.md
@@ -0,0 +1,20 @@
+# Freeclimb::SMSTenDLCBrandEntityType
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **PRIVATE_PROFIT** | **SMSTenDLCBrandEntityType** | | Represented in Ruby as "PRIVATE_PROFIT" |
+| **PUBLIC_PROFIT** | **SMSTenDLCBrandEntityType** | | Represented in Ruby as "PUBLIC_PROFIT" |
+| **NON_PROFIT** | **SMSTenDLCBrandEntityType** | | Represented in Ruby as "NON_PROFIT" |
+| **GOVERNMENT** | **SMSTenDLCBrandEntityType** | | Represented in Ruby as "GOVERNMENT" |
+| **SOLE_PROPRIETOR** | **SMSTenDLCBrandEntityType** | | Represented in Ruby as "SOLE_PROPRIETOR" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCBrandEntityType::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCBrandIdentityStatus.md b/docs/SMSTenDLCBrandIdentityStatus.md
new file mode 100644
index 00000000..0f141538
--- /dev/null
+++ b/docs/SMSTenDLCBrandIdentityStatus.md
@@ -0,0 +1,19 @@
+# Freeclimb::SMSTenDLCBrandIdentityStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **SELF_DECLARED** | **SMSTenDLCBrandIdentityStatus** | | Represented in Ruby as "SELF_DECLARED" |
+| **UNVERIFIED** | **SMSTenDLCBrandIdentityStatus** | | Represented in Ruby as "UNVERIFIED" |
+| **VERIFIED** | **SMSTenDLCBrandIdentityStatus** | | Represented in Ruby as "VERIFIED" |
+| **VETTED_VERIFIED** | **SMSTenDLCBrandIdentityStatus** | | Represented in Ruby as "VETTED_VERIFIED" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCBrandIdentityStatus::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCBrandRelationship.md b/docs/SMSTenDLCBrandRelationship.md
new file mode 100644
index 00000000..b507c14a
--- /dev/null
+++ b/docs/SMSTenDLCBrandRelationship.md
@@ -0,0 +1,20 @@
+# Freeclimb::SMSTenDLCBrandRelationship
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **BASIC_ACCOUNT** | **SMSTenDLCBrandRelationship** | | Represented in Ruby as "BASIC_ACCOUNT" |
+| **SMALL_ACCOUNT** | **SMSTenDLCBrandRelationship** | | Represented in Ruby as "SMALL_ACCOUNT" |
+| **MEDIUM_ACCOUNT** | **SMSTenDLCBrandRelationship** | | Represented in Ruby as "MEDIUM_ACCOUNT" |
+| **LARGE_ACCOUNT** | **SMSTenDLCBrandRelationship** | | Represented in Ruby as "LARGE_ACCOUNT" |
+| **KEY_ACCOUNT** | **SMSTenDLCBrandRelationship** | | Represented in Ruby as "KEY_ACCOUNT" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCBrandRelationship::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCBrandStockExchange.md b/docs/SMSTenDLCBrandStockExchange.md
new file mode 100644
index 00000000..18c6be4a
--- /dev/null
+++ b/docs/SMSTenDLCBrandStockExchange.md
@@ -0,0 +1,42 @@
+# Freeclimb::SMSTenDLCBrandStockExchange
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **NONE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "NONE" |
+| **NASDAQ** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "NASDAQ" |
+| **NYSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "NYSE" |
+| **AMEX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "AMEX" |
+| **AMX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "AMX" |
+| **ASX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "ASX" |
+| **B3** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "B3" |
+| **BME** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "BME" |
+| **BSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "BSE" |
+| **FRA** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "FRA" |
+| **ICEX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "ICEX" |
+| **JPX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "JPX" |
+| **JSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "JSE" |
+| **KRX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "KRX" |
+| **LON** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "LON" |
+| **NSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "NSE" |
+| **OMX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "OMX" |
+| **SEHK** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "SEHK" |
+| **SGX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "SGX" |
+| **SSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "SSE" |
+| **STO** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "STO" |
+| **SWX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "SWX" |
+| **SZSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "SZSE" |
+| **TSX** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "TSX" |
+| **TWSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "TWSE" |
+| **VSE** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "VSE" |
+| **OTHER** | **SMSTenDLCBrandStockExchange** | | Represented in Ruby as "OTHER" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCBrandStockExchange::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCBrandsListResultAllOf.md b/docs/SMSTenDLCBrandsListResultAllOf.md
deleted file mode 100644
index 0fd4e877..00000000
--- a/docs/SMSTenDLCBrandsListResultAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SMSTenDLCBrandsListResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **brands** | [**Array<SMSTenDLCBrand>**](SMSTenDLCBrand.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SMSTenDLCBrandsListResultAllOf.new(
- brands: null
-)
-```
-
diff --git a/docs/SMSTenDLCCampaign.md b/docs/SMSTenDLCCampaign.md
index 2d18de4a..4009bb4c 100644
--- a/docs/SMSTenDLCCampaign.md
+++ b/docs/SMSTenDLCCampaign.md
@@ -8,7 +8,7 @@
| **campaign_id** | **String** | Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC. | |
| **csp_id** | **String** | Alphanumeric identifier of the CSP associated with this campaign. | |
| **reseller_id** | **String** | Alphanumeric identifier of the reseller that you want to associate with this campaign. | [optional] |
-| **status** | **String** | Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. | [optional] |
+| **status** | [**SMSTenDLCCampaignStatus**](SMSTenDLCCampaignStatus.md) | | [optional] |
| **create_date** | **Time** | Unix timestamp when campaign was created. | [optional] |
| **auto_renewal** | **Boolean** | Campaign subscription auto-renewal status. | [optional] |
| **billed_date** | **Time** | Campaign recent billed date. | [optional] |
diff --git a/docs/SMSTenDLCCampaignStatus.md b/docs/SMSTenDLCCampaignStatus.md
new file mode 100644
index 00000000..bf6e5f2f
--- /dev/null
+++ b/docs/SMSTenDLCCampaignStatus.md
@@ -0,0 +1,17 @@
+# Freeclimb::SMSTenDLCCampaignStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ACTIVE** | **SMSTenDLCCampaignStatus** | | Represented in Ruby as "ACTIVE" |
+| **EXPIRED** | **SMSTenDLCCampaignStatus** | | Represented in Ruby as "EXPIRED" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCCampaignStatus::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCCampaignsListResultAllOf.md b/docs/SMSTenDLCCampaignsListResultAllOf.md
deleted file mode 100644
index 783f7b81..00000000
--- a/docs/SMSTenDLCCampaignsListResultAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SMSTenDLCCampaignsListResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **campaigns** | [**Array<SMSTenDLCCampaign>**](SMSTenDLCCampaign.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SMSTenDLCCampaignsListResultAllOf.new(
- campaigns: null
-)
-```
-
diff --git a/docs/SMSTenDLCPartnerCampaign.md b/docs/SMSTenDLCPartnerCampaign.md
index bbca586b..4c94673a 100644
--- a/docs/SMSTenDLCPartnerCampaign.md
+++ b/docs/SMSTenDLCPartnerCampaign.md
@@ -6,7 +6,7 @@
| ---- | ---- | ----------- | ----- |
| **account_id** | **String** | ID of the account that created this Queue. | [optional] |
| **campaign_id** | **String** | Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC. | |
-| **status** | **String** | Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. | [optional] |
+| **status** | [**SMSTenDLCPartnerCampaignStatus**](SMSTenDLCPartnerCampaignStatus.md) | | [optional] |
| **create_date** | **Time** | Unix timestamp when campaign was created. | [optional] |
| **brand_id** | **String** | Alphanumeric identifier of the brand associated with this campaign. | |
| **usecase** | **String** | Campaign usecase. Must be of defined valid types. Use `/registry/enum/usecase` operation to retrieve usecases available for given brand. | |
diff --git a/docs/SMSTenDLCPartnerCampaignStatus.md b/docs/SMSTenDLCPartnerCampaignStatus.md
new file mode 100644
index 00000000..2c10559f
--- /dev/null
+++ b/docs/SMSTenDLCPartnerCampaignStatus.md
@@ -0,0 +1,17 @@
+# Freeclimb::SMSTenDLCPartnerCampaignStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ACTIVE** | **SMSTenDLCPartnerCampaignStatus** | | Represented in Ruby as "ACTIVE" |
+| **EXPIRED** | **SMSTenDLCPartnerCampaignStatus** | | Represented in Ruby as "EXPIRED" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTenDLCPartnerCampaignStatus::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md b/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md
deleted file mode 100644
index 37a883dc..00000000
--- a/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SMSTenDLCPartnerCampaignsListResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **partner_campaigns** | [**Array<SMSTenDLCPartnerCampaign>**](SMSTenDLCPartnerCampaign.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SMSTenDLCPartnerCampaignsListResultAllOf.new(
- partner_campaigns: null
-)
-```
-
diff --git a/docs/SMSTollFreeCampaign.md b/docs/SMSTollFreeCampaign.md
index 7883ba7b..cf5401af 100644
--- a/docs/SMSTollFreeCampaign.md
+++ b/docs/SMSTollFreeCampaign.md
@@ -7,7 +7,7 @@
| **account_id** | **String** | ID of the account that created this toll-free campaign | |
| **campaign_id** | **String** | Alphanumeric identifier used by the platform to identify this toll-free campaign | |
| **use_case** | **String** | | |
-| **registration_status** | **String** | Current toll-free campaign registration status.Possible values: UNREGISTERED,INITIATED,PENDING,DECLINED,REGISTERED. A newly created campaign defaults to INITIATED status. | |
+| **registration_status** | [**SMSTollFreeCampaignRegistrationStatus**](SMSTollFreeCampaignRegistrationStatus.md) | | |
| **date_created** | **String** | | |
| **date_updated** | **String** | | |
| **revision** | **Integer** | | |
diff --git a/docs/SMSTollFreeCampaignRegistrationStatus.md b/docs/SMSTollFreeCampaignRegistrationStatus.md
new file mode 100644
index 00000000..bff9261e
--- /dev/null
+++ b/docs/SMSTollFreeCampaignRegistrationStatus.md
@@ -0,0 +1,20 @@
+# Freeclimb::SMSTollFreeCampaignRegistrationStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **UNREGISTERED** | **SMSTollFreeCampaignRegistrationStatus** | | Represented in Ruby as "UNREGISTERED" |
+| **INITIATED** | **SMSTollFreeCampaignRegistrationStatus** | | Represented in Ruby as "INITIATED" |
+| **PENDING** | **SMSTollFreeCampaignRegistrationStatus** | | Represented in Ruby as "PENDING" |
+| **DECLINED** | **SMSTollFreeCampaignRegistrationStatus** | | Represented in Ruby as "DECLINED" |
+| **REGISTERED** | **SMSTollFreeCampaignRegistrationStatus** | | Represented in Ruby as "REGISTERED" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::SMSTollFreeCampaignRegistrationStatus::[NAME OF ENUM]
+```
+
diff --git a/docs/SMSTollFreeCampaignsListResultAllOf.md b/docs/SMSTollFreeCampaignsListResultAllOf.md
deleted file mode 100644
index b88aabbf..00000000
--- a/docs/SMSTollFreeCampaignsListResultAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SMSTollFreeCampaignsListResultAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **brands** | [**Array<SMSTollFreeCampaign>**](SMSTollFreeCampaign.md) | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SMSTollFreeCampaignsListResultAllOf.new(
- brands: null
-)
-```
-
diff --git a/docs/SayAllOf.md b/docs/SayAllOf.md
deleted file mode 100644
index f73e163b..00000000
--- a/docs/SayAllOf.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Freeclimb::SayAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **text** | **String** | The message to be played to the caller using TTS. The size of the string is limited to 4 KB (or 4,096 bytes). An empty string will cause the command to be skipped. | |
-| **language** | **String** | Language and (by implication) the locale to use. This implies the accent and pronunciations to be usde for the TTS. The complete list of valid values for the language attribute is shown below. | [optional] |
-| **loop** | **Integer** | Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up. | [optional][default to 1] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SayAllOf.new(
- text: null,
- language: null,
- loop: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/SendDigitsAllOf.md b/docs/SendDigitsAllOf.md
deleted file mode 100644
index b9ab5575..00000000
--- a/docs/SendDigitsAllOf.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Freeclimb::SendDigitsAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **digits** | **String** | String containing the digits to be played. The string cannot be empty and can include any digit, plus `#`, or `*`, and allows embedding specification for delay or pause between the output of individual digits. | |
-| **pause_ms** | **Integer** | Pause between digits in milliseconds. Valid values are 100-1000 milliseconds and will be adjusted by FreeClimb to satisfy the constraint. | [optional] |
-| **privacy_mode** | **Boolean** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SendDigitsAllOf.new(
- digits: null,
- pause_ms: null,
- privacy_mode: null
-)
-```
-
diff --git a/docs/SetDTMFPassThroughAllOf.md b/docs/SetDTMFPassThroughAllOf.md
deleted file mode 100644
index 4f6c4f52..00000000
--- a/docs/SetDTMFPassThroughAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SetDTMFPassThroughAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **dtmf_pass_through** | **Boolean** | Specifying `false` mutes the Participant's dtmf audio. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SetDTMFPassThroughAllOf.new(
- dtmf_pass_through: null
-)
-```
-
diff --git a/docs/SetListenAllOf.md b/docs/SetListenAllOf.md
deleted file mode 100644
index 2d053364..00000000
--- a/docs/SetListenAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SetListenAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **listen** | **Boolean** | Specifying `false` will silence the Conference for this Participant. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SetListenAllOf.new(
- listen: null
-)
-```
-
diff --git a/docs/SetTalkAllOf.md b/docs/SetTalkAllOf.md
deleted file mode 100644
index 7e40091c..00000000
--- a/docs/SetTalkAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::SetTalkAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **talk** | **Boolean** | Specifying `false` mutes the Participant. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SetTalkAllOf.new(
- talk: null
-)
-```
-
diff --git a/docs/SmsAllOf.md b/docs/SmsAllOf.md
deleted file mode 100644
index adafc48f..00000000
--- a/docs/SmsAllOf.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Freeclimb::SmsAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **to** | **String** | E.164 representation of the phone number to which the message will be sent. Must be within FreeClimb's service area and E.164 formatting (e.g., +18003608245). | |
-| **from** | **String** | E.164 representation of the phone number to use as the sender. This must be an incoming phone number you have purchased from FreeClimb. | |
-| **text** | **String** | Text contained in the message (maximum 160 characters). | |
-| **notification_url** | **String** | When the message changes status, this URL will be invoked using HTTP POST with the messageStatus parameters. This is a notification only; any PerCL returned will be ignored. | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::SmsAllOf.new(
- to: null,
- from: null,
- text: null,
- notification_url: null
-)
-```
-
diff --git a/docs/TerminateConferenceAllOf.md b/docs/TerminateConferenceAllOf.md
deleted file mode 100644
index 06b56601..00000000
--- a/docs/TerminateConferenceAllOf.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Freeclimb::TerminateConferenceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **conference_id** | **String** | ID of the conference to terminate. | |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::TerminateConferenceAllOf.new(
- conference_id: null
-)
-```
-
diff --git a/docs/TranscribeReason.md b/docs/TranscribeReason.md
new file mode 100644
index 00000000..ee12ffd8
--- /dev/null
+++ b/docs/TranscribeReason.md
@@ -0,0 +1,20 @@
+# Freeclimb::TranscribeReason
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **INTERNAL_ERROR** | **TranscribeReason** | | Represented in Ruby as "internalError" |
+| **HANGUP** | **TranscribeReason** | | Represented in Ruby as "hangup" |
+| **MAX_LENGTH** | **TranscribeReason** | | Represented in Ruby as "maxLength" |
+| **DIGIT** | **TranscribeReason** | | Represented in Ruby as "digit" |
+| **NO_INPUT** | **TranscribeReason** | | Represented in Ruby as "noInput" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::TranscribeReason::[NAME OF ENUM]
+```
+
diff --git a/docs/TranscribeTermReason.md b/docs/TranscribeTermReason.md
new file mode 100644
index 00000000..23c4c3b0
--- /dev/null
+++ b/docs/TranscribeTermReason.md
@@ -0,0 +1,17 @@
+# Freeclimb::TranscribeTermReason
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ERROR** | **TranscribeTermReason** | | Represented in Ruby as "error" |
+| **COMPLETED** | **TranscribeTermReason** | | Represented in Ruby as "completed" |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::TranscribeTermReason::[NAME OF ENUM]
+```
+
diff --git a/docs/TranscribeUtterance.md b/docs/TranscribeUtterance.md
index c347306f..65d8f64b 100644
--- a/docs/TranscribeUtterance.md
+++ b/docs/TranscribeUtterance.md
@@ -6,10 +6,10 @@
| ---- | ---- | ----------- | ----- |
| **action_url** | **String** | | |
| **play_beep** | **Boolean** | | [optional][default to false] |
-| **record** | [**TranscribeUtteranceAllOfRecord**](TranscribeUtteranceAllOfRecord.md) | | [optional] |
+| **record** | [**TranscribeUtteranceRecord**](TranscribeUtteranceRecord.md) | | [optional] |
| **privacy_for_logging** | **Boolean** | | [optional][default to false] |
| **privacy_for_recording** | **Boolean** | | [optional][default to false] |
-| **prompts** | **Array<Object>** | | [optional] |
+| **prompts** | [**Array<PerclCommand>**](PerclCommand.md) | | [optional] |
## Example
diff --git a/docs/TranscribeUtteranceAllOf.md b/docs/TranscribeUtteranceAllOf.md
deleted file mode 100644
index 7d45c157..00000000
--- a/docs/TranscribeUtteranceAllOf.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Freeclimb::TranscribeUtteranceAllOf
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **action_url** | **String** | | |
-| **play_beep** | **Boolean** | | [optional][default to false] |
-| **record** | [**TranscribeUtteranceAllOfRecord**](TranscribeUtteranceAllOfRecord.md) | | [optional] |
-| **privacy_for_logging** | **Boolean** | | [optional][default to false] |
-| **privacy_for_recording** | **Boolean** | | [optional][default to false] |
-| **prompts** | **Array<Object>** | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::TranscribeUtteranceAllOf.new(
- action_url: null,
- play_beep: null,
- record: null,
- privacy_for_logging: null,
- privacy_for_recording: null,
- prompts: null
-)
-```
-
diff --git a/docs/TranscribeUtteranceAllOfRecord.md b/docs/TranscribeUtteranceAllOfRecord.md
deleted file mode 100644
index 313c2628..00000000
--- a/docs/TranscribeUtteranceAllOfRecord.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Freeclimb::TranscribeUtteranceAllOfRecord
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
-| **save_recording** | **Boolean** | | [optional][default to false] |
-| **max_length_sec** | **Integer** | | [optional][default to 60] |
-| **rcrd_termination_silence_time_ms** | **Integer** | | [optional] |
-
-## Example
-
-```ruby
-require 'freeclimb'
-
-instance = Freeclimb::TranscribeUtteranceAllOfRecord.new(
- save_recording: null,
- max_length_sec: null,
- rcrd_termination_silence_time_ms: null
-)
-```
-
diff --git a/docs/TranscribeWebhook.md b/docs/TranscribeWebhook.md
new file mode 100644
index 00000000..2a995c7c
--- /dev/null
+++ b/docs/TranscribeWebhook.md
@@ -0,0 +1,62 @@
+# Freeclimb::TranscribeWebhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | The context or reason why this request is being made. Will be transcribe - The TranscribeUtterance command has completed and its actionUrl is being invoked. | [optional] |
+| **account_id** | **String** | Account ID associated with your account. | [optional] |
+| **call_id** | **String** | Unique identifier for this Call, generated by FreeClimb | [optional] |
+| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
+| **to** | **String** | Phone number provisioned to the customer and to which this Call is directed (in E.164 format). | [optional] |
+| **recording_id** | **String** | The ID of the recording. If no recording was made due to errors or the 'saveRecording' flag being disabled this field will be set to null. | [optional] |
+| **recording_url** | **String** | The URL of the recorded audio file. This URL can be used as is in a Play command to play the recording (no authentication needed). It can also be used to download the recording file via the REST API. | [optional] |
+| **recording_size** | **Integer** | The size of the recording in bytes. | [optional] |
+| **recording_format** | **String** | The media type of the recording. | [optional] |
+| **recording_duration_ms** | **Integer** | The duration of the recorded audio in milliseconds. | [optional] |
+| **term_reason** | [**TranscribeTermReason**](TranscribeTermReason.md) | | [optional] |
+| **record_term_reason** | [**RecordUtteranceTermReason**](RecordUtteranceTermReason.md) | | [optional] |
+| **digit** | **String** | If recordTermReason is digit, this will be the digit that was pressed. Otherwise it will be null. | [optional] |
+| **privacy_for_logging** | **Boolean** | Echo back of the privacyForLogging flag as specified in the transcribe utterance command – confirmation of logging protection has been applied. Can be used by application to know it should also apply protection when handling this request. | [optional] |
+| **privacy_for_recording** | **Boolean** | Echo back of the privacyForRecording flag as specified in the transcribe utterance command – confirmation of logging protection has been applied. Can be used by application to know it should also apply protection when handling this request. | [optional] |
+| **barge_in_reason** | [**BargeInReason**](BargeInReason.md) | | [optional] |
+| **barged_in_prompt_no** | **Integer** | | [optional] |
+| **barged_in_prompt_ms** | **Integer** | duration in ms bargedInPromptNo prompt was executing until barge-in occurred. | [optional] |
+| **barged_in_prompt_loop_no** | **Integer** | | [optional] |
+| **barge_in_time_ms** | **Integer** | epoch time in ms | [optional] |
+| **transcript** | **String** | Transcribed text of the recording. Can be empty or null. null means there was a failure in transcribing the audio, refer to transcribeReason for detailed failure reason. | [optional] |
+| **transcribe_reason** | [**TranscribeReason**](TranscribeReason.md) | | [optional] |
+| **transcription_duration_ms** | **Integer** | The duration of the audio being transcribed in milliseconds | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::TranscribeWebhook.new(
+ request_type: null,
+ account_id: null,
+ call_id: null,
+ from: null,
+ to: null,
+ recording_id: null,
+ recording_url: null,
+ recording_size: null,
+ recording_format: null,
+ recording_duration_ms: null,
+ term_reason: null,
+ record_term_reason: null,
+ digit: null,
+ privacy_for_logging: null,
+ privacy_for_recording: null,
+ barge_in_reason: null,
+ barged_in_prompt_no: null,
+ barged_in_prompt_ms: null,
+ barged_in_prompt_loop_no: null,
+ barge_in_time_ms: null,
+ transcript: null,
+ transcribe_reason: null,
+ transcription_duration_ms: null
+)
+```
+
diff --git a/docs/UpdateConferenceRequest.md b/docs/UpdateConferenceRequest.md
index 35447afc..6a805562 100644
--- a/docs/UpdateConferenceRequest.md
+++ b/docs/UpdateConferenceRequest.md
@@ -5,7 +5,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **_alias** | **String** | Description for this conference. Maximum 64 characters. | [optional] |
-| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] |
+| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] |
| **status** | [**UpdateConferenceRequestStatus**](UpdateConferenceRequestStatus.md) | | [optional] |
## Example
diff --git a/docs/Webhook.md b/docs/Webhook.md
new file mode 100644
index 00000000..7a6c0cd2
--- /dev/null
+++ b/docs/Webhook.md
@@ -0,0 +1,18 @@
+# Freeclimb::Webhook
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **request_type** | **String** | Type of webhook request | [optional] |
+
+## Example
+
+```ruby
+require 'freeclimb'
+
+instance = Freeclimb::Webhook.new(
+ request_type: null
+)
+```
+
diff --git a/freeclimb.gemspec b/freeclimb.gemspec
index 83a4ba03..05e20988 100644
--- a/freeclimb.gemspec
+++ b/freeclimb.gemspec
@@ -8,7 +8,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb.rb b/lib/freeclimb.rb
index 5fdc6e92..1af48f6e 100644
--- a/lib/freeclimb.rb
+++ b/lib/freeclimb.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -19,141 +19,132 @@
# Models
require 'freeclimb/models/account_request'
require 'freeclimb/models/account_result'
-require 'freeclimb/models/account_result_all_of'
require 'freeclimb/models/account_status'
require 'freeclimb/models/account_type'
-require 'freeclimb/models/add_to_conference_all_of'
require 'freeclimb/models/answered_by'
require 'freeclimb/models/application_list'
-require 'freeclimb/models/application_list_all_of'
require 'freeclimb/models/application_request'
require 'freeclimb/models/application_result'
-require 'freeclimb/models/application_result_all_of'
require 'freeclimb/models/available_number'
require 'freeclimb/models/available_number_list'
-require 'freeclimb/models/available_number_list_all_of'
+require 'freeclimb/models/barge_in_reason'
require 'freeclimb/models/buy_incoming_number_request'
require 'freeclimb/models/call_direction'
+require 'freeclimb/models/call_ended_reason'
require 'freeclimb/models/call_list'
-require 'freeclimb/models/call_list_all_of'
require 'freeclimb/models/call_result'
-require 'freeclimb/models/call_result_all_of'
require 'freeclimb/models/call_status'
require 'freeclimb/models/capabilities'
require 'freeclimb/models/completion_request'
require 'freeclimb/models/completion_result'
+require 'freeclimb/models/completion_result_status'
require 'freeclimb/models/conference_list'
-require 'freeclimb/models/conference_list_all_of'
require 'freeclimb/models/conference_participant_list'
-require 'freeclimb/models/conference_participant_list_all_of'
require 'freeclimb/models/conference_participant_result'
-require 'freeclimb/models/conference_participant_result_all_of'
require 'freeclimb/models/conference_result'
-require 'freeclimb/models/conference_result_all_of'
require 'freeclimb/models/conference_status'
-require 'freeclimb/models/create_conference_all_of'
require 'freeclimb/models/create_conference_request'
require 'freeclimb/models/create_web_rtc_token'
-require 'freeclimb/models/enqueue_all_of'
require 'freeclimb/models/filter_logs_request'
-require 'freeclimb/models/get_digits_all_of'
-require 'freeclimb/models/get_speech_all_of'
+require 'freeclimb/models/get_digits_reason'
require 'freeclimb/models/get_speech_reason'
require 'freeclimb/models/grammar_file_built_in'
require 'freeclimb/models/grammar_type'
-require 'freeclimb/models/hangup_all_of'
require 'freeclimb/models/if_machine'
require 'freeclimb/models/incoming_number_list'
-require 'freeclimb/models/incoming_number_list_all_of'
require 'freeclimb/models/incoming_number_request'
require 'freeclimb/models/incoming_number_result'
-require 'freeclimb/models/incoming_number_result_all_of'
require 'freeclimb/models/language'
require 'freeclimb/models/log_level'
require 'freeclimb/models/log_list'
-require 'freeclimb/models/log_list_all_of'
require 'freeclimb/models/log_result'
require 'freeclimb/models/machine_type'
require 'freeclimb/models/make_call_request'
require 'freeclimb/models/message_direction'
require 'freeclimb/models/message_request'
-require 'freeclimb/models/message_request_all_of'
require 'freeclimb/models/message_result'
-require 'freeclimb/models/message_result_all_of'
require 'freeclimb/models/message_status'
require 'freeclimb/models/messages_list'
-require 'freeclimb/models/messages_list_all_of'
require 'freeclimb/models/mutable_resource_model'
-require 'freeclimb/models/out_dial_all_of'
require 'freeclimb/models/pagination_model'
-require 'freeclimb/models/park_all_of'
-require 'freeclimb/models/pause_all_of'
require 'freeclimb/models/percl_command'
require 'freeclimb/models/percl_script'
-require 'freeclimb/models/play_all_of'
require 'freeclimb/models/play_beep'
-require 'freeclimb/models/play_early_media_all_of'
require 'freeclimb/models/queue_list'
-require 'freeclimb/models/queue_list_all_of'
require 'freeclimb/models/queue_member'
require 'freeclimb/models/queue_member_list'
-require 'freeclimb/models/queue_member_list_all_of'
require 'freeclimb/models/queue_request'
require 'freeclimb/models/queue_result'
-require 'freeclimb/models/queue_result_all_of'
require 'freeclimb/models/queue_result_status'
-require 'freeclimb/models/record_utterance_all_of'
require 'freeclimb/models/record_utterance_term_reason'
require 'freeclimb/models/recording_list'
-require 'freeclimb/models/recording_list_all_of'
require 'freeclimb/models/recording_result'
-require 'freeclimb/models/recording_result_all_of'
-require 'freeclimb/models/redirect_all_of'
-require 'freeclimb/models/reject_all_of'
require 'freeclimb/models/request_type'
require 'freeclimb/models/sms_ten_dlc_brand'
+require 'freeclimb/models/sms_ten_dlc_brand_alt_business_id_type'
+require 'freeclimb/models/sms_ten_dlc_brand_entity_type'
+require 'freeclimb/models/sms_ten_dlc_brand_identity_status'
+require 'freeclimb/models/sms_ten_dlc_brand_relationship'
+require 'freeclimb/models/sms_ten_dlc_brand_stock_exchange'
require 'freeclimb/models/sms_ten_dlc_brands_list_result'
-require 'freeclimb/models/sms_ten_dlc_brands_list_result_all_of'
require 'freeclimb/models/sms_ten_dlc_campaign'
+require 'freeclimb/models/sms_ten_dlc_campaign_status'
require 'freeclimb/models/sms_ten_dlc_campaigns_list_result'
-require 'freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of'
require 'freeclimb/models/sms_ten_dlc_partner_campaign'
require 'freeclimb/models/sms_ten_dlc_partner_campaign_brand'
+require 'freeclimb/models/sms_ten_dlc_partner_campaign_status'
require 'freeclimb/models/sms_ten_dlc_partner_campaigns_list_result'
-require 'freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of'
require 'freeclimb/models/sms_toll_free_campaign'
+require 'freeclimb/models/sms_toll_free_campaign_registration_status'
require 'freeclimb/models/sms_toll_free_campaigns_list_result'
-require 'freeclimb/models/sms_toll_free_campaigns_list_result_all_of'
-require 'freeclimb/models/say_all_of'
-require 'freeclimb/models/send_digits_all_of'
-require 'freeclimb/models/set_dtmf_pass_through_all_of'
-require 'freeclimb/models/set_listen_all_of'
-require 'freeclimb/models/set_talk_all_of'
-require 'freeclimb/models/sms_all_of'
require 'freeclimb/models/tfn'
-require 'freeclimb/models/transcribe_utterance_all_of'
-require 'freeclimb/models/transcribe_utterance_all_of_record'
+require 'freeclimb/models/transcribe_reason'
+require 'freeclimb/models/transcribe_term_reason'
+require 'freeclimb/models/transcribe_utterance_record'
require 'freeclimb/models/update_call_request'
require 'freeclimb/models/update_call_request_status'
require 'freeclimb/models/update_conference_participant_request'
require 'freeclimb/models/update_conference_request'
require 'freeclimb/models/update_conference_request_status'
+require 'freeclimb/models/webhook'
require 'freeclimb/models/add_to_conference'
+require 'freeclimb/models/add_to_conference_notification_webhook'
+require 'freeclimb/models/add_to_queue_notification_webhook'
+require 'freeclimb/models/call_control_webhook'
+require 'freeclimb/models/call_status_webhook'
+require 'freeclimb/models/conference_recording_status_webhook'
+require 'freeclimb/models/conference_status_webhook'
require 'freeclimb/models/create_conference'
+require 'freeclimb/models/create_conference_webhook'
require 'freeclimb/models/dequeue'
+require 'freeclimb/models/dequeue_webhook'
require 'freeclimb/models/enqueue'
require 'freeclimb/models/get_digits'
+require 'freeclimb/models/get_digits_webhook'
require 'freeclimb/models/get_speech'
+require 'freeclimb/models/get_speech_webhook'
require 'freeclimb/models/hangup'
+require 'freeclimb/models/inbound_call_webhook'
+require 'freeclimb/models/leave_conference_webhook'
+require 'freeclimb/models/machine_detected_webhook'
+require 'freeclimb/models/message_delivery_webhook'
+require 'freeclimb/models/message_status_webhook'
require 'freeclimb/models/out_dial'
+require 'freeclimb/models/out_dial_api_connect_webhook'
+require 'freeclimb/models/out_dial_connect_webhook'
+require 'freeclimb/models/out_dial_start_webhook'
require 'freeclimb/models/park'
require 'freeclimb/models/pause'
require 'freeclimb/models/play'
require 'freeclimb/models/play_early_media'
+require 'freeclimb/models/queue_wait_webhook'
require 'freeclimb/models/record_utterance'
+require 'freeclimb/models/record_webhook'
require 'freeclimb/models/redirect'
+require 'freeclimb/models/redirect_webhook'
require 'freeclimb/models/reject'
require 'freeclimb/models/remove_from_conference'
+require 'freeclimb/models/remove_from_queue_notification_webhook'
require 'freeclimb/models/say'
require 'freeclimb/models/send_digits'
require 'freeclimb/models/set_dtmf_pass_through'
@@ -163,12 +154,13 @@
require 'freeclimb/models/start_record_call'
require 'freeclimb/models/terminate_conference'
require 'freeclimb/models/transcribe_utterance'
+require 'freeclimb/models/transcribe_webhook'
require 'freeclimb/models/unpark'
# APIs
require 'freeclimb/api/default_api'
-#Utils
+# Utils
require 'freeclimb/utils/signature_information'
require 'freeclimb/utils/request_verifier'
diff --git a/lib/freeclimb/api/default_api.rb b/lib/freeclimb/api/default_api.rb
index 9fbf2aa4..e12c83c3 100644
--- a/lib/freeclimb/api/default_api.rb
+++ b/lib/freeclimb/api/default_api.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -59,7 +59,7 @@ def buy_a_phone_number_with_http_info(buy_incoming_number_request, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -121,7 +121,7 @@ def create_a_conference_with_http_info(opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -183,7 +183,7 @@ def create_a_queue_with_http_info(opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -245,7 +245,7 @@ def create_an_application_with_http_info(opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -314,7 +314,7 @@ def create_knowledge_base_completion_with_http_info(knowledge_base_id, opts = {}
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -754,7 +754,7 @@ def filter_logs_with_http_info(filter_logs_request, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -2959,7 +2959,7 @@ def make_a_call_with_http_info(opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3026,7 +3026,7 @@ def make_a_webrtc_jwt_with_http_info(create_web_rtc_token, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3160,7 +3160,7 @@ def send_an_sms_message_with_http_info(message_request, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3289,7 +3289,7 @@ def update_a_conference_with_http_info(conference_id, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3361,7 +3361,7 @@ def update_a_live_call_with_http_info(call_id, update_call_request, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3437,7 +3437,7 @@ def update_a_participant_with_http_info(conference_id, call_id, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3506,7 +3506,7 @@ def update_a_queue_with_http_info(queue_id, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3566,7 +3566,7 @@ def update_an_account_with_http_info(opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3635,7 +3635,7 @@ def update_an_application_with_http_info(application_id, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3704,7 +3704,7 @@ def update_an_incoming_number_with_http_info(phone_number_id, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
@@ -3757,7 +3757,7 @@ def get_next_page_with_http_info(response, opts = {})
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
- header_params['Content-Type'] = content_type
+ header_params['Content-Type'] = content_type
end
# form parameters
diff --git a/lib/freeclimb/api_client.rb b/lib/freeclimb/api_client.rb
index 9f5bf1f7..f4e87e70 100644
--- a/lib/freeclimb/api_client.rb
+++ b/lib/freeclimb/api_client.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/api_error.rb b/lib/freeclimb/api_error.rb
index c6a18a3e..5106037d 100644
--- a/lib/freeclimb/api_error.rb
+++ b/lib/freeclimb/api_error.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/configuration.rb b/lib/freeclimb/configuration.rb
index 5b9dcfbf..b0f8318a 100644
--- a/lib/freeclimb/configuration.rb
+++ b/lib/freeclimb/configuration.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -273,6 +273,5 @@ def server_url(index, variables = {}, servers = nil)
url
end
-
end
end
diff --git a/lib/freeclimb/models/account_request.rb b/lib/freeclimb/models/account_request.rb
index 388dbf34..06ad9b01 100644
--- a/lib/freeclimb/models/account_request.rb
+++ b/lib/freeclimb/models/account_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -228,7 +228,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/account_result.rb b/lib/freeclimb/models/account_result.rb
index a24f992b..f78d41d8 100644
--- a/lib/freeclimb/models/account_result.rb
+++ b/lib/freeclimb/models/account_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -46,6 +46,28 @@ class AccountResult
# The list of subresources for this account.
attr_accessor :subresource_uris
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -101,7 +123,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'AccountResultAllOf',
:'MutableResourceModel'
]
end
@@ -331,7 +352,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/account_result_all_of.rb b/lib/freeclimb/models/account_result_all_of.rb
deleted file mode 100644
index 36eced8c..00000000
--- a/lib/freeclimb/models/account_result_all_of.rb
+++ /dev/null
@@ -1,289 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class AccountResultAllOf
- # String that uniquely identifies this account resource.
- attr_accessor :account_id
-
- # The API key assigned to this account. This key must be kept a secret by the customer.
- attr_accessor :api_key
-
- # A description for this account.
- attr_accessor :_alias
-
- # A string that identifies a category or group to which the account belongs.
- attr_accessor :label
-
- attr_accessor :type
-
- attr_accessor :status
-
- # The list of subresources for this account.
- attr_accessor :subresource_uris
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'account_id' => :'accountId',
- :'api_key' => :'apiKey',
- :'_alias' => :'alias',
- :'label' => :'label',
- :'type' => :'type',
- :'status' => :'status',
- :'subresource_uris' => :'subresourceUris'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'account_id' => :'String',
- :'api_key' => :'String',
- :'_alias' => :'String',
- :'label' => :'String',
- :'type' => :'AccountType',
- :'status' => :'AccountStatus',
- :'subresource_uris' => :'Object'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'account_id',
- :'api_key',
- :'_alias',
- :'label',
- :'type',
- :'status',
- :'subresource_uris'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::AccountResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::AccountResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
- end
-
- if attributes.key?(:'api_key')
- self.api_key = attributes[:'api_key']
- end
-
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
- end
-
- if attributes.key?(:'label')
- self.label = attributes[:'label']
- end
-
- if attributes.key?(:'type')
- self.type = attributes[:'type']
- end
-
- if attributes.key?(:'status')
- self.status = attributes[:'status']
- end
-
- if attributes.key?(:'subresource_uris')
- self.subresource_uris = attributes[:'subresource_uris']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @account_id.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- account_id == o.account_id &&
- api_key == o.api_key &&
- _alias == o._alias &&
- label == o.label &&
- type == o.type &&
- status == o.status &&
- subresource_uris == o.subresource_uris
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [account_id, api_key, _alias, label, type, status, subresource_uris].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/account_status.rb b/lib/freeclimb/models/account_status.rb
index e889cfad..1653b8dc 100644
--- a/lib/freeclimb/models/account_status.rb
+++ b/lib/freeclimb/models/account_status.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/account_type.rb b/lib/freeclimb/models/account_type.rb
index e8ead735..45de81e1 100644
--- a/lib/freeclimb/models/account_type.rb
+++ b/lib/freeclimb/models/account_type.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/add_to_conference.rb b/lib/freeclimb/models/add_to_conference.rb
index bfedba6e..7343e7ce 100644
--- a/lib/freeclimb/models/add_to_conference.rb
+++ b/lib/freeclimb/models/add_to_conference.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -92,7 +92,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'AddToConferenceAllOf',
:'PerclCommand'
]
end
@@ -326,7 +325,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/add_to_conference_all_of.rb b/lib/freeclimb/models/add_to_conference_all_of.rb
deleted file mode 100644
index 00caf343..00000000
--- a/lib/freeclimb/models/add_to_conference_all_of.rb
+++ /dev/null
@@ -1,318 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class AddToConferenceAllOf
- # If `true`, Call control will be enabled for this Participant's Call leg.
- attr_accessor :allow_call_control
-
- # Defines a sequence of digits that, when entered by this caller, invokes the `callControlUrl`. Only digits plus '*', and '#' may be used.
- attr_accessor :call_control_sequence
-
- # URL to be invoked when this Participant enters the digit sequence defined in the `callControlSequence` attribute.
- attr_accessor :call_control_url
-
- # ID of the Conference to which to add the Participant (Call leg). Conference must exist or an error will result.
- attr_accessor :conference_id
-
- # URL to be invoked when the Participant leaves the Conference.
- attr_accessor :leave_conference_url
-
- # If `true`, the Participant joins the Conference with listen privileges. This may be modified later via the REST API or `SetListen` PerCL command.
- attr_accessor :listen
-
- # When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters.
- attr_accessor :notification_url
-
- # Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to `true` for moderators and `false` for all other Participants.
- attr_accessor :start_conf_on_enter
-
- # If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command.
- attr_accessor :talk
-
- # If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command.
- attr_accessor :dtmf_pass_through
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'allow_call_control' => :'allowCallControl',
- :'call_control_sequence' => :'callControlSequence',
- :'call_control_url' => :'callControlUrl',
- :'conference_id' => :'conferenceId',
- :'leave_conference_url' => :'leaveConferenceUrl',
- :'listen' => :'listen',
- :'notification_url' => :'notificationUrl',
- :'start_conf_on_enter' => :'startConfOnEnter',
- :'talk' => :'talk',
- :'dtmf_pass_through' => :'dtmfPassThrough'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'allow_call_control' => :'Boolean',
- :'call_control_sequence' => :'String',
- :'call_control_url' => :'String',
- :'conference_id' => :'String',
- :'leave_conference_url' => :'String',
- :'listen' => :'Boolean',
- :'notification_url' => :'String',
- :'start_conf_on_enter' => :'Boolean',
- :'talk' => :'Boolean',
- :'dtmf_pass_through' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::AddToConferenceAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::AddToConferenceAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'allow_call_control')
- self.allow_call_control = attributes[:'allow_call_control']
- end
-
- if attributes.key?(:'call_control_sequence')
- self.call_control_sequence = attributes[:'call_control_sequence']
- end
-
- if attributes.key?(:'call_control_url')
- self.call_control_url = attributes[:'call_control_url']
- end
-
- if attributes.key?(:'conference_id')
- self.conference_id = attributes[:'conference_id']
- end
-
- if attributes.key?(:'leave_conference_url')
- self.leave_conference_url = attributes[:'leave_conference_url']
- end
-
- if attributes.key?(:'listen')
- self.listen = attributes[:'listen']
- end
-
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
- end
-
- if attributes.key?(:'start_conf_on_enter')
- self.start_conf_on_enter = attributes[:'start_conf_on_enter']
- end
-
- if attributes.key?(:'talk')
- self.talk = attributes[:'talk']
- end
-
- if attributes.key?(:'dtmf_pass_through')
- self.dtmf_pass_through = attributes[:'dtmf_pass_through']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @conference_id.nil?
- invalid_properties.push('invalid value for "conference_id", conference_id cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @allow_call_control.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- allow_call_control == o.allow_call_control &&
- call_control_sequence == o.call_control_sequence &&
- call_control_url == o.call_control_url &&
- conference_id == o.conference_id &&
- leave_conference_url == o.leave_conference_url &&
- listen == o.listen &&
- notification_url == o.notification_url &&
- start_conf_on_enter == o.start_conf_on_enter &&
- talk == o.talk &&
- dtmf_pass_through == o.dtmf_pass_through
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [allow_call_control, call_control_sequence, call_control_url, conference_id, leave_conference_url, listen, notification_url, start_conf_on_enter, talk, dtmf_pass_through].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/add_to_conference_notification_webhook.rb b/lib/freeclimb/models/add_to_conference_notification_webhook.rb
new file mode 100644
index 00000000..653f83c6
--- /dev/null
+++ b/lib/freeclimb/models/add_to_conference_notification_webhook.rb
@@ -0,0 +1,384 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A Call has been bridged to a Conference and the AddToConference command’s notificationUrl is being invoked. This is a notification only; any PerCL returned will be ignored.
+ class AddToConferenceNotificationWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ AddToConferenceNotificationWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be addToConferenceNotification - A Call has been bridged to a conference and the addToConference command’s notificationUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :status
+
+ # URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied.
+ attr_accessor :recording_url
+
+ # Unique ID of the Recording from this Conference. Populated only if a recording exists and the Conference was emptied.
+ attr_accessor :recording_id
+
+ # Duration of the recorded audio (in seconds), rounded up to the nearest second. Populated only if a Recording exists and the Conference was emptied.
+ attr_accessor :recording_duration_sec
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'status' => :'status',
+ :'recording_url' => :'recordingUrl',
+ :'recording_id' => :'recordingId',
+ :'recording_duration_sec' => :'recordingDurationSec'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'status' => :'ConferenceStatus',
+ :'recording_url' => :'String',
+ :'recording_id' => :'String',
+ :'recording_duration_sec' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ :'status',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::AddToConferenceNotificationWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::AddToConferenceNotificationWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ end
+
+ if attributes.key?(:'recording_url')
+ self.recording_url = attributes[:'recording_url']
+ end
+
+ if attributes.key?(:'recording_id')
+ self.recording_id = attributes[:'recording_id']
+ end
+
+ if attributes.key?(:'recording_duration_sec')
+ self.recording_duration_sec = attributes[:'recording_duration_sec']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ status == o.status &&
+ recording_url == o.recording_url &&
+ recording_id == o.recording_id &&
+ recording_duration_sec == o.recording_duration_sec && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, status, recording_url, recording_id, recording_duration_sec].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/conference_participant_result_all_of.rb b/lib/freeclimb/models/add_to_queue_notification_webhook.rb
similarity index 65%
rename from lib/freeclimb/models/conference_participant_result_all_of.rb
rename to lib/freeclimb/models/add_to_queue_notification_webhook.rb
index 56c8520c..fbd2fb7a 100644
--- a/lib/freeclimb/models/conference_participant_result_all_of.rb
+++ b/lib/freeclimb/models/add_to_queue_notification_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,120 +14,172 @@
require 'time'
module Freeclimb
- class ConferenceParticipantResultAllOf
- # ID of the account that created this participant.
+ # A Call has been added to a Queue and the Enqueue command’s notificationUrl is being invoked. This is a notification only; any PerCL returned will be ignored.
+ class AddToQueueNotificationWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ AddToQueueNotificationWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be addToQueueNotification - A call has been added to a queue and the Enqueue command’s notificationUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
attr_accessor :account_id
- # ID of the conference this participant is in.
- attr_accessor :conference_id
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
- # ID of the Call associated with this Participant.
- attr_accessor :call_id
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
- # True if this Participant has talk privileges in the Conference. False otherwise.
- attr_accessor :talk
+ attr_accessor :direction
- # True if this Participant has listen privileges in the Conference. False otherwise.
- attr_accessor :listen
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
- # True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise.
- attr_accessor :dtmf_pass_through
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
- # True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise.
- attr_accessor :start_conf_on_enter
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
:'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
:'conference_id' => :'conferenceId',
- :'call_id' => :'callId',
- :'talk' => :'talk',
- :'listen' => :'listen',
- :'dtmf_pass_through' => :'dtmfPassThrough',
- :'start_conf_on_enter' => :'startConfOnEnter'
+ :'queue_id' => :'queueId'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
+ :'request_type' => :'String',
+ :'call_id' => :'String',
:'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
:'conference_id' => :'String',
- :'call_id' => :'String',
- :'talk' => :'Boolean',
- :'listen' => :'Boolean',
- :'dtmf_pass_through' => :'Boolean',
- :'start_conf_on_enter' => :'Boolean'
+ :'queue_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
- :'account_id',
- :'conference_id',
- :'call_id',
- :'talk',
- :'listen',
- :'dtmf_pass_through',
- :'start_conf_on_enter'
+ :'call_status',
+ :'direction',
+ :'queue_id'
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceParticipantResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::AddToQueueNotificationWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceParticipantResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::AddToQueueNotificationWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
if attributes.key?(:'account_id')
self.account_id = attributes[:'account_id']
end
- if attributes.key?(:'conference_id')
- self.conference_id = attributes[:'conference_id']
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
end
- if attributes.key?(:'call_id')
- self.call_id = attributes[:'call_id']
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
end
- if attributes.key?(:'talk')
- self.talk = attributes[:'talk']
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
end
- if attributes.key?(:'listen')
- self.listen = attributes[:'listen']
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
end
- if attributes.key?(:'dtmf_pass_through')
- self.dtmf_pass_through = attributes[:'dtmf_pass_through']
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
end
- if attributes.key?(:'start_conf_on_enter')
- self.start_conf_on_enter = attributes[:'start_conf_on_enter']
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -135,7 +187,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @account_id.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -147,13 +199,15 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
conference_id == o.conference_id &&
- call_id == o.call_id &&
- talk == o.talk &&
- listen == o.listen &&
- dtmf_pass_through == o.dtmf_pass_through &&
- start_conf_on_enter == o.start_conf_on_enter
+ queue_id == o.queue_id && super(o)
end
# @see the `==` method
@@ -165,7 +219,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [account_id, conference_id, call_id, talk, listen, dtmf_pass_through, start_conf_on_enter].hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id].hash
end
# Builds the object from hash
@@ -180,6 +234,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -255,7 +310,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -285,7 +340,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/answered_by.rb b/lib/freeclimb/models/answered_by.rb
index 0a35354d..d835d6c8 100644
--- a/lib/freeclimb/models/answered_by.rb
+++ b/lib/freeclimb/models/answered_by.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/application_list.rb b/lib/freeclimb/models/application_list.rb
index 6e0fb86d..b6d5cdfe 100644
--- a/lib/freeclimb/models/application_list.rb
+++ b/lib/freeclimb/models/application_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ApplicationListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/application_list_all_of.rb b/lib/freeclimb/models/application_list_all_of.rb
deleted file mode 100644
index 73eb5c15..00000000
--- a/lib/freeclimb/models/application_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class ApplicationListAllOf
- attr_accessor :applications
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'applications' => :'applications'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'applications' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'applications'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ApplicationListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ApplicationListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'applications')
- if (value = attributes[:'applications']).is_a?(Array)
- self.applications = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @applications.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- applications == o.applications
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [applications].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/application_request.rb b/lib/freeclimb/models/application_request.rb
index da3f7b45..b99ee574 100644
--- a/lib/freeclimb/models/application_request.rb
+++ b/lib/freeclimb/models/application_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -284,7 +284,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/application_result.rb b/lib/freeclimb/models/application_result.rb
index c4a06a76..608c1211 100644
--- a/lib/freeclimb/models/application_result.rb
+++ b/lib/freeclimb/models/application_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -115,7 +115,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ApplicationResultAllOf',
:'MutableResourceModel'
]
end
@@ -355,7 +354,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/application_result_all_of.rb b/lib/freeclimb/models/application_result_all_of.rb
deleted file mode 100644
index 6edfdaa5..00000000
--- a/lib/freeclimb/models/application_result_all_of.rb
+++ /dev/null
@@ -1,313 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class ApplicationResultAllOf
- # ID of the account that owns this phone number.
- attr_accessor :account_id
-
- # ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
- attr_accessor :application_id
-
- # Description for this phone number. Typically the conventionally-formatted version of the phone number.
- attr_accessor :_alias
-
- # The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
- attr_accessor :voice_url
-
- # The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
- attr_accessor :voice_fallback_url
-
- # The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
- attr_accessor :call_connect_url
-
- # A URL to which FreeClimb will make a POST request when the Call ends to notify this app.
- attr_accessor :status_callback_url
-
- # The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
- attr_accessor :sms_url
-
- # The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.
- attr_accessor :sms_fallback_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'account_id' => :'accountId',
- :'application_id' => :'applicationId',
- :'_alias' => :'alias',
- :'voice_url' => :'voiceUrl',
- :'voice_fallback_url' => :'voiceFallbackUrl',
- :'call_connect_url' => :'callConnectUrl',
- :'status_callback_url' => :'statusCallbackUrl',
- :'sms_url' => :'smsUrl',
- :'sms_fallback_url' => :'smsFallbackUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'account_id' => :'String',
- :'application_id' => :'String',
- :'_alias' => :'String',
- :'voice_url' => :'String',
- :'voice_fallback_url' => :'String',
- :'call_connect_url' => :'String',
- :'status_callback_url' => :'String',
- :'sms_url' => :'String',
- :'sms_fallback_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'account_id',
- :'application_id',
- :'_alias',
- :'voice_url',
- :'voice_fallback_url',
- :'call_connect_url',
- :'status_callback_url',
- :'sms_url',
- :'sms_fallback_url'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ApplicationResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ApplicationResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
- end
-
- if attributes.key?(:'application_id')
- self.application_id = attributes[:'application_id']
- end
-
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
- end
-
- if attributes.key?(:'voice_url')
- self.voice_url = attributes[:'voice_url']
- end
-
- if attributes.key?(:'voice_fallback_url')
- self.voice_fallback_url = attributes[:'voice_fallback_url']
- end
-
- if attributes.key?(:'call_connect_url')
- self.call_connect_url = attributes[:'call_connect_url']
- end
-
- if attributes.key?(:'status_callback_url')
- self.status_callback_url = attributes[:'status_callback_url']
- end
-
- if attributes.key?(:'sms_url')
- self.sms_url = attributes[:'sms_url']
- end
-
- if attributes.key?(:'sms_fallback_url')
- self.sms_fallback_url = attributes[:'sms_fallback_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @account_id.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- account_id == o.account_id &&
- application_id == o.application_id &&
- _alias == o._alias &&
- voice_url == o.voice_url &&
- voice_fallback_url == o.voice_fallback_url &&
- call_connect_url == o.call_connect_url &&
- status_callback_url == o.status_callback_url &&
- sms_url == o.sms_url &&
- sms_fallback_url == o.sms_fallback_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [account_id, application_id, _alias, voice_url, voice_fallback_url, call_connect_url, status_callback_url, sms_url, sms_fallback_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/available_number.rb b/lib/freeclimb/models/available_number.rb
index ada71237..5ecdd92c 100644
--- a/lib/freeclimb/models/available_number.rb
+++ b/lib/freeclimb/models/available_number.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -283,7 +283,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/available_number_list.rb b/lib/freeclimb/models/available_number_list.rb
index ef23e043..add12a28 100644
--- a/lib/freeclimb/models/available_number_list.rb
+++ b/lib/freeclimb/models/available_number_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'AvailableNumberListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/available_number_list_all_of.rb b/lib/freeclimb/models/available_number_list_all_of.rb
deleted file mode 100644
index 5f02a7b9..00000000
--- a/lib/freeclimb/models/available_number_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class AvailableNumberListAllOf
- attr_accessor :available_phone_numbers
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'available_phone_numbers' => :'availablePhoneNumbers'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'available_phone_numbers' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'available_phone_numbers'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::AvailableNumberListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::AvailableNumberListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'available_phone_numbers')
- if (value = attributes[:'available_phone_numbers']).is_a?(Array)
- self.available_phone_numbers = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @available_phone_numbers.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- available_phone_numbers == o.available_phone_numbers
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [available_phone_numbers].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/barge_in_reason.rb b/lib/freeclimb/models/barge_in_reason.rb
new file mode 100644
index 00000000..ec412142
--- /dev/null
+++ b/lib/freeclimb/models/barge_in_reason.rb
@@ -0,0 +1,38 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class BargeInReason
+ NO_BARGE_IN = "noBargeIn".freeze
+ BARGE_IN_BY_DTMF = "bargeInByDTMF".freeze
+ BARGE_IN_BY_ENERGY = "bargeInByEnergy".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = BargeInReason.constants.select { |c| BargeInReason::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #BargeInReason" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/buy_incoming_number_request.rb b/lib/freeclimb/models/buy_incoming_number_request.rb
index 1a7a3f7b..c8b31bce 100644
--- a/lib/freeclimb/models/buy_incoming_number_request.rb
+++ b/lib/freeclimb/models/buy_incoming_number_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -242,7 +242,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/recording_result_all_of.rb b/lib/freeclimb/models/call_control_webhook.rb
similarity index 75%
rename from lib/freeclimb/models/recording_result_all_of.rb
rename to lib/freeclimb/models/call_control_webhook.rb
index f8964bf3..98f6387c 100644
--- a/lib/freeclimb/models/recording_result_all_of.rb
+++ b/lib/freeclimb/models/call_control_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,100 +14,113 @@
require 'time'
module Freeclimb
- class RecordingResultAllOf
- # String that uniquely identifies this recording resource.
- attr_accessor :recording_id
-
- # ID of the account that created this recording.
- attr_accessor :account_id
+ # The digit sequence defined in the callControlSequence attribute of the AddToConference PerCL command has been entered by the Conference participant. A PerCL response is expected. If invalid PerCL is provided, the call leg which triggered this webhook will terminate.
+ class CallControlWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ CallControlWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be callControl.
+ attr_accessor :request_type
- # ID of the Call that was recorded. If a Conference was recorded, this value is empty and the conferenceId property is populated.
+ # Unique ID for this Call, generated by FreeClimb.
attr_accessor :call_id
- # Length of the recording in seconds.
- attr_accessor :duration_sec
+ # Account ID associated with your account.
+ attr_accessor :account_id
- # ID of the Conference that was recorded. If a Call was recorded, this value is empty and the callId property is populated.
+ # Unique ID of the Conference.
attr_accessor :conference_id
+ # String of digits entered by the participant.
+ attr_accessor :digits
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
- :'recording_id' => :'recordingId',
- :'account_id' => :'accountId',
+ :'request_type' => :'requestType',
:'call_id' => :'callId',
- :'duration_sec' => :'durationSec',
- :'conference_id' => :'conferenceId'
+ :'account_id' => :'accountId',
+ :'conference_id' => :'conferenceId',
+ :'digits' => :'digits'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
- :'recording_id' => :'String',
- :'account_id' => :'String',
+ :'request_type' => :'String',
:'call_id' => :'String',
- :'duration_sec' => :'Integer',
- :'conference_id' => :'String'
+ :'account_id' => :'String',
+ :'conference_id' => :'String',
+ :'digits' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
- :'recording_id',
- :'account_id',
- :'call_id',
- :'duration_sec',
- :'conference_id'
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RecordingResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::CallControlWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RecordingResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::CallControlWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
- if attributes.key?(:'recording_id')
- self.recording_id = attributes[:'recording_id']
- end
+ # call parent's initialize
+ super(attributes)
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
end
if attributes.key?(:'call_id')
self.call_id = attributes[:'call_id']
end
- if attributes.key?(:'duration_sec')
- self.duration_sec = attributes[:'duration_sec']
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
end
if attributes.key?(:'conference_id')
self.conference_id = attributes[:'conference_id']
end
+
+ if attributes.key?(:'digits')
+ self.digits = attributes[:'digits']
+ end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -115,7 +128,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @recording_id.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -127,11 +140,11 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
- recording_id == o.recording_id &&
- account_id == o.account_id &&
+ request_type == o.request_type &&
call_id == o.call_id &&
- duration_sec == o.duration_sec &&
- conference_id == o.conference_id
+ account_id == o.account_id &&
+ conference_id == o.conference_id &&
+ digits == o.digits && super(o)
end
# @see the `==` method
@@ -143,7 +156,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [recording_id, account_id, call_id, duration_sec, conference_id].hash
+ [request_type, call_id, account_id, conference_id, digits].hash
end
# Builds the object from hash
@@ -158,6 +171,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -233,7 +247,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -263,7 +277,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/call_direction.rb b/lib/freeclimb/models/call_direction.rb
index b2783fcc..5593ec84 100644
--- a/lib/freeclimb/models/call_direction.rb
+++ b/lib/freeclimb/models/call_direction.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/call_ended_reason.rb b/lib/freeclimb/models/call_ended_reason.rb
new file mode 100644
index 00000000..0bb400f0
--- /dev/null
+++ b/lib/freeclimb/models/call_ended_reason.rb
@@ -0,0 +1,58 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class CallEndedReason
+ BUSY = "busy".freeze
+ FAILED = "failed".freeze
+ NO_ANSWER = "noAnswer".freeze
+ CALL_CANCELED = "callCanceled".freeze
+ FAR_END_HANGUP = "farEndHangup".freeze
+ APP_HANGUP = "appHangup".freeze
+ APP_REJECT = "appReject".freeze
+ APP_NO_PERCL = "appNoPercl".freeze
+ APP_INVALID_PERCL = "appInvalidPercl".freeze
+ CONFERENCE_TERMINATED = "conferenceTerminated".freeze
+ CONFERENCE_EMPTIED = "conferenceEmptied".freeze
+ REMOVED_FROM_CONFERENCE = "removedFromConference".freeze
+ MACHINE_DETECTED = "machineDetected".freeze
+ WEBHOOK_FAILED = "webhookFailed".freeze
+ WEBHOOK_INVALID_RESPONSE = "webhookInvalidResponse".freeze
+ VOICE_DISABLED = "voiceDisabled".freeze
+ CONFIG_ERROR_NO_APPLICATION = "configErrorNoApplication".freeze
+ CONFIG_ERROR_NO_VOICE_URL = "configErrorNoVoiceUrl".freeze
+ MAX_REDIRECTS_ERROR = "maxRedirectsError".freeze
+ PERCL_PROCESSING_ERROR = "perclProcessingError".freeze
+ INTERNAL_ERROR = "internalError".freeze
+ GRPC_HANGUP = "grpcHangup".freeze
+ MAX_DURATION = "maxDuration".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = CallEndedReason.constants.select { |c| CallEndedReason::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #CallEndedReason" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/call_list.rb b/lib/freeclimb/models/call_list.rb
index d75fd522..59a3b446 100644
--- a/lib/freeclimb/models/call_list.rb
+++ b/lib/freeclimb/models/call_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'CallListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/call_result.rb b/lib/freeclimb/models/call_result.rb
index 7cd13757..26d24330 100644
--- a/lib/freeclimb/models/call_result.rb
+++ b/lib/freeclimb/models/call_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -72,6 +72,28 @@ class CallResult
# ApplicationId associated with the Call.
attr_accessor :application_id
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -154,7 +176,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'CallResultAllOf',
:'MutableResourceModel'
]
end
@@ -429,7 +450,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/call_status.rb b/lib/freeclimb/models/call_status.rb
index 15116ec4..96a99333 100644
--- a/lib/freeclimb/models/call_status.rb
+++ b/lib/freeclimb/models/call_status.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/call_status_webhook.rb b/lib/freeclimb/models/call_status_webhook.rb
new file mode 100644
index 00000000..750fad95
--- /dev/null
+++ b/lib/freeclimb/models/call_status_webhook.rb
@@ -0,0 +1,354 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A Call has ended and the statusCallbackUrl is being invoked. This is a notification only; All PerCL commands will be ignored.
+ class CallStatusWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ CallStatusWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be callStatus - A Call has ended and the statusCallbackUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :call_ended_reason
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'call_ended_reason' => :'callEndedReason',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'call_ended_reason' => :'CallEndedReason',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'call_ended_reason',
+ :'direction',
+ :'queue_id'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::CallStatusWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::CallStatusWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'call_ended_reason')
+ self.call_ended_reason = attributes[:'call_ended_reason']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ call_ended_reason == o.call_ended_reason &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, call_ended_reason, direction, conference_id, queue_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/capabilities.rb b/lib/freeclimb/models/capabilities.rb
index a2b8988d..c9fcf718 100644
--- a/lib/freeclimb/models/capabilities.rb
+++ b/lib/freeclimb/models/capabilities.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -264,7 +264,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/completion_request.rb b/lib/freeclimb/models/completion_request.rb
index 984eaead..33ef2fa0 100644
--- a/lib/freeclimb/models/completion_request.rb
+++ b/lib/freeclimb/models/completion_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -240,7 +240,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/completion_result.rb b/lib/freeclimb/models/completion_result.rb
index 4926c96b..038f6c29 100644
--- a/lib/freeclimb/models/completion_result.rb
+++ b/lib/freeclimb/models/completion_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -18,7 +18,6 @@ class CompletionResult
# The generative response from the KnowledgeBase
attr_accessor :response
- # Completion result status. Possible values: success, no_context
attr_accessor :status
class EnumAttributeValidator
@@ -60,7 +59,7 @@ def self.acceptable_attributes
def self.openapi_types
{
:'response' => :'String',
- :'status' => :'String'
+ :'status' => :'CompletionResultStatus'
}
end
@@ -120,16 +119,6 @@ def valid?
end
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] status Object to be assigned
- def status=(status)
- validator = EnumAttributeValidator.new('String', ["success", "no_context"])
- unless validator.valid?(status)
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
- end
- @status = status
- end
-
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@@ -268,7 +257,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/completion_result_status.rb b/lib/freeclimb/models/completion_result_status.rb
new file mode 100644
index 00000000..48152155
--- /dev/null
+++ b/lib/freeclimb/models/completion_result_status.rb
@@ -0,0 +1,37 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class CompletionResultStatus
+ SUCCESS = "success".freeze
+ NO_CONTEXT = "no_context".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = CompletionResultStatus.constants.select { |c| CompletionResultStatus::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #CompletionResultStatus" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/conference_list.rb b/lib/freeclimb/models/conference_list.rb
index 1eb1ac36..8cee2a86 100644
--- a/lib/freeclimb/models/conference_list.rb
+++ b/lib/freeclimb/models/conference_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ConferenceListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/conference_list_all_of.rb b/lib/freeclimb/models/conference_list_all_of.rb
deleted file mode 100644
index a2680ed0..00000000
--- a/lib/freeclimb/models/conference_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class ConferenceListAllOf
- attr_accessor :conferences
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'conferences' => :'conferences'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'conferences' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'conferences'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'conferences')
- if (value = attributes[:'conferences']).is_a?(Array)
- self.conferences = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @conferences.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- conferences == o.conferences
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [conferences].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/conference_participant_list.rb b/lib/freeclimb/models/conference_participant_list.rb
index a137067f..7fa23963 100644
--- a/lib/freeclimb/models/conference_participant_list.rb
+++ b/lib/freeclimb/models/conference_participant_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ConferenceParticipantListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/conference_participant_list_all_of.rb b/lib/freeclimb/models/conference_participant_list_all_of.rb
deleted file mode 100644
index 7c8812f7..00000000
--- a/lib/freeclimb/models/conference_participant_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class ConferenceParticipantListAllOf
- attr_accessor :participants
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'participants' => :'participants'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'participants' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'participants'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceParticipantListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceParticipantListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'participants')
- if (value = attributes[:'participants']).is_a?(Array)
- self.participants = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @participants.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- participants == o.participants
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [participants].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/conference_participant_result.rb b/lib/freeclimb/models/conference_participant_result.rb
index 3ed70d98..c69cde29 100644
--- a/lib/freeclimb/models/conference_participant_result.rb
+++ b/lib/freeclimb/models/conference_participant_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -103,7 +103,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ConferenceParticipantResultAllOf',
:'MutableResourceModel'
]
end
@@ -333,7 +332,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/conference_recording_status_webhook.rb b/lib/freeclimb/models/conference_recording_status_webhook.rb
new file mode 100644
index 00000000..ef84211e
--- /dev/null
+++ b/lib/freeclimb/models/conference_recording_status_webhook.rb
@@ -0,0 +1,384 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The statusCallbackUrl request includes Recording information for a Conference that ended. This is a notification only; any PerCL returned will be ignored.
+ class ConferenceRecordingStatusWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ ConferenceRecordingStatusWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be conferenceRecordingStatus - The statusCallbackUrl request includes Recording information for a Conference that ended.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :status
+
+ # URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied.
+ attr_accessor :recording_url
+
+ # Unique ID of the Recording from this Conference. Populated only if a recording exists and the Conference was emptied.
+ attr_accessor :recording_id
+
+ # Duration of the recorded audio (in seconds), rounded up to the nearest second. Populated only if a Recording exists and the Conference was emptied.
+ attr_accessor :recording_duration_sec
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'status' => :'status',
+ :'recording_url' => :'recordingUrl',
+ :'recording_id' => :'recordingId',
+ :'recording_duration_sec' => :'recordingDurationSec'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'status' => :'ConferenceStatus',
+ :'recording_url' => :'String',
+ :'recording_id' => :'String',
+ :'recording_duration_sec' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ :'status',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceRecordingStatusWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceRecordingStatusWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ end
+
+ if attributes.key?(:'recording_url')
+ self.recording_url = attributes[:'recording_url']
+ end
+
+ if attributes.key?(:'recording_id')
+ self.recording_id = attributes[:'recording_id']
+ end
+
+ if attributes.key?(:'recording_duration_sec')
+ self.recording_duration_sec = attributes[:'recording_duration_sec']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ status == o.status &&
+ recording_url == o.recording_url &&
+ recording_id == o.recording_id &&
+ recording_duration_sec == o.recording_duration_sec && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, status, recording_url, recording_id, recording_duration_sec].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/conference_result.rb b/lib/freeclimb/models/conference_result.rb
index 11b22ea8..12d4981a 100644
--- a/lib/freeclimb/models/conference_result.rb
+++ b/lib/freeclimb/models/conference_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -55,6 +55,28 @@ class ConferenceResult
# The list of subresources for this Conference. This includes participants and/or recordings.
attr_accessor :subresource_uris
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -119,7 +141,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ConferenceResultAllOf',
:'MutableResourceModel'
]
end
@@ -169,8 +190,6 @@ def initialize(attributes = {})
if attributes.key?(:'play_beep')
self.play_beep = attributes[:'play_beep']
- else
- self.play_beep = 'always'
end
if attributes.key?(:'record')
@@ -366,7 +385,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/conference_status.rb b/lib/freeclimb/models/conference_status.rb
index aab2b71f..d0d9b440 100644
--- a/lib/freeclimb/models/conference_status.rb
+++ b/lib/freeclimb/models/conference_status.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/conference_status_webhook.rb b/lib/freeclimb/models/conference_status_webhook.rb
new file mode 100644
index 00000000..fed56134
--- /dev/null
+++ b/lib/freeclimb/models/conference_status_webhook.rb
@@ -0,0 +1,387 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The context or reason why this request is being made. Will be conferenceStatus - A Conference's status changed and its statusCallbackUrl is being invoked.
+ class ConferenceStatusWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ ConferenceStatusWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be conferenceRecordingStatus - The statusCallbackUrl request includes Recording information for a Conference that ended.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :status
+
+ # The URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_url
+
+ # The unique ID of the Recording from this Conference. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_id
+
+ # The duration of the recorded audio rounded up to the nearest second (in seconds). Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_duration_sec
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'status' => :'status',
+ :'recording_url' => :'recordingUrl',
+ :'recording_id' => :'recordingId',
+ :'recording_duration_sec' => :'recordingDurationSec'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'status' => :'ConferenceStatus',
+ :'recording_url' => :'String',
+ :'recording_id' => :'String',
+ :'recording_duration_sec' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ :'status',
+ :'recording_url',
+ :'recording_id',
+ :'recording_duration_sec'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceStatusWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceStatusWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ end
+
+ if attributes.key?(:'recording_url')
+ self.recording_url = attributes[:'recording_url']
+ end
+
+ if attributes.key?(:'recording_id')
+ self.recording_id = attributes[:'recording_id']
+ end
+
+ if attributes.key?(:'recording_duration_sec')
+ self.recording_duration_sec = attributes[:'recording_duration_sec']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ status == o.status &&
+ recording_url == o.recording_url &&
+ recording_id == o.recording_id &&
+ recording_duration_sec == o.recording_duration_sec && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, status, recording_url, recording_id, recording_duration_sec].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/create_conference.rb b/lib/freeclimb/models/create_conference.rb
index 2db0b08c..bac08de5 100644
--- a/lib/freeclimb/models/create_conference.rb
+++ b/lib/freeclimb/models/create_conference.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -33,6 +33,28 @@ class CreateConference < PerclCommand
# If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb.
attr_accessor :wait_url
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -72,7 +94,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'CreateConferenceAllOf',
:'PerclCommand'
]
end
@@ -105,8 +126,6 @@ def initialize(attributes = {})
if attributes.key?(:'play_beep')
self.play_beep = attributes[:'play_beep']
- else
- self.play_beep = 'always'
end
if attributes.key?(:'record')
@@ -288,7 +307,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/create_conference_all_of.rb b/lib/freeclimb/models/create_conference_all_of.rb
deleted file mode 100644
index bde8d3c0..00000000
--- a/lib/freeclimb/models/create_conference_all_of.rb
+++ /dev/null
@@ -1,280 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class CreateConferenceAllOf
- # This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response.
- attr_accessor :action_url
-
- # Descriptive name for the Conference.
- attr_accessor :_alias
-
- attr_accessor :play_beep
-
- # When set to `true`, the entire Conference is recorded. The `statusCallbackUrl` of the Conference will receive a `conferenceRecordingEnded` Webhook when the Conference transitions from the `inProgress` to empty state.
- attr_accessor :record
-
- # This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available.
- attr_accessor :status_callback_url
-
- # If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb.
- attr_accessor :wait_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'_alias' => :'alias',
- :'play_beep' => :'playBeep',
- :'record' => :'record',
- :'status_callback_url' => :'statusCallbackUrl',
- :'wait_url' => :'waitUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'_alias' => :'Boolean',
- :'play_beep' => :'PlayBeep',
- :'record' => :'Boolean',
- :'status_callback_url' => :'String',
- :'wait_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'play_beep',
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::CreateConferenceAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::CreateConferenceAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
- end
-
- if attributes.key?(:'play_beep')
- self.play_beep = attributes[:'play_beep']
- else
- self.play_beep = 'always'
- end
-
- if attributes.key?(:'record')
- self.record = attributes[:'record']
- end
-
- if attributes.key?(:'status_callback_url')
- self.status_callback_url = attributes[:'status_callback_url']
- end
-
- if attributes.key?(:'wait_url')
- self.wait_url = attributes[:'wait_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- _alias == o._alias &&
- play_beep == o.play_beep &&
- record == o.record &&
- status_callback_url == o.status_callback_url &&
- wait_url == o.wait_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, _alias, play_beep, record, status_callback_url, wait_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/create_conference_request.rb b/lib/freeclimb/models/create_conference_request.rb
index 1f337685..1bde94b3 100644
--- a/lib/freeclimb/models/create_conference_request.rb
+++ b/lib/freeclimb/models/create_conference_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -29,6 +29,28 @@ class CreateConferenceRequest
# This URL is invoked when the status of the Conference changes. For more information, see **statusCallbackUrl** (below).
attr_accessor :status_callback_url
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -84,8 +106,6 @@ def initialize(attributes = {})
if attributes.key?(:'play_beep')
self.play_beep = attributes[:'play_beep']
- else
- self.play_beep = 'always'
end
if attributes.key?(:'record')
@@ -260,7 +280,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/create_conference_webhook.rb b/lib/freeclimb/models/create_conference_webhook.rb
new file mode 100644
index 00000000..6644a7a1
--- /dev/null
+++ b/lib/freeclimb/models/create_conference_webhook.rb
@@ -0,0 +1,387 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A Conference has been created and its statusCallbackUrl or actionUrl is being invoked. A PerCL response is expected if the actionUrl is being invoked.
+ class CreateConferenceWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ CreateConferenceWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be createConference - A Conference has been created and its statusCallbackUrl or actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :status
+
+ # The URL of the Conference’s recorded audio. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_url
+
+ # The unique ID of the Recording from this Conference. Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_id
+
+ # The duration of the recorded audio rounded up to the nearest second (in seconds). Populated only if a Recording exists and the Conference was emptied. Present only if statusCallbackUrl is being invoked.
+ attr_accessor :recording_duration_sec
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'status' => :'status',
+ :'recording_url' => :'recordingUrl',
+ :'recording_id' => :'recordingId',
+ :'recording_duration_sec' => :'recordingDurationSec'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'status' => :'ConferenceStatus',
+ :'recording_url' => :'String',
+ :'recording_id' => :'String',
+ :'recording_duration_sec' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ :'status',
+ :'recording_url',
+ :'recording_id',
+ :'recording_duration_sec'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::CreateConferenceWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::CreateConferenceWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
+ end
+
+ if attributes.key?(:'recording_url')
+ self.recording_url = attributes[:'recording_url']
+ end
+
+ if attributes.key?(:'recording_id')
+ self.recording_id = attributes[:'recording_id']
+ end
+
+ if attributes.key?(:'recording_duration_sec')
+ self.recording_duration_sec = attributes[:'recording_duration_sec']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ status == o.status &&
+ recording_url == o.recording_url &&
+ recording_id == o.recording_id &&
+ recording_duration_sec == o.recording_duration_sec && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, status, recording_url, recording_id, recording_duration_sec].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/create_web_rtc_token.rb b/lib/freeclimb/models/create_web_rtc_token.rb
index 55c99924..26a67af5 100644
--- a/lib/freeclimb/models/create_web_rtc_token.rb
+++ b/lib/freeclimb/models/create_web_rtc_token.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -268,7 +268,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/dequeue.rb b/lib/freeclimb/models/dequeue.rb
index f1c0d5ac..48754b18 100644
--- a/lib/freeclimb/models/dequeue.rb
+++ b/lib/freeclimb/models/dequeue.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -217,7 +217,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/dequeue_webhook.rb b/lib/freeclimb/models/dequeue_webhook.rb
new file mode 100644
index 00000000..ee6f8b11
--- /dev/null
+++ b/lib/freeclimb/models/dequeue_webhook.rb
@@ -0,0 +1,365 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A queued call has been dequeued and the actionUrl of the corresponding Enqueue action is being invoked. A PerCL response is expected.
+ class DequeueWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ DequeueWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be dequeue - A queued call has been dequeued and the actionUrl of the corresponding Enqueue action is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # The final result of the enqueued Call. Valid values are: •dequeued - Enqueued caller exited the Queue via a Dequeue action (Dequeue command or Queue Members POST REST API).
+ attr_accessor :queue_result
+
+ # Time (in seconds) the call spent in the Queue. This is only available if the Call was actually enqueued.
+ attr_accessor :queue_time
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'queue_result' => :'queueResult',
+ :'queue_time' => :'queueTime'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'queue_result' => :'String',
+ :'queue_time' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ :'queue_time'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::DequeueWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::DequeueWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'queue_result')
+ self.queue_result = attributes[:'queue_result']
+ end
+
+ if attributes.key?(:'queue_time')
+ self.queue_time = attributes[:'queue_time']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ queue_result == o.queue_result &&
+ queue_time == o.queue_time && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, queue_result, queue_time].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/enqueue.rb b/lib/freeclimb/models/enqueue.rb
index cfce3812..03826141 100644
--- a/lib/freeclimb/models/enqueue.rb
+++ b/lib/freeclimb/models/enqueue.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -62,7 +62,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'EnqueueAllOf',
:'PerclCommand'
]
end
@@ -274,7 +273,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/enqueue_all_of.rb b/lib/freeclimb/models/enqueue_all_of.rb
deleted file mode 100644
index d0ffe081..00000000
--- a/lib/freeclimb/models/enqueue_all_of.rb
+++ /dev/null
@@ -1,266 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class EnqueueAllOf
- # A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the `Dequeue` command, the REST API (POST to Queue Member resource), or the caller hangs up.
- attr_accessor :action_url
-
- # URL to be invoked when the call enters the queue. The request to the URL contains the standard request parameters.This is a notification only; any PerCL returned will be ignored.
- attr_accessor :notification_url
-
- # ID of the Queue to which to add the Call. If the Queue does not exist, it will be created. The ID must start with QU followed by 40 hex characters.
- attr_accessor :queue_id
-
- # A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the `Dequeue` command, the REST API (POST to Queue Member resource), or the caller hangs up.
- attr_accessor :wait_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'notification_url' => :'notificationUrl',
- :'queue_id' => :'queueId',
- :'wait_url' => :'waitUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'notification_url' => :'String',
- :'queue_id' => :'String',
- :'wait_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::EnqueueAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::EnqueueAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
- end
-
- if attributes.key?(:'queue_id')
- self.queue_id = attributes[:'queue_id']
- end
-
- if attributes.key?(:'wait_url')
- self.wait_url = attributes[:'wait_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- if @queue_id.nil?
- invalid_properties.push('invalid value for "queue_id", queue_id cannot be nil.')
- end
-
- if @wait_url.nil?
- invalid_properties.push('invalid value for "wait_url", wait_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- notification_url == o.notification_url &&
- queue_id == o.queue_id &&
- wait_url == o.wait_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, notification_url, queue_id, wait_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/filter_logs_request.rb b/lib/freeclimb/models/filter_logs_request.rb
index 79dd31aa..893583ab 100644
--- a/lib/freeclimb/models/filter_logs_request.rb
+++ b/lib/freeclimb/models/filter_logs_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -222,7 +222,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/get_digits.rb b/lib/freeclimb/models/get_digits.rb
index fea01dd1..8b593e62 100644
--- a/lib/freeclimb/models/get_digits.rb
+++ b/lib/freeclimb/models/get_digits.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -87,7 +87,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'GetDigitsAllOf',
:'PerclCommand'
]
end
@@ -318,7 +317,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/get_digits_all_of.rb b/lib/freeclimb/models/get_digits_all_of.rb
deleted file mode 100644
index 19c8032d..00000000
--- a/lib/freeclimb/models/get_digits_all_of.rb
+++ /dev/null
@@ -1,310 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class GetDigitsAllOf
- # When the Caller has finished entering digits, FreeClimb will make an HTTP POST request to this URL. A PerCL response is expected to continue handling the Call. Make sure to keep “http://“ in the URL.
- attr_accessor :action_url
-
- # Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered, before making a determination that a `timeout` has occurred and moving on to make the request to the actionUrl to submit the results of the `GetDigits` command. This timeout interval begins and resets after each digit entered.
- attr_accessor :digit_timeout_ms
-
- # Digit that causes the input sequence to be deemed complete. This attribute defers to the `timeout` attribute – so, if a `timeout` occurs, then the command terminates regardless of the value of `finishOnKey`.
- attr_accessor :finish_on_key
-
- # If set to true, the FreeClimb platform starts with an empty DTMF buffer to store the digits entered by the caller. If set to false, FreeClimb will append the user inputs to the end of the existing digits buffer and will return digits from the start of the digits buffer.
- attr_accessor :flush_buffer
-
- # Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit before making a determination that a `timeout` has occurred and moving on to make the request to the `actionUrl` to submit the results of the `GetDigits` command. This timeout interval begins when all nested commands have been fully executed.
- attr_accessor :initial_timeout_ms
-
- # Maximum number of digits expected in the input. If the terminating digit is not entered and the caller has entered the maximum number of digits allowed, the `GetDigits` command terminates regardless of the value of `finishOnKey`.
- attr_accessor :max_digits
-
- # Minimum number of digits expected in the input. If specified, FreeClimb will return the collected digits only if the Caller has entered at least that many digits.
- attr_accessor :min_digits
-
- # JSON array of PerCL commands to nest within the `GetDigits` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller.
- attr_accessor :prompts
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'digit_timeout_ms' => :'digitTimeoutMs',
- :'finish_on_key' => :'finishOnKey',
- :'flush_buffer' => :'flushBuffer',
- :'initial_timeout_ms' => :'initialTimeoutMs',
- :'max_digits' => :'maxDigits',
- :'min_digits' => :'minDigits',
- :'prompts' => :'prompts',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'digit_timeout_ms' => :'Integer',
- :'finish_on_key' => :'String',
- :'flush_buffer' => :'Boolean',
- :'initial_timeout_ms' => :'Integer',
- :'max_digits' => :'Integer',
- :'min_digits' => :'Integer',
- :'prompts' => :'Array',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetDigitsAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetDigitsAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'digit_timeout_ms')
- self.digit_timeout_ms = attributes[:'digit_timeout_ms']
- end
-
- if attributes.key?(:'finish_on_key')
- self.finish_on_key = attributes[:'finish_on_key']
- end
-
- if attributes.key?(:'flush_buffer')
- self.flush_buffer = attributes[:'flush_buffer']
- end
-
- if attributes.key?(:'initial_timeout_ms')
- self.initial_timeout_ms = attributes[:'initial_timeout_ms']
- end
-
- if attributes.key?(:'max_digits')
- self.max_digits = attributes[:'max_digits']
- end
-
- if attributes.key?(:'min_digits')
- self.min_digits = attributes[:'min_digits']
- end
-
- if attributes.key?(:'prompts')
- if (value = attributes[:'prompts']).is_a?(Array)
- self.prompts = value
- end
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- digit_timeout_ms == o.digit_timeout_ms &&
- finish_on_key == o.finish_on_key &&
- flush_buffer == o.flush_buffer &&
- initial_timeout_ms == o.initial_timeout_ms &&
- max_digits == o.max_digits &&
- min_digits == o.min_digits &&
- prompts == o.prompts &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, digit_timeout_ms, finish_on_key, flush_buffer, initial_timeout_ms, max_digits, min_digits, prompts, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/get_digits_reason.rb b/lib/freeclimb/models/get_digits_reason.rb
new file mode 100644
index 00000000..5725110e
--- /dev/null
+++ b/lib/freeclimb/models/get_digits_reason.rb
@@ -0,0 +1,39 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class GetDigitsReason
+ FINISH_KEY = "finishKey".freeze
+ TIMEOUT = "timeout".freeze
+ MAX_DIGITS = "maxDigits".freeze
+ TONE = "tone".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = GetDigitsReason.constants.select { |c| GetDigitsReason::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #GetDigitsReason" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/get_digits_webhook.rb b/lib/freeclimb/models/get_digits_webhook.rb
new file mode 100644
index 00000000..a8bca56d
--- /dev/null
+++ b/lib/freeclimb/models/get_digits_webhook.rb
@@ -0,0 +1,373 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A POST request with the following fields will be sent to the actionUrl provided in your GetDigits command.
+ class GetDigitsWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ GetDigitsWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be getDigits - The GetDigits command has completed and its actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # 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
+ attr_accessor :digits
+
+ attr_accessor :reason
+
+ # ID of the Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'digits' => :'digits',
+ :'reason' => :'reason',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'digits' => :'String',
+ :'reason' => :'GetDigitsReason',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetDigitsWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ 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
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'digits')
+ self.digits = attributes[:'digits']
+ end
+
+ if attributes.key?(:'reason')
+ self.reason = attributes[:'reason']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ digits == o.digits &&
+ reason == o.reason &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, digits, reason, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/get_speech.rb b/lib/freeclimb/models/get_speech.rb
index bdb41bb9..5ffc6bd0 100644
--- a/lib/freeclimb/models/get_speech.rb
+++ b/lib/freeclimb/models/get_speech.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -54,6 +54,28 @@ class GetSpeech < PerclCommand
# Parameter privacyMode will not log the `text` as required by PCI compliance.
attr_accessor :privacy_mode
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -107,7 +129,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'GetSpeechAllOf',
:'PerclCommand'
]
end
@@ -362,7 +383,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/get_speech_all_of.rb b/lib/freeclimb/models/get_speech_all_of.rb
deleted file mode 100644
index d38390c3..00000000
--- a/lib/freeclimb/models/get_speech_all_of.rb
+++ /dev/null
@@ -1,354 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class GetSpeechAllOf
- # When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call.
- attr_accessor :action_url
-
- attr_accessor :grammar_type
-
- # The grammar file to use for speech recognition. If grammarType is set to URL, this attribute is specified as a download URL.
- attr_accessor :grammar_file
-
- # The grammar rule within the specified grammar file to use for speech recognition. This attribute is optional if `grammarType` is `URL` and ignored if `grammarType` is `BUILTIN`.
- attr_accessor :grammar_rule
-
- # Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak.
- attr_accessor :play_beep
-
- # The JSON array of PerCL commands to nest within the `GetSpeech` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the caller. This allows for playing menu options to the caller and to prompt for the expected input. These commands stop executing when the caller begins to input speech.
- attr_accessor :prompts
-
- # When recognition is started and there is no speech detected for `noInputTimeoutMs` milliseconds, the recognizer will terminate the recognition operation.
- attr_accessor :no_input_timeout_ms
-
- # When playback of prompts ends and there is no match for `recognitionTimeoutMs` milliseconds, the recognizer will terminate the recognition operation.
- attr_accessor :recognition_timeout_ms
-
- # When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter `confidenceThreshold` specifies what confidence level is considered a successful match. Values are between 0.0 and 1.0.
- attr_accessor :confidence_threshold
-
- # The speech recognizer supports a variable level of sound sensitivity. The sensitivityLevel attribute allows for filtering out background noise, so it is not mistaken for speech. Values are between 0.0 and 1.0
- attr_accessor :sensitivity_level
-
- # Parameter `speechCompleteTimeoutMs` specifies the length of silence required following user speech before the speech recognizer finalizes a result. This timeout applies when the recognizer currently has a complete match against an active grammar. Reasonable speech complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds.
- attr_accessor :speech_complete_timeout_ms
-
- # Parameter `speechIncompleteTimeoutMs` specifies the length of silence following user speech after which a recognizer finalizes a result. This timeout applies when the speech prior to the silence is an incomplete match of all active grammars. Timeout `speechIncompleteTimeoutMs` is usually longer than `speechCompleteTimeoutMs` to allow users to pause mid-utterance.
- attr_accessor :speech_incomplete_timeout_ms
-
- # Parameter privacyMode will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'grammar_type' => :'grammarType',
- :'grammar_file' => :'grammarFile',
- :'grammar_rule' => :'grammarRule',
- :'play_beep' => :'playBeep',
- :'prompts' => :'prompts',
- :'no_input_timeout_ms' => :'noInputTimeoutMs',
- :'recognition_timeout_ms' => :'recognitionTimeoutMs',
- :'confidence_threshold' => :'confidenceThreshold',
- :'sensitivity_level' => :'sensitivityLevel',
- :'speech_complete_timeout_ms' => :'speechCompleteTimeoutMs',
- :'speech_incomplete_timeout_ms' => :'speechIncompleteTimeoutMs',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'grammar_type' => :'GrammarType',
- :'grammar_file' => :'String',
- :'grammar_rule' => :'String',
- :'play_beep' => :'Boolean',
- :'prompts' => :'Array',
- :'no_input_timeout_ms' => :'Integer',
- :'recognition_timeout_ms' => :'Integer',
- :'confidence_threshold' => :'Float',
- :'sensitivity_level' => :'Float',
- :'speech_complete_timeout_ms' => :'Integer',
- :'speech_incomplete_timeout_ms' => :'Integer',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'grammar_type',
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetSpeechAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetSpeechAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'grammar_type')
- self.grammar_type = attributes[:'grammar_type']
- end
-
- if attributes.key?(:'grammar_file')
- self.grammar_file = attributes[:'grammar_file']
- end
-
- if attributes.key?(:'grammar_rule')
- self.grammar_rule = attributes[:'grammar_rule']
- end
-
- if attributes.key?(:'play_beep')
- self.play_beep = attributes[:'play_beep']
- end
-
- if attributes.key?(:'prompts')
- if (value = attributes[:'prompts']).is_a?(Array)
- self.prompts = value
- end
- end
-
- if attributes.key?(:'no_input_timeout_ms')
- self.no_input_timeout_ms = attributes[:'no_input_timeout_ms']
- end
-
- if attributes.key?(:'recognition_timeout_ms')
- self.recognition_timeout_ms = attributes[:'recognition_timeout_ms']
- end
-
- if attributes.key?(:'confidence_threshold')
- self.confidence_threshold = attributes[:'confidence_threshold']
- end
-
- if attributes.key?(:'sensitivity_level')
- self.sensitivity_level = attributes[:'sensitivity_level']
- end
-
- if attributes.key?(:'speech_complete_timeout_ms')
- self.speech_complete_timeout_ms = attributes[:'speech_complete_timeout_ms']
- end
-
- if attributes.key?(:'speech_incomplete_timeout_ms')
- self.speech_incomplete_timeout_ms = attributes[:'speech_incomplete_timeout_ms']
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- if @grammar_file.nil?
- invalid_properties.push('invalid value for "grammar_file", grammar_file cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- grammar_type == o.grammar_type &&
- grammar_file == o.grammar_file &&
- grammar_rule == o.grammar_rule &&
- play_beep == o.play_beep &&
- prompts == o.prompts &&
- no_input_timeout_ms == o.no_input_timeout_ms &&
- recognition_timeout_ms == o.recognition_timeout_ms &&
- confidence_threshold == o.confidence_threshold &&
- sensitivity_level == o.sensitivity_level &&
- speech_complete_timeout_ms == o.speech_complete_timeout_ms &&
- speech_incomplete_timeout_ms == o.speech_incomplete_timeout_ms &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, grammar_type, grammar_file, grammar_rule, play_beep, prompts, no_input_timeout_ms, recognition_timeout_ms, confidence_threshold, sensitivity_level, speech_complete_timeout_ms, speech_incomplete_timeout_ms, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/get_speech_reason.rb b/lib/freeclimb/models/get_speech_reason.rb
index 99354b73..b8d1f1db 100644
--- a/lib/freeclimb/models/get_speech_reason.rb
+++ b/lib/freeclimb/models/get_speech_reason.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/get_speech_webhook.rb b/lib/freeclimb/models/get_speech_webhook.rb
new file mode 100644
index 00000000..8f4aa9f7
--- /dev/null
+++ b/lib/freeclimb/models/get_speech_webhook.rb
@@ -0,0 +1,423 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The GetSpeech command has completed and its actionUrl is being invoked. A PerCL response is expected, unless reason is hangup.
+ class GetSpeechWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ GetSpeechWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be getSpeech - The GetSpeech command has completed and its actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # Unique ID of the Conference.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :reason
+
+ # Semantic content (either a string if speech was recognized or a digit if a digit was input instead of speech) returned from the entry or tag that was recognized within the grammar. The content will be replaced by 'xxxxx' when privacyMode is set to true. This field is populated only if the reason field is set to recognition or digit.
+ attr_accessor :recognition_result
+
+ # Level of confidence in the obtained result. This is a value in the range 0 to 100 – with 0 being total lack of confidence and 100 being absolute certainty in the recognition. This field is populated only if the reason field is set to recognition.
+ attr_accessor :confidence
+
+ # ID of the Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ # Advanced diagnostic information if reason was error. See RFC 6787 section 9.4.12 - speech recognition.
+ attr_accessor :completion_reason
+
+ # Advanced diagnostic information if reason was error. See RFC 6787 section 9.4.11 - speech recognition.
+ attr_accessor :completion_cause
+
+ # Advanced diagnostic information if reason was error. See RFC 6787 section 5.4 - MRCPv2 specification.
+ attr_accessor :mrcp_code
+
+ # Advanced diagnostic information if reason was error. See RFC 6787 section 5.4 - MRCPv2 specification.
+ attr_accessor :mrcp_diagnostic
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'reason' => :'reason',
+ :'recognition_result' => :'recognitionResult',
+ :'confidence' => :'confidence',
+ :'parent_call_id' => :'parentCallId',
+ :'completion_reason' => :'completionReason',
+ :'completion_cause' => :'completionCause',
+ :'mrcp_code' => :'mrcpCode',
+ :'mrcp_diagnostic' => :'mrcpDiagnostic'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'reason' => :'GetSpeechReason',
+ :'recognition_result' => :'String',
+ :'confidence' => :'Integer',
+ :'parent_call_id' => :'String',
+ :'completion_reason' => :'String',
+ :'completion_cause' => :'String',
+ :'mrcp_code' => :'Integer',
+ :'mrcp_diagnostic' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetSpeechWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetSpeechWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'reason')
+ self.reason = attributes[:'reason']
+ end
+
+ if attributes.key?(:'recognition_result')
+ self.recognition_result = attributes[:'recognition_result']
+ end
+
+ if attributes.key?(:'confidence')
+ self.confidence = attributes[:'confidence']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+
+ if attributes.key?(:'completion_reason')
+ self.completion_reason = attributes[:'completion_reason']
+ end
+
+ if attributes.key?(:'completion_cause')
+ self.completion_cause = attributes[:'completion_cause']
+ end
+
+ if attributes.key?(:'mrcp_code')
+ self.mrcp_code = attributes[:'mrcp_code']
+ end
+
+ if attributes.key?(:'mrcp_diagnostic')
+ self.mrcp_diagnostic = attributes[:'mrcp_diagnostic']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ reason == o.reason &&
+ recognition_result == o.recognition_result &&
+ confidence == o.confidence &&
+ parent_call_id == o.parent_call_id &&
+ completion_reason == o.completion_reason &&
+ completion_cause == o.completion_cause &&
+ mrcp_code == o.mrcp_code &&
+ mrcp_diagnostic == o.mrcp_diagnostic && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, reason, recognition_result, confidence, parent_call_id, completion_reason, completion_cause, mrcp_code, mrcp_diagnostic].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/grammar_file_built_in.rb b/lib/freeclimb/models/grammar_file_built_in.rb
index cff68a06..22745d84 100644
--- a/lib/freeclimb/models/grammar_file_built_in.rb
+++ b/lib/freeclimb/models/grammar_file_built_in.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/grammar_type.rb b/lib/freeclimb/models/grammar_type.rb
index d7efe96b..c6f8dfa2 100644
--- a/lib/freeclimb/models/grammar_type.rb
+++ b/lib/freeclimb/models/grammar_type.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/hangup.rb b/lib/freeclimb/models/hangup.rb
index fd97add0..fa1f783a 100644
--- a/lib/freeclimb/models/hangup.rb
+++ b/lib/freeclimb/models/hangup.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,7 +47,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'HangupAllOf',
:'PerclCommand'
]
end
@@ -232,7 +231,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/hangup_all_of.rb b/lib/freeclimb/models/hangup_all_of.rb
deleted file mode 100644
index 6c4ffeb0..00000000
--- a/lib/freeclimb/models/hangup_all_of.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class HangupAllOf
- # The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application.
- attr_accessor :reason
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'reason' => :'reason'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'reason' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::HangupAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::HangupAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'reason')
- self.reason = attributes[:'reason']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @reason.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- reason == o.reason
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [reason].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/if_machine.rb b/lib/freeclimb/models/if_machine.rb
index 599adfdc..b8e566fa 100644
--- a/lib/freeclimb/models/if_machine.rb
+++ b/lib/freeclimb/models/if_machine.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/inbound_call_webhook.rb b/lib/freeclimb/models/inbound_call_webhook.rb
new file mode 100644
index 00000000..9823ab19
--- /dev/null
+++ b/lib/freeclimb/models/inbound_call_webhook.rb
@@ -0,0 +1,355 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # An inbound Call to a number registered on FreeClimb will trigger a request to the voiceUrl of the application the number is assigned to. FreeClimb expects to receive PerCL in response to this request in order to process the Call. The following parameters are sent as the POST body.
+ class InboundCallWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ InboundCallWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be inboundCall - An inbound call was received and the voiceUrl is being invoked.
+ attr_accessor :request_type
+
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a Conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
+ :'account_id' => :'accountId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'call_id' => :'String',
+ :'account_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ :'parent_call_id'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::InboundCallWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::InboundCallWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
+ account_id == o.account_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/incoming_number_list.rb b/lib/freeclimb/models/incoming_number_list.rb
index 6a2ca6dc..f645fa3d 100644
--- a/lib/freeclimb/models/incoming_number_list.rb
+++ b/lib/freeclimb/models/incoming_number_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'IncomingNumberListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/incoming_number_list_all_of.rb b/lib/freeclimb/models/incoming_number_list_all_of.rb
deleted file mode 100644
index d1917d39..00000000
--- a/lib/freeclimb/models/incoming_number_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class IncomingNumberListAllOf
- attr_accessor :incoming_phone_numbers
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'incoming_phone_numbers' => :'incomingPhoneNumbers'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'incoming_phone_numbers' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'incoming_phone_numbers'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::IncomingNumberListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::IncomingNumberListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'incoming_phone_numbers')
- if (value = attributes[:'incoming_phone_numbers']).is_a?(Array)
- self.incoming_phone_numbers = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @incoming_phone_numbers.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- incoming_phone_numbers == o.incoming_phone_numbers
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [incoming_phone_numbers].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/incoming_number_request.rb b/lib/freeclimb/models/incoming_number_request.rb
index 28699846..bc4cf0c5 100644
--- a/lib/freeclimb/models/incoming_number_request.rb
+++ b/lib/freeclimb/models/incoming_number_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -239,7 +239,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/incoming_number_result.rb b/lib/freeclimb/models/incoming_number_result.rb
index 230f5afd..9203855c 100644
--- a/lib/freeclimb/models/incoming_number_result.rb
+++ b/lib/freeclimb/models/incoming_number_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -135,7 +135,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'IncomingNumberResultAllOf',
:'MutableResourceModel'
]
end
@@ -395,7 +394,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/language.rb b/lib/freeclimb/models/language.rb
index 6d8af8ef..def8fd47 100644
--- a/lib/freeclimb/models/language.rb
+++ b/lib/freeclimb/models/language.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/conference_result_all_of.rb b/lib/freeclimb/models/leave_conference_webhook.rb
similarity index 63%
rename from lib/freeclimb/models/conference_result_all_of.rb
rename to lib/freeclimb/models/leave_conference_webhook.rb
index f2521746..2805127c 100644
--- a/lib/freeclimb/models/conference_result_all_of.rb
+++ b/lib/freeclimb/models/leave_conference_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,150 +14,173 @@
require 'time'
module Freeclimb
- class ConferenceResultAllOf
- # A string that uniquely identifies this Conference resource.
- attr_accessor :conference_id
+ # A Call has been unbridged from a Conference and its leaveConferenceUrl is being invoked. A PerCL response is expected — unless the URL is invoked due to the participant hanging up.
+ class LeaveConferenceWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ LeaveConferenceWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be leaveConference - Call has been unbridged from a Conference and its leaveConferenceUrl is being invoked.
+ attr_accessor :request_type
- # ID of the account that created this Conference.
- attr_accessor :account_id
+ # Unique ID for this Call, generated by FreeClimb. This is the call leg which has left the Conference
+ attr_accessor :call_id
- # A description for this Conference.
- attr_accessor :_alias
+ # Account ID associated with your account.
+ attr_accessor :account_id
- attr_accessor :play_beep
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
- # Flag indicating whether recording is enabled for this Conference.
- attr_accessor :record
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
+ attr_accessor :to
- attr_accessor :status
+ attr_accessor :call_status
- # URL referencing the audio file to be used as default wait music for the Conference when it is in the populated state.
- attr_accessor :wait_url
+ attr_accessor :direction
- # URL invoked once the Conference is successfully created.
- attr_accessor :action_url
+ # This is only populated if request pertains to a Conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
- # URL to inform that the Conference status has changed.
- attr_accessor :status_callback_url
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
- # The list of subresources for this Conference. This includes participants and/or recordings.
- attr_accessor :subresource_uris
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
- :'conference_id' => :'conferenceId',
+ :'request_type' => :'requestType',
+ :'call_id' => :'callId',
:'account_id' => :'accountId',
- :'_alias' => :'alias',
- :'play_beep' => :'playBeep',
- :'record' => :'record',
- :'status' => :'status',
- :'wait_url' => :'waitUrl',
- :'action_url' => :'actionUrl',
- :'status_callback_url' => :'statusCallbackUrl',
- :'subresource_uris' => :'subresourceUris'
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
- :'conference_id' => :'String',
+ :'request_type' => :'String',
+ :'call_id' => :'String',
:'account_id' => :'String',
- :'_alias' => :'String',
- :'play_beep' => :'PlayBeep',
- :'record' => :'Boolean',
- :'status' => :'ConferenceStatus',
- :'wait_url' => :'String',
- :'action_url' => :'String',
- :'status_callback_url' => :'String',
- :'subresource_uris' => :'Object'
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
+ :'call_status',
+ :'direction',
:'conference_id',
- :'account_id',
- :'_alias',
- :'play_beep',
- :'record',
- :'status',
- :'wait_url',
- :'action_url',
- :'status_callback_url',
- :'subresource_uris'
+ :'queue_id'
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ConferenceResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::LeaveConferenceWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ConferenceResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::LeaveConferenceWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
- if attributes.key?(:'conference_id')
- self.conference_id = attributes[:'conference_id']
- end
+ # call parent's initialize
+ super(attributes)
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
end
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
end
- if attributes.key?(:'play_beep')
- self.play_beep = attributes[:'play_beep']
- else
- self.play_beep = 'always'
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
end
- if attributes.key?(:'record')
- self.record = attributes[:'record']
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
end
- if attributes.key?(:'status')
- self.status = attributes[:'status']
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
end
- if attributes.key?(:'wait_url')
- self.wait_url = attributes[:'wait_url']
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
end
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
end
- if attributes.key?(:'status_callback_url')
- self.status_callback_url = attributes[:'status_callback_url']
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
end
- if attributes.key?(:'subresource_uris')
- self.subresource_uris = attributes[:'subresource_uris']
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -165,7 +188,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @conference_id.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -177,16 +200,15 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
- conference_id == o.conference_id &&
+ request_type == o.request_type &&
+ call_id == o.call_id &&
account_id == o.account_id &&
- _alias == o._alias &&
- play_beep == o.play_beep &&
- record == o.record &&
- status == o.status &&
- wait_url == o.wait_url &&
- action_url == o.action_url &&
- status_callback_url == o.status_callback_url &&
- subresource_uris == o.subresource_uris
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id && super(o)
end
# @see the `==` method
@@ -198,7 +220,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [conference_id, account_id, _alias, play_beep, record, status, wait_url, action_url, status_callback_url, subresource_uris].hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id].hash
end
# Builds the object from hash
@@ -213,6 +235,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -288,7 +311,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -318,7 +341,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/log_level.rb b/lib/freeclimb/models/log_level.rb
index 3972b4aa..a4a58d0d 100644
--- a/lib/freeclimb/models/log_level.rb
+++ b/lib/freeclimb/models/log_level.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/log_list.rb b/lib/freeclimb/models/log_list.rb
index a4a762cf..c2024dcb 100644
--- a/lib/freeclimb/models/log_list.rb
+++ b/lib/freeclimb/models/log_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,7 +88,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'LogListAllOf',
:'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/log_list_all_of.rb b/lib/freeclimb/models/log_list_all_of.rb
deleted file mode 100644
index 488b3134..00000000
--- a/lib/freeclimb/models/log_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class LogListAllOf
- attr_accessor :logs
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'logs' => :'logs'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'logs' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'logs'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::LogListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::LogListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'logs')
- if (value = attributes[:'logs']).is_a?(Array)
- self.logs = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @logs.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- logs == o.logs
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [logs].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/log_result.rb b/lib/freeclimb/models/log_result.rb
index b2c2106c..b6f20a38 100644
--- a/lib/freeclimb/models/log_result.rb
+++ b/lib/freeclimb/models/log_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -35,6 +35,28 @@ class LogResult
# JSON document containing metadata about the event. Some log messages may include request and response header content in this field.
attr_accessor :metadata
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -284,7 +306,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/call_result_all_of.rb b/lib/freeclimb/models/machine_detected_webhook.rb
similarity index 63%
rename from lib/freeclimb/models/call_result_all_of.rb
rename to lib/freeclimb/models/machine_detected_webhook.rb
index df4a5ed8..5f45cb0d 100644
--- a/lib/freeclimb/models/call_result_all_of.rb
+++ b/lib/freeclimb/models/machine_detected_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,144 +14,147 @@
require 'time'
module Freeclimb
- class CallResultAllOf
- # String that uniquely identifies this Call resource.
- attr_accessor :call_id
+ # An outbound call spawned by OutDial detected an answer by a machine (answering machine or fax/modem machine) and ifMachineUrl is being invoked. A PerCL response is expected.
+ class MachineDetectedWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ MachineDetectedWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be machineDetected - An outbound call spawned by OutDial was answered by a machine and the ifMachineUrl is being invoked.
+ attr_accessor :request_type
- # ID of the Call that created this leg (child Call).
- attr_accessor :parent_call_id
+ # Unique ID for this Call, generated by FreeClimb.
+ attr_accessor :call_id
- # ID of the account that owns this Call.
+ # Account ID associated with your account.
attr_accessor :account_id
- # Phone number that initiated this Call.
+ # Phone number of the party that initiated the Call (in E.164 format).
attr_accessor :from
- # Phone number that received this Call.
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
attr_accessor :to
- # If the Call was inbound, this is the ID of the IncomingPhoneNumber that received the Call (DNIS). If the Call was outbound, this is the ID of the phone number from which the Call was placed (ANI).
- attr_accessor :phone_number_id
-
attr_accessor :call_status
- # Start time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed.
- attr_accessor :start_time
-
- # Time the Call was answered (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed.
- attr_accessor :connect_time
-
- # End time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call did not complete successfully.
- attr_accessor :end_time
-
- # Total length of the Call in seconds. Measures time between startTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls.
- attr_accessor :duration
+ attr_accessor :direction
- # Length of time that the Call was connected in seconds. Measures time between connectTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls.
- attr_accessor :connect_duration
+ # This is only populated if request pertains to a Conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
- attr_accessor :direction
+ # This is only populated if the request pertains to a Queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
- attr_accessor :answered_by
+ # Call ID of the leg which initiated the OutDial.
+ attr_accessor :parent_call_id
- # The list of subresources for this Call. These include things like logs and recordings associated with the Call.
- attr_accessor :subresource_uris
+ attr_accessor :machine_type
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
- # ApplicationId associated with the Call.
- attr_accessor :application_id
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
+ :'request_type' => :'requestType',
:'call_id' => :'callId',
- :'parent_call_id' => :'parentCallId',
:'account_id' => :'accountId',
:'from' => :'from',
:'to' => :'to',
- :'phone_number_id' => :'phoneNumberId',
:'call_status' => :'callStatus',
- :'start_time' => :'startTime',
- :'connect_time' => :'connectTime',
- :'end_time' => :'endTime',
- :'duration' => :'duration',
- :'connect_duration' => :'connectDuration',
:'direction' => :'direction',
- :'answered_by' => :'answeredBy',
- :'subresource_uris' => :'subresourceUris',
- :'application_id' => :'applicationId'
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'parent_call_id' => :'parentCallId',
+ :'machine_type' => :'machineType'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
+ :'request_type' => :'String',
:'call_id' => :'String',
- :'parent_call_id' => :'String',
:'account_id' => :'String',
:'from' => :'String',
:'to' => :'String',
- :'phone_number_id' => :'String',
:'call_status' => :'CallStatus',
- :'start_time' => :'String',
- :'connect_time' => :'String',
- :'end_time' => :'String',
- :'duration' => :'Integer',
- :'connect_duration' => :'Integer',
:'direction' => :'CallDirection',
- :'answered_by' => :'AnsweredBy',
- :'subresource_uris' => :'Object',
- :'application_id' => :'String'
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'parent_call_id' => :'String',
+ :'machine_type' => :'MachineType'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
- :'call_id',
- :'parent_call_id',
- :'account_id',
- :'from',
- :'to',
- :'phone_number_id',
:'call_status',
- :'start_time',
- :'connect_time',
- :'end_time',
- :'duration',
- :'connect_duration',
:'direction',
- :'answered_by',
- :'subresource_uris',
- :'application_id'
+ :'conference_id',
+ :'queue_id',
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::CallResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MachineDetectedWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::CallResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MachineDetectedWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
- if attributes.key?(:'call_id')
- self.call_id = attributes[:'call_id']
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
end
- if attributes.key?(:'parent_call_id')
- self.parent_call_id = attributes[:'parent_call_id']
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
end
if attributes.key?(:'account_id')
@@ -166,55 +169,35 @@ def initialize(attributes = {})
self.to = attributes[:'to']
end
- if attributes.key?(:'phone_number_id')
- self.phone_number_id = attributes[:'phone_number_id']
- end
-
if attributes.key?(:'call_status')
self.call_status = attributes[:'call_status']
end
- if attributes.key?(:'start_time')
- self.start_time = attributes[:'start_time']
- end
-
- if attributes.key?(:'connect_time')
- self.connect_time = attributes[:'connect_time']
- end
-
- if attributes.key?(:'end_time')
- self.end_time = attributes[:'end_time']
- end
-
- if attributes.key?(:'duration')
- self.duration = attributes[:'duration']
- end
-
- if attributes.key?(:'connect_duration')
- self.connect_duration = attributes[:'connect_duration']
- end
-
if attributes.key?(:'direction')
self.direction = attributes[:'direction']
end
- if attributes.key?(:'answered_by')
- self.answered_by = attributes[:'answered_by']
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
end
- if attributes.key?(:'subresource_uris')
- self.subresource_uris = attributes[:'subresource_uris']
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
end
- if attributes.key?(:'application_id')
- self.application_id = attributes[:'application_id']
+ if attributes.key?(:'machine_type')
+ self.machine_type = attributes[:'machine_type']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -222,7 +205,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @call_id.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -234,22 +217,17 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
+ request_type == o.request_type &&
call_id == o.call_id &&
- parent_call_id == o.parent_call_id &&
account_id == o.account_id &&
from == o.from &&
to == o.to &&
- phone_number_id == o.phone_number_id &&
call_status == o.call_status &&
- start_time == o.start_time &&
- connect_time == o.connect_time &&
- end_time == o.end_time &&
- duration == o.duration &&
- connect_duration == o.connect_duration &&
direction == o.direction &&
- answered_by == o.answered_by &&
- subresource_uris == o.subresource_uris &&
- application_id == o.application_id
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ parent_call_id == o.parent_call_id &&
+ machine_type == o.machine_type && super(o)
end
# @see the `==` method
@@ -261,7 +239,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [call_id, parent_call_id, account_id, from, to, phone_number_id, call_status, start_time, connect_time, end_time, duration, connect_duration, direction, answered_by, subresource_uris, application_id].hash
+ [request_type, call_id, account_id, from, to, call_status, direction, conference_id, queue_id, parent_call_id, machine_type].hash
end
# Builds the object from hash
@@ -276,6 +254,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -351,7 +330,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -381,7 +360,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/machine_type.rb b/lib/freeclimb/models/machine_type.rb
index 92a7bcda..bf26e6a5 100644
--- a/lib/freeclimb/models/machine_type.rb
+++ b/lib/freeclimb/models/machine_type.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -15,8 +15,8 @@
module Freeclimb
class MachineType
- ANSWERING_MACHINE = "answeringMachine".freeze
- FAX_MACHINE = "faxMachine".freeze
+ ANSWERING_MACHINE = "answering machine".freeze
+ FAX_MODEM = "fax modem".freeze
# Builds the enum from string
# @param [String] The enum value in the form of the string
diff --git a/lib/freeclimb/models/make_call_request.rb b/lib/freeclimb/models/make_call_request.rb
index f018e3db..c611e81d 100644
--- a/lib/freeclimb/models/make_call_request.rb
+++ b/lib/freeclimb/models/make_call_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -318,7 +318,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/message_result_all_of.rb b/lib/freeclimb/models/message_delivery_webhook.rb
similarity index 70%
rename from lib/freeclimb/models/message_result_all_of.rb
rename to lib/freeclimb/models/message_delivery_webhook.rb
index 2a73b47a..8784730c 100644
--- a/lib/freeclimb/models/message_result_all_of.rb
+++ b/lib/freeclimb/models/message_delivery_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,126 +14,119 @@
require 'time'
module Freeclimb
- class MessageResultAllOf
- # String that uniquely identifies this account resource.
- attr_accessor :account_id
-
- # String that uniquely identifies this message resource
- attr_accessor :message_id
+ # An SMS has been received by the platform and is being delivered to the smsUrl of the customer application that is associated with the destination number. A PerCL response will be ignored.
+ class MessageDeliveryWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ MessageDeliveryWebhook.new(hash)
+ end
+ # Value will be messageDelivery - An SMS message has been received by the platform and is being delivered to the customer application associated with the destination number.
+ attr_accessor :request_type
- attr_accessor :status
+ # Account ID associated with your account.
+ attr_accessor :account_id
- # Phone number in E.164 format that sent the message.
+ # Phone number of the party that initiated the Call (in E.164 format).
attr_accessor :from
- # Phone number in E.164 format that received the message.
+ # Phone number provisioned to you and to which this Call is directed (in E.164 format).
attr_accessor :to
- # Message contents
+ # Body of the SMS message.
attr_accessor :text
- # Noting whether the message was inbound or outbound
+ # Value will be inbound to indicate the receipt of a message into the FreeClimb platform.
attr_accessor :direction
- # URL invoked when message sent
- attr_accessor :notification_url
-
- # The unique identifier for the brand associated with the message
- attr_accessor :brand_id
+ # ID of the application to which the destination number is assigned.
+ attr_accessor :application_id
- # The unique identifier for the campaign associated with the message
- attr_accessor :campaign_id
+ # Value will be received to indicate that the platform has successfully received the incoming message.
+ attr_accessor :status
- # The number of segments into which the message was split
- attr_accessor :segment_count
+ # ID of the destination phone number.
+ attr_accessor :phone_number_id
- # an array of HTTP URLs which were attached this this message
- attr_accessor :media_urls
+ # The URI for this resource, relative to the API base URL
+ attr_accessor :uri
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
+ :'request_type' => :'requestType',
:'account_id' => :'accountId',
- :'message_id' => :'messageId',
- :'status' => :'status',
:'from' => :'from',
:'to' => :'to',
:'text' => :'text',
:'direction' => :'direction',
- :'notification_url' => :'notificationUrl',
- :'brand_id' => :'brandId',
- :'campaign_id' => :'campaignId',
- :'segment_count' => :'segmentCount',
- :'media_urls' => :'mediaUrls'
+ :'application_id' => :'applicationId',
+ :'status' => :'status',
+ :'phone_number_id' => :'phoneNumberId',
+ :'uri' => :'uri'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
+ :'request_type' => :'String',
:'account_id' => :'String',
- :'message_id' => :'String',
- :'status' => :'MessageStatus',
:'from' => :'String',
:'to' => :'String',
:'text' => :'String',
:'direction' => :'String',
- :'notification_url' => :'String',
- :'brand_id' => :'String',
- :'campaign_id' => :'String',
- :'segment_count' => :'Float',
- :'media_urls' => :'Array'
+ :'application_id' => :'String',
+ :'status' => :'String',
+ :'phone_number_id' => :'String',
+ :'uri' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
- :'account_id',
- :'message_id',
- :'status',
- :'from',
- :'to',
- :'text',
- :'direction',
- :'notification_url',
- :'brand_id',
- :'campaign_id',
- :'segment_count',
- :'media_urls'
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MessageResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MessageDeliveryWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MessageResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MessageDeliveryWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
- end
+ # call parent's initialize
+ super(attributes)
- if attributes.key?(:'message_id')
- self.message_id = attributes[:'message_id']
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
end
- if attributes.key?(:'status')
- self.status = attributes[:'status']
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
end
if attributes.key?(:'from')
@@ -152,33 +145,27 @@ def initialize(attributes = {})
self.direction = attributes[:'direction']
end
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
+ if attributes.key?(:'application_id')
+ self.application_id = attributes[:'application_id']
end
- if attributes.key?(:'brand_id')
- self.brand_id = attributes[:'brand_id']
- end
-
- if attributes.key?(:'campaign_id')
- self.campaign_id = attributes[:'campaign_id']
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
end
- if attributes.key?(:'segment_count')
- self.segment_count = attributes[:'segment_count']
+ if attributes.key?(:'phone_number_id')
+ self.phone_number_id = attributes[:'phone_number_id']
end
- if attributes.key?(:'media_urls')
- if (value = attributes[:'media_urls']).is_a?(Array)
- self.media_urls = value
- end
+ if attributes.key?(:'uri')
+ self.uri = attributes[:'uri']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -186,7 +173,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @account_id.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -198,18 +185,16 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
+ request_type == o.request_type &&
account_id == o.account_id &&
- message_id == o.message_id &&
- status == o.status &&
from == o.from &&
to == o.to &&
text == o.text &&
direction == o.direction &&
- notification_url == o.notification_url &&
- brand_id == o.brand_id &&
- campaign_id == o.campaign_id &&
- segment_count == o.segment_count &&
- media_urls == o.media_urls
+ application_id == o.application_id &&
+ status == o.status &&
+ phone_number_id == o.phone_number_id &&
+ uri == o.uri && super(o)
end
# @see the `==` method
@@ -221,7 +206,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [account_id, message_id, status, from, to, text, direction, notification_url, brand_id, campaign_id, segment_count, media_urls].hash
+ [request_type, account_id, from, to, text, direction, application_id, status, phone_number_id, uri].hash
end
# Builds the object from hash
@@ -236,6 +221,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -311,7 +297,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -341,7 +327,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/message_direction.rb b/lib/freeclimb/models/message_direction.rb
index 2adbd1f3..d12daa57 100644
--- a/lib/freeclimb/models/message_direction.rb
+++ b/lib/freeclimb/models/message_direction.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/message_request.rb b/lib/freeclimb/models/message_request.rb
index 6d3f8f48..df815d10 100644
--- a/lib/freeclimb/models/message_request.rb
+++ b/lib/freeclimb/models/message_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -87,7 +87,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'MessageRequestAllOf',
:'MutableResourceModel'
]
end
@@ -321,7 +320,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/message_request_all_of.rb b/lib/freeclimb/models/message_request_all_of.rb
deleted file mode 100644
index d2db181a..00000000
--- a/lib/freeclimb/models/message_request_all_of.rb
+++ /dev/null
@@ -1,279 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class MessageRequestAllOf
- # Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb.
- attr_accessor :from
-
- # Phone number to receive the message. Must be within FreeClimb's service area.
- attr_accessor :to
-
- # Text contained in the message (maximum 160 characters). **Note:** For text, only ASCII characters are supported.
- attr_accessor :text
-
- # When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. **Note:** This is a notification only; any PerCL returned is ignored.
- attr_accessor :notification_url
-
- # an array of HTTP URLs which are to be used as attachments to the message. This will force the message into being an MMS message and must be done using a from number which is MMS capabile.
- attr_accessor :media_urls
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'from' => :'from',
- :'to' => :'to',
- :'text' => :'text',
- :'notification_url' => :'notificationUrl',
- :'media_urls' => :'mediaUrls'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'from' => :'String',
- :'to' => :'String',
- :'text' => :'String',
- :'notification_url' => :'String',
- :'media_urls' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'media_urls'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MessageRequestAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MessageRequestAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'from')
- self.from = attributes[:'from']
- end
-
- if attributes.key?(:'to')
- self.to = attributes[:'to']
- end
-
- if attributes.key?(:'text')
- self.text = attributes[:'text']
- end
-
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
- end
-
- if attributes.key?(:'media_urls')
- if (value = attributes[:'media_urls']).is_a?(Array)
- self.media_urls = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @from.nil?
- invalid_properties.push('invalid value for "from", from cannot be nil.')
- end
-
- if @to.nil?
- invalid_properties.push('invalid value for "to", to cannot be nil.')
- end
-
- if @text.nil?
- invalid_properties.push('invalid value for "text", text cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @from.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- from == o.from &&
- to == o.to &&
- text == o.text &&
- notification_url == o.notification_url &&
- media_urls == o.media_urls
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [from, to, text, notification_url, media_urls].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/message_result.rb b/lib/freeclimb/models/message_result.rb
index 062e2780..07d0a8b7 100644
--- a/lib/freeclimb/models/message_result.rb
+++ b/lib/freeclimb/models/message_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -62,6 +62,28 @@ class MessageResult
# an array of HTTP URLs which were attached this this message
attr_accessor :media_urls
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -132,7 +154,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'MessageResultAllOf',
:'MutableResourceModel'
]
end
@@ -389,7 +410,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/message_status.rb b/lib/freeclimb/models/message_status.rb
index 9129de6f..f389c9f8 100644
--- a/lib/freeclimb/models/message_status.rb
+++ b/lib/freeclimb/models/message_status.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/incoming_number_result_all_of.rb b/lib/freeclimb/models/message_status_webhook.rb
similarity index 62%
rename from lib/freeclimb/models/incoming_number_result_all_of.rb
rename to lib/freeclimb/models/message_status_webhook.rb
index 936bae71..461e757a 100644
--- a/lib/freeclimb/models/incoming_number_result_all_of.rb
+++ b/lib/freeclimb/models/message_status_webhook.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -14,176 +14,189 @@
require 'time'
module Freeclimb
- class IncomingNumberResultAllOf
- attr_accessor :capabilities
+ # An outbound SMS has changed status and the notificationUrl from the Sms command or Send an SMS request is being invoked. A PerCL response will be ignored.
+ class MessageStatusWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ MessageStatusWebhook.new(hash)
+ end
+ # Value will be messageStatus - An outbound SMS has changed status and the Sms command's notificationUrl is being invoked.
+ attr_accessor :request_type
- # The campaign ID generated by the campaign registry
- attr_accessor :campaign_id
+ # Account ID associated with your account.
+ attr_accessor :account_id
- # String that uniquely identifies this phone number resource.
- attr_accessor :phone_number_id
+ # Unique ID for this message, generated by FreeClimb.
+ attr_accessor :message_id
- # ID of the account that owns this phone number.
- attr_accessor :account_id
+ # Unique ID for the Call in the context of which the Sms PerCL command was issued.
+ attr_accessor :call_id
- # ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
- attr_accessor :application_id
+ # aPhone number used to initiate the SMS message (in E.164 format).
+ attr_accessor :from
- # Phone number in E.164 format.
- attr_accessor :phone_number
+ # Destination number of the SMS message (in E.164 format).
+ attr_accessor :to
- # Description for this phone number. Typically the conventionally-formatted version of the phone number.
- attr_accessor :_alias
+ # Body of the SMS message.
+ attr_accessor :text
- # State or province of this phone number.
- attr_accessor :region
+ # Value will be outbound to indicate an outgoing SMS from FreeClimb.
+ attr_accessor :direction
- # Country of this phone number.
- attr_accessor :country
+ # ID of the application to which the destination number is assigned. May be null if the originating number is invalid in some way or is not registered to an application.
+ attr_accessor :application_id
- # Indicates whether the phone number can handle Calls. Typically set to true for all numbers.
- attr_accessor :voice_enabled
+ attr_accessor :status
- # Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.
- attr_accessor :sms_enabled
+ # ID of the destination phone number.
+ attr_accessor :phone_number_id
- # The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests to the IncomingPhone number resource.
- attr_accessor :offnet
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
- attr_accessor :tfn
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
- :'capabilities' => :'capabilities',
- :'campaign_id' => :'campaignId',
- :'phone_number_id' => :'phoneNumberId',
+ :'request_type' => :'requestType',
:'account_id' => :'accountId',
+ :'message_id' => :'messageId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'text' => :'text',
+ :'direction' => :'direction',
:'application_id' => :'applicationId',
- :'phone_number' => :'phoneNumber',
- :'_alias' => :'alias',
- :'region' => :'region',
- :'country' => :'country',
- :'voice_enabled' => :'voiceEnabled',
- :'sms_enabled' => :'smsEnabled',
- :'offnet' => :'offnet',
- :'tfn' => :'tfn'
+ :'status' => :'status',
+ :'phone_number_id' => :'phoneNumberId'
}
end
- # Returns all the JSON keys this model knows about
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
def self.acceptable_attributes
- attribute_map.values
+ attribute_map.values.concat(superclass.acceptable_attributes)
end
# Attribute type mapping.
def self.openapi_types
{
- :'capabilities' => :'Capabilities',
- :'campaign_id' => :'String',
- :'phone_number_id' => :'String',
+ :'request_type' => :'String',
:'account_id' => :'String',
+ :'message_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'text' => :'String',
+ :'direction' => :'String',
:'application_id' => :'String',
- :'phone_number' => :'String',
- :'_alias' => :'String',
- :'region' => :'String',
- :'country' => :'String',
- :'voice_enabled' => :'Boolean',
- :'sms_enabled' => :'Boolean',
- :'offnet' => :'Boolean',
- :'tfn' => :'TFN'
+ :'status' => :'MessageStatus',
+ :'phone_number_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
- :'campaign_id',
- :'phone_number_id',
- :'account_id',
- :'application_id',
- :'phone_number',
- :'_alias',
- :'region',
- :'country',
- :'voice_enabled',
- :'sms_enabled',
- :'offnet',
+ :'status',
])
end
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::IncomingNumberResultAllOf` initialize method"
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MessageStatusWebhook` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::IncomingNumberResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MessageStatusWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
- if attributes.key?(:'capabilities')
- self.capabilities = attributes[:'capabilities']
- end
+ # call parent's initialize
+ super(attributes)
- if attributes.key?(:'campaign_id')
- self.campaign_id = attributes[:'campaign_id']
- end
-
- if attributes.key?(:'phone_number_id')
- self.phone_number_id = attributes[:'phone_number_id']
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
end
if attributes.key?(:'account_id')
self.account_id = attributes[:'account_id']
end
- if attributes.key?(:'application_id')
- self.application_id = attributes[:'application_id']
+ if attributes.key?(:'message_id')
+ self.message_id = attributes[:'message_id']
end
- if attributes.key?(:'phone_number')
- self.phone_number = attributes[:'phone_number']
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
end
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
end
- if attributes.key?(:'region')
- self.region = attributes[:'region']
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
end
- if attributes.key?(:'country')
- self.country = attributes[:'country']
+ if attributes.key?(:'text')
+ self.text = attributes[:'text']
end
- if attributes.key?(:'voice_enabled')
- self.voice_enabled = attributes[:'voice_enabled']
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
end
- if attributes.key?(:'sms_enabled')
- self.sms_enabled = attributes[:'sms_enabled']
+ if attributes.key?(:'application_id')
+ self.application_id = attributes[:'application_id']
end
- if attributes.key?(:'offnet')
- self.offnet = attributes[:'offnet']
+ if attributes.key?(:'status')
+ self.status = attributes[:'status']
end
- if attributes.key?(:'tfn')
- self.tfn = attributes[:'tfn']
+ if attributes.key?(:'phone_number_id')
+ self.phone_number_id = attributes[:'phone_number_id']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
- invalid_properties = Array.new
+ invalid_properties = super
invalid_properties
end
@@ -191,7 +204,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
- if @capabilities.nil?
+ if @request_type.nil?
false
else
list_invalid_properties.length() == 0
@@ -203,19 +216,17 @@ def valid?
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
- capabilities == o.capabilities &&
- campaign_id == o.campaign_id &&
- phone_number_id == o.phone_number_id &&
+ request_type == o.request_type &&
account_id == o.account_id &&
+ message_id == o.message_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ text == o.text &&
+ direction == o.direction &&
application_id == o.application_id &&
- phone_number == o.phone_number &&
- _alias == o._alias &&
- region == o.region &&
- country == o.country &&
- voice_enabled == o.voice_enabled &&
- sms_enabled == o.sms_enabled &&
- offnet == o.offnet &&
- tfn == o.tfn
+ status == o.status &&
+ phone_number_id == o.phone_number_id && super(o)
end
# @see the `==` method
@@ -227,7 +238,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [capabilities, campaign_id, phone_number_id, account_id, application_id, phone_number, _alias, region, country, voice_enabled, sms_enabled, offnet, tfn].hash
+ [request_type, account_id, message_id, call_id, from, to, text, direction, application_id, status, phone_number_id].hash
end
# Builds the object from hash
@@ -242,6 +253,7 @@ def self.build_from_hash(attributes)
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
+ super(attributes)
self.class.openapi_types.each_pair do |key, type|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
self.send("#{key}=", nil)
@@ -317,7 +329,7 @@ def to_body
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
- hash = {}
+ hash = super
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
@@ -347,7 +359,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/messages_list.rb b/lib/freeclimb/models/messages_list.rb
index d842ce47..67402a21 100644
--- a/lib/freeclimb/models/messages_list.rb
+++ b/lib/freeclimb/models/messages_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -89,7 +89,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'MessagesListAllOf',
:'PaginationModel'
]
end
@@ -306,7 +305,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/messages_list_all_of.rb b/lib/freeclimb/models/messages_list_all_of.rb
deleted file mode 100644
index 8ebeb875..00000000
--- a/lib/freeclimb/models/messages_list_all_of.rb
+++ /dev/null
@@ -1,227 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class MessagesListAllOf
- # Array of messages
- attr_accessor :messages
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'messages' => :'messages'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'messages' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'messages'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::MessagesListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::MessagesListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'messages')
- if (value = attributes[:'messages']).is_a?(Array)
- self.messages = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @messages.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- messages == o.messages
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [messages].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/mutable_resource_model.rb b/lib/freeclimb/models/mutable_resource_model.rb
index 356cfa1a..d6bde92f 100644
--- a/lib/freeclimb/models/mutable_resource_model.rb
+++ b/lib/freeclimb/models/mutable_resource_model.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -248,7 +248,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/out_dial.rb b/lib/freeclimb/models/out_dial.rb
index 59d4cd0b..dc99e2c3 100644
--- a/lib/freeclimb/models/out_dial.rb
+++ b/lib/freeclimb/models/out_dial.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -45,6 +45,28 @@ class OutDial < PerclCommand
# Parameter `privacyMode` will not log the `text` as required by PCI compliance.
attr_accessor :privacy_mode
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@@ -91,7 +113,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'OutDialAllOf',
:'PerclCommand'
]
end
@@ -337,7 +358,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/out_dial_all_of.rb b/lib/freeclimb/models/out_dial_all_of.rb
deleted file mode 100644
index ab2fae7c..00000000
--- a/lib/freeclimb/models/out_dial_all_of.rb
+++ /dev/null
@@ -1,329 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class OutDialAllOf
- # URL to which FreeClimb sends an HTTP POST request.
- attr_accessor :action_url
-
- # URL to which FreeClimb makes an HTTP POST request informing the result of the OutDial.
- attr_accessor :call_connect_url
-
- # he caller ID to show to the called party when FreeClimb calls. This can be one of the following: The To or From number provided in the first Webhook to your webserver. Any phone number you have purchased from FreeClimb.
- attr_accessor :calling_number
-
- # E.164 representation of the phone number to Call.
- attr_accessor :destination
-
- attr_accessor :if_machine
-
- # When the `ifMachine` flag is set to `redirect`, this attribute specifies a URL to which FreeClimb makes a POST request when an answering machine or a fax machine is detected. This URL is required if the `ifMachine` flag is set to `redirect`. Otherwise, it should not be included.
- attr_accessor :if_machine_url
-
- # DTMF tones to play to the outdialed Call. This is typically used to dial a number and then dial an extension.
- attr_accessor :send_digits
-
- # When the outdialed Call leg terminates, FreeClimb sends a `callStatus` Webhook to the `statusCallbackUrl`. This is a notification only; any PerCL command returned is ignored.
- attr_accessor :status_callback_url
-
- # Maximum time in seconds the `OutDial` command waits for the called party to answer the Call. When a timeout occurs, FreeClimb invokes the `callConnectUrl` Webhook to report that the out-dialed Call has ended with a status of `noAnswer`.
- attr_accessor :timeout
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'call_connect_url' => :'callConnectUrl',
- :'calling_number' => :'callingNumber',
- :'destination' => :'destination',
- :'if_machine' => :'ifMachine',
- :'if_machine_url' => :'ifMachineUrl',
- :'send_digits' => :'sendDigits',
- :'status_callback_url' => :'statusCallbackUrl',
- :'timeout' => :'timeout',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'call_connect_url' => :'String',
- :'calling_number' => :'String',
- :'destination' => :'String',
- :'if_machine' => :'IfMachine',
- :'if_machine_url' => :'String',
- :'send_digits' => :'String',
- :'status_callback_url' => :'String',
- :'timeout' => :'Integer',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::OutDialAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::OutDialAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'call_connect_url')
- self.call_connect_url = attributes[:'call_connect_url']
- end
-
- if attributes.key?(:'calling_number')
- self.calling_number = attributes[:'calling_number']
- end
-
- if attributes.key?(:'destination')
- self.destination = attributes[:'destination']
- end
-
- if attributes.key?(:'if_machine')
- self.if_machine = attributes[:'if_machine']
- end
-
- if attributes.key?(:'if_machine_url')
- self.if_machine_url = attributes[:'if_machine_url']
- end
-
- if attributes.key?(:'send_digits')
- self.send_digits = attributes[:'send_digits']
- end
-
- if attributes.key?(:'status_callback_url')
- self.status_callback_url = attributes[:'status_callback_url']
- end
-
- if attributes.key?(:'timeout')
- self.timeout = attributes[:'timeout']
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- if @call_connect_url.nil?
- invalid_properties.push('invalid value for "call_connect_url", call_connect_url cannot be nil.')
- end
-
- if @calling_number.nil?
- invalid_properties.push('invalid value for "calling_number", calling_number cannot be nil.')
- end
-
- if @destination.nil?
- invalid_properties.push('invalid value for "destination", destination cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- call_connect_url == o.call_connect_url &&
- calling_number == o.calling_number &&
- destination == o.destination &&
- if_machine == o.if_machine &&
- if_machine_url == o.if_machine_url &&
- send_digits == o.send_digits &&
- status_callback_url == o.status_callback_url &&
- timeout == o.timeout &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, call_connect_url, calling_number, destination, if_machine, if_machine_url, send_digits, status_callback_url, timeout, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/out_dial_api_connect_webhook.rb b/lib/freeclimb/models/out_dial_api_connect_webhook.rb
new file mode 100644
index 00000000..c09c25ac
--- /dev/null
+++ b/lib/freeclimb/models/out_dial_api_connect_webhook.rb
@@ -0,0 +1,355 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # An outbound call initiated by the REST API has connected and the callConnectUrl specified in the API request is being invoked. A PerCL response is expected if the call was successfully connected (with status of inProgress).
+ class OutDialApiConnectWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ OutDialApiConnectWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be outDialApiConnect - An outbound call spawned by the REST API has connected and the callConnectUrl specified in the API request is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number or SIP URL of the party that is receiving the call (phone number in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # ID of the Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::OutDialApiConnectWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::OutDialApiConnectWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/out_dial_connect_webhook.rb b/lib/freeclimb/models/out_dial_connect_webhook.rb
new file mode 100644
index 00000000..36e94e48
--- /dev/null
+++ b/lib/freeclimb/models/out_dial_connect_webhook.rb
@@ -0,0 +1,355 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A Call generated by OutDial has connected and the callConnectUrl is being invoked. This request is made in the context of the Call leg that was generated using OutDial and not the parent (the OutDialStart webhook is invoked on the parent call to continue that call context). A PerCL response is expected if the call was successfully connected (as indicated by status of inProgress) and begins the execution context for this (child) call.
+ class OutDialConnectWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ OutDialConnectWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be outDialConnect - A Call generated by OutDial has connected and the callConnectUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number or SIP URL of the party that is receiving the call (phone number in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # ID of the Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::OutDialConnectWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::OutDialConnectWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/out_dial_start_webhook.rb b/lib/freeclimb/models/out_dial_start_webhook.rb
new file mode 100644
index 00000000..b935a03d
--- /dev/null
+++ b/lib/freeclimb/models/out_dial_start_webhook.rb
@@ -0,0 +1,366 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The OutDial command has started and the actionUrl is being invoked. This request is made in the context of the parent call (Call leg that invoked). A PerCL response is expected.
+ class OutDialStartWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ OutDialStartWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be outDialStart - The OutDial command has started and the actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to the customer and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # ID of the child call that was generated as a result of the Outdial.
+ attr_accessor :dial_call_id
+
+ # ID of the Call that created this leg (child call). If this was an inbound call or call created via REST API with no parent, this field will be null.
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'dial_call_id' => :'dialCallId',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'dial_call_id' => :'String',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ :'parent_call_id'
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::OutDialStartWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::OutDialStartWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'dial_call_id')
+ self.dial_call_id = attributes[:'dial_call_id']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ dial_call_id == o.dial_call_id &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, dial_call_id, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/pagination_model.rb b/lib/freeclimb/models/pagination_model.rb
index 846c132d..49e86a84 100644
--- a/lib/freeclimb/models/pagination_model.rb
+++ b/lib/freeclimb/models/pagination_model.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -285,7 +285,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/park.rb b/lib/freeclimb/models/park.rb
index 43b310bb..8120fcd0 100644
--- a/lib/freeclimb/models/park.rb
+++ b/lib/freeclimb/models/park.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -57,7 +57,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'ParkAllOf',
:'PerclCommand'
]
end
@@ -260,7 +259,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/park_all_of.rb b/lib/freeclimb/models/park_all_of.rb
deleted file mode 100644
index 4e9afe2f..00000000
--- a/lib/freeclimb/models/park_all_of.rb
+++ /dev/null
@@ -1,252 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class ParkAllOf
- # Specifies a URL pointing to a PerCL script containing actions to be executed while the caller is Parked. Once the script returned by the waitUrl runs out of commands to execute, FreeClimb will re-request the waitUrl and start over, essentially looping the script requests indefinitely.
- attr_accessor :wait_url
-
- # A request is made to this URL when the Call is resumed, which can occur if the Call is resumed via the Unpark command, the REST API (POST to Call resource), or the caller hangs up. The PerCL script returned in response to the actionUrl will be executed on the resumed call.
- attr_accessor :action_url
-
- # URL to be invoked when the Call is parked. The request to the URL contains the standard request parameters.
- attr_accessor :notification_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'wait_url' => :'waitUrl',
- :'action_url' => :'actionUrl',
- :'notification_url' => :'notificationUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'wait_url' => :'String',
- :'action_url' => :'String',
- :'notification_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ParkAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ParkAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'wait_url')
- self.wait_url = attributes[:'wait_url']
- end
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @wait_url.nil?
- invalid_properties.push('invalid value for "wait_url", wait_url cannot be nil.')
- end
-
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @wait_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- wait_url == o.wait_url &&
- action_url == o.action_url &&
- notification_url == o.notification_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [wait_url, action_url, notification_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/pause.rb b/lib/freeclimb/models/pause.rb
index fd09d944..21ea880a 100644
--- a/lib/freeclimb/models/pause.rb
+++ b/lib/freeclimb/models/pause.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,7 +47,6 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PauseAllOf',
:'PerclCommand'
]
end
@@ -236,7 +235,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/pause_all_of.rb b/lib/freeclimb/models/pause_all_of.rb
deleted file mode 100644
index a840e8b3..00000000
--- a/lib/freeclimb/models/pause_all_of.rb
+++ /dev/null
@@ -1,228 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class PauseAllOf
- # Length in milliseconds. FreeClimb will wait silently before continuing on.
- attr_accessor :length
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'length' => :'length'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'length' => :'Integer'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::PauseAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::PauseAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'length')
- self.length = attributes[:'length']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @length.nil?
- invalid_properties.push('invalid value for "length", length cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @length.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- length == o.length
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [length].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/percl_command.rb b/lib/freeclimb/models/percl_command.rb
index da72d63e..b8770da3 100644
--- a/lib/freeclimb/models/percl_command.rb
+++ b/lib/freeclimb/models/percl_command.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -224,7 +224,7 @@ def _to_hash(value)
value
end
end
- def to_percl_hash()
+ def to_percl_hash
command = self.command
attributes = self.class.attribute_map
percl_hash = attributes.each_with_object({}) do |(attr, percl_attr), hash|
@@ -239,9 +239,7 @@ def to_percl_hash()
end
result = {}
result[command] = percl_hash
- return result
+ result
end
-
end
-
end
diff --git a/lib/freeclimb/models/percl_script.rb b/lib/freeclimb/models/percl_script.rb
index 3d72ca35..b2dd1a2c 100644
--- a/lib/freeclimb/models/percl_script.rb
+++ b/lib/freeclimb/models/percl_script.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -221,11 +221,9 @@ def _to_hash(value)
value
end
end
- def to_json()
+ def to_json
commands = self.commands.map { |command| command.to_percl_hash }
commands.to_json
end
-
end
-
end
diff --git a/lib/freeclimb/models/play.rb b/lib/freeclimb/models/play.rb
index e7eee9a2..99e27576 100644
--- a/lib/freeclimb/models/play.rb
+++ b/lib/freeclimb/models/play.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -57,8 +57,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'PlayAllOf'
+ :'PerclCommand'
]
end
@@ -256,7 +255,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/play_all_of.rb b/lib/freeclimb/models/play_all_of.rb
deleted file mode 100644
index 0465adc4..00000000
--- a/lib/freeclimb/models/play_all_of.rb
+++ /dev/null
@@ -1,248 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class PlayAllOf
- # RL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands.
- attr_accessor :file
-
- # Number of times the audio file is played. Specifying '0' causes the Play action to loop until the Call is hung up.
- attr_accessor :loop
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'file' => :'file',
- :'loop' => :'loop',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'file' => :'String',
- :'loop' => :'Integer',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::PlayAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::PlayAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'file')
- self.file = attributes[:'file']
- end
-
- if attributes.key?(:'loop')
- self.loop = attributes[:'loop']
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @file.nil?
- invalid_properties.push('invalid value for "file", file cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @file.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- file == o.file &&
- loop == o.loop &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [file, loop, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/play_beep.rb b/lib/freeclimb/models/play_beep.rb
index 475ec533..5c85c7ba 100644
--- a/lib/freeclimb/models/play_beep.rb
+++ b/lib/freeclimb/models/play_beep.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/play_early_media.rb b/lib/freeclimb/models/play_early_media.rb
index f49f1854..cce0fa8b 100644
--- a/lib/freeclimb/models/play_early_media.rb
+++ b/lib/freeclimb/models/play_early_media.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'PlayEarlyMediaAllOf'
+ :'PerclCommand'
]
end
@@ -236,7 +235,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/play_early_media_all_of.rb b/lib/freeclimb/models/play_early_media_all_of.rb
deleted file mode 100644
index 1ccb5981..00000000
--- a/lib/freeclimb/models/play_early_media_all_of.rb
+++ /dev/null
@@ -1,228 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class PlayEarlyMediaAllOf
- # RL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands or any accessible URL. FreeClimb will respect Cache-Control headers for this file. Use these to limit repeated requests for unchanged audio. If no Cache-Control header is provided, the file will be cached for seven days by default.
- attr_accessor :file
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'file' => :'file'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'file' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::PlayEarlyMediaAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::PlayEarlyMediaAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'file')
- self.file = attributes[:'file']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @file.nil?
- invalid_properties.push('invalid value for "file", file cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @file.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- file == o.file
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [file].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/queue_list.rb b/lib/freeclimb/models/queue_list.rb
index 864af1e4..69487b8d 100644
--- a/lib/freeclimb/models/queue_list.rb
+++ b/lib/freeclimb/models/queue_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'QueueListAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/queue_list_all_of.rb b/lib/freeclimb/models/queue_list_all_of.rb
deleted file mode 100644
index d901fd8c..00000000
--- a/lib/freeclimb/models/queue_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class QueueListAllOf
- attr_accessor :queues
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'queues' => :'queues'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'queues' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'queues'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::QueueListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::QueueListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'queues')
- if (value = attributes[:'queues']).is_a?(Array)
- self.queues = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @queues.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- queues == o.queues
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [queues].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/queue_member.rb b/lib/freeclimb/models/queue_member.rb
index f6c8319e..74d35ee2 100644
--- a/lib/freeclimb/models/queue_member.rb
+++ b/lib/freeclimb/models/queue_member.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -263,7 +263,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/queue_member_list.rb b/lib/freeclimb/models/queue_member_list.rb
index 13dd8320..9c3d7648 100644
--- a/lib/freeclimb/models/queue_member_list.rb
+++ b/lib/freeclimb/models/queue_member_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'QueueMemberListAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/queue_member_list_all_of.rb b/lib/freeclimb/models/queue_member_list_all_of.rb
deleted file mode 100644
index c3d7c319..00000000
--- a/lib/freeclimb/models/queue_member_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class QueueMemberListAllOf
- attr_accessor :queue_members
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'queue_members' => :'queueMembers'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'queue_members' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'queue_members'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::QueueMemberListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::QueueMemberListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'queue_members')
- if (value = attributes[:'queue_members']).is_a?(Array)
- self.queue_members = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @queue_members.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- queue_members == o.queue_members
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [queue_members].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/queue_request.rb b/lib/freeclimb/models/queue_request.rb
index 60b4e3bc..02c3ed5d 100644
--- a/lib/freeclimb/models/queue_request.rb
+++ b/lib/freeclimb/models/queue_request.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -230,7 +230,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/queue_result.rb b/lib/freeclimb/models/queue_result.rb
index eb5e0428..9f88d627 100644
--- a/lib/freeclimb/models/queue_result.rb
+++ b/lib/freeclimb/models/queue_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -103,8 +103,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'MutableResourceModel',
- :'QueueResultAllOf'
+ :'MutableResourceModel'
]
end
@@ -333,7 +332,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/queue_result_all_of.rb b/lib/freeclimb/models/queue_result_all_of.rb
deleted file mode 100644
index 78f80be5..00000000
--- a/lib/freeclimb/models/queue_result_all_of.rb
+++ /dev/null
@@ -1,291 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class QueueResultAllOf
- # ID of the account that created this Queue.
- attr_accessor :account_id
-
- # A string that uniquely identifies this Queue resource.
- attr_accessor :queue_id
-
- # A description for this Queue.
- attr_accessor :_alias
-
- # The maximum number of Calls permitted in the Queue. Default is 100. Maximum is 1000.
- attr_accessor :max_size
-
- # Count of Calls currently in the Queue.
- attr_accessor :current_size
-
- # The average amount of time (in seconds) for a call to be removed from the queue.
- attr_accessor :average_queue_removal_time
-
- # List of subresources for this Queue (which includes Queue members).
- attr_accessor :subresource_uris
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'account_id' => :'accountId',
- :'queue_id' => :'queueId',
- :'_alias' => :'alias',
- :'max_size' => :'maxSize',
- :'current_size' => :'currentSize',
- :'average_queue_removal_time' => :'averageQueueRemovalTime',
- :'subresource_uris' => :'subresourceUris'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'account_id' => :'String',
- :'queue_id' => :'String',
- :'_alias' => :'String',
- :'max_size' => :'Integer',
- :'current_size' => :'Integer',
- :'average_queue_removal_time' => :'Integer',
- :'subresource_uris' => :'Object'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'account_id',
- :'queue_id',
- :'_alias',
- :'max_size',
- :'current_size',
- :'average_queue_removal_time',
- :'subresource_uris'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::QueueResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::QueueResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'account_id')
- self.account_id = attributes[:'account_id']
- end
-
- if attributes.key?(:'queue_id')
- self.queue_id = attributes[:'queue_id']
- end
-
- if attributes.key?(:'_alias')
- self._alias = attributes[:'_alias']
- end
-
- if attributes.key?(:'max_size')
- self.max_size = attributes[:'max_size']
- end
-
- if attributes.key?(:'current_size')
- self.current_size = attributes[:'current_size']
- end
-
- if attributes.key?(:'average_queue_removal_time')
- self.average_queue_removal_time = attributes[:'average_queue_removal_time']
- end
-
- if attributes.key?(:'subresource_uris')
- self.subresource_uris = attributes[:'subresource_uris']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @account_id.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- account_id == o.account_id &&
- queue_id == o.queue_id &&
- _alias == o._alias &&
- max_size == o.max_size &&
- current_size == o.current_size &&
- average_queue_removal_time == o.average_queue_removal_time &&
- subresource_uris == o.subresource_uris
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [account_id, queue_id, _alias, max_size, current_size, average_queue_removal_time, subresource_uris].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/queue_result_status.rb b/lib/freeclimb/models/queue_result_status.rb
index f42f4204..613c2ca7 100644
--- a/lib/freeclimb/models/queue_result_status.rb
+++ b/lib/freeclimb/models/queue_result_status.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/queue_wait_webhook.rb b/lib/freeclimb/models/queue_wait_webhook.rb
new file mode 100644
index 00000000..726dd232
--- /dev/null
+++ b/lib/freeclimb/models/queue_wait_webhook.rb
@@ -0,0 +1,375 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A queued Call is requesting instructions to execute during the wait in the Queue and the corresponding waitUrl is being invoked. A PerCL response is expected. The following are the only PerCL commands supported in the PerCL script response to a request to the waitUrl: Play,Say,Pause,GetDigits,Dequeue,Hangup
+ class QueueWaitWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ QueueWaitWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be queueWait - A queued call is requesting instructions to execute during the wait in the queue and the corresponding waitUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to the customer and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # Current queue position of the enqueued Call.
+ attr_accessor :queue_position
+
+ # Time (in seconds) the Call spent in the Queue. This is only available if the Call was actually enqueued.
+ attr_accessor :queue_time
+
+ # Current number of enqueued Calls in this Queue.
+ attr_accessor :current_queue_size
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'queue_position' => :'queuePosition',
+ :'queue_time' => :'queueTime',
+ :'current_queue_size' => :'currentQueueSize'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'queue_position' => :'String',
+ :'queue_time' => :'Integer',
+ :'current_queue_size' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::QueueWaitWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::QueueWaitWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'queue_position')
+ self.queue_position = attributes[:'queue_position']
+ end
+
+ if attributes.key?(:'queue_time')
+ self.queue_time = attributes[:'queue_time']
+ end
+
+ if attributes.key?(:'current_queue_size')
+ self.current_queue_size = attributes[:'current_queue_size']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ queue_position == o.queue_position &&
+ queue_time == o.queue_time &&
+ current_queue_size == o.current_queue_size && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, queue_position, queue_time, current_queue_size].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/record_utterance.rb b/lib/freeclimb/models/record_utterance.rb
index 95889794..199dec74 100644
--- a/lib/freeclimb/models/record_utterance.rb
+++ b/lib/freeclimb/models/record_utterance.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -77,8 +77,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'RecordUtteranceAllOf'
+ :'PerclCommand'
]
end
@@ -296,7 +295,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/record_utterance_all_of.rb b/lib/freeclimb/models/record_utterance_all_of.rb
deleted file mode 100644
index a1dbcf0c..00000000
--- a/lib/freeclimb/models/record_utterance_all_of.rb
+++ /dev/null
@@ -1,288 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class RecordUtteranceAllOf
- # URL to which information on the completed recording is submitted. The PerCL received in response is then used to continue with Call processing.
- attr_accessor :action_url
-
- # Interval of silence that should elapse before ending the recording.
- attr_accessor :silence_timeout_ms
-
- # Key that triggers the end of the recording. any digit, '#', or '*'
- attr_accessor :finish_on_key
-
- # Maximum length for the command execution in seconds.
- attr_accessor :max_length_sec
-
- # Indicates whether to play a beep sound before the start of the recording. If set to `false`, no beep is played.
- attr_accessor :play_beep
-
- # If `false`, recording begins immediately after the RecordUtterance command is processed. If `true`, recording begins when audio is present and if audio begins before the `maxLengthSec` timeout. If no audio begins before `maxLengthSec`, no recording is generated.
- attr_accessor :auto_start
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl',
- :'silence_timeout_ms' => :'silenceTimeoutMs',
- :'finish_on_key' => :'finishOnKey',
- :'max_length_sec' => :'maxLengthSec',
- :'play_beep' => :'playBeep',
- :'auto_start' => :'autoStart',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String',
- :'silence_timeout_ms' => :'Integer',
- :'finish_on_key' => :'String',
- :'max_length_sec' => :'Integer',
- :'play_beep' => :'Boolean',
- :'auto_start' => :'Boolean',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RecordUtteranceAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RecordUtteranceAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
-
- if attributes.key?(:'silence_timeout_ms')
- self.silence_timeout_ms = attributes[:'silence_timeout_ms']
- end
-
- if attributes.key?(:'finish_on_key')
- self.finish_on_key = attributes[:'finish_on_key']
- end
-
- if attributes.key?(:'max_length_sec')
- self.max_length_sec = attributes[:'max_length_sec']
- end
-
- if attributes.key?(:'play_beep')
- self.play_beep = attributes[:'play_beep']
- end
-
- if attributes.key?(:'auto_start')
- self.auto_start = attributes[:'auto_start']
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url &&
- silence_timeout_ms == o.silence_timeout_ms &&
- finish_on_key == o.finish_on_key &&
- max_length_sec == o.max_length_sec &&
- play_beep == o.play_beep &&
- auto_start == o.auto_start &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url, silence_timeout_ms, finish_on_key, max_length_sec, play_beep, auto_start, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/record_utterance_term_reason.rb b/lib/freeclimb/models/record_utterance_term_reason.rb
index c40afe37..934d524b 100644
--- a/lib/freeclimb/models/record_utterance_term_reason.rb
+++ b/lib/freeclimb/models/record_utterance_term_reason.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/record_webhook.rb b/lib/freeclimb/models/record_webhook.rb
new file mode 100644
index 00000000..ba48684e
--- /dev/null
+++ b/lib/freeclimb/models/record_webhook.rb
@@ -0,0 +1,424 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The RecordUtterance command has completed and its actionUrl is being invoked.
+ class RecordWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ RecordWebhook.new(hash)
+ end
+ # The context or reason why this request is being made. Will be record - The RecordUtterance command has completed and its actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to the customer and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # ID of the recording.
+ attr_accessor :recording_id
+
+ # URL of the recorded audio file. This URL can be used as is in a Play command to play the recording (no authentication needed). It can also be used to download a recording file via the REST API.
+ attr_accessor :recording_url
+
+ # Size of the recording in bytes
+ attr_accessor :recording_size
+
+ # File type of the recording (audio/wav)
+ attr_accessor :recording_format
+
+ # Duration of the recorded audio rounded up to the nearest second (in seconds)
+ attr_accessor :recording_duration_sec
+
+ attr_accessor :term_reason
+
+ # ID of Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ # If true then it indicates the recording will only be available for download for two minutes prior to it being deleted. This is to minimize risk of anyone else getting access to the url and attempting to access it.
+ attr_accessor :privacy_mode
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'recording_id' => :'recordingId',
+ :'recording_url' => :'recordingUrl',
+ :'recording_size' => :'recordingSize',
+ :'recording_format' => :'recordingFormat',
+ :'recording_duration_sec' => :'recordingDurationSec',
+ :'term_reason' => :'termReason',
+ :'parent_call_id' => :'parentCallId',
+ :'privacy_mode' => :'privacyMode'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'recording_id' => :'String',
+ :'recording_url' => :'String',
+ :'recording_size' => :'String',
+ :'recording_format' => :'String',
+ :'recording_duration_sec' => :'Integer',
+ :'term_reason' => :'RecordUtteranceTermReason',
+ :'parent_call_id' => :'String',
+ :'privacy_mode' => :'Boolean'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RecordWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RecordWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'recording_id')
+ self.recording_id = attributes[:'recording_id']
+ end
+
+ if attributes.key?(:'recording_url')
+ self.recording_url = attributes[:'recording_url']
+ end
+
+ if attributes.key?(:'recording_size')
+ self.recording_size = attributes[:'recording_size']
+ end
+
+ if attributes.key?(:'recording_format')
+ self.recording_format = attributes[:'recording_format']
+ end
+
+ if attributes.key?(:'recording_duration_sec')
+ self.recording_duration_sec = attributes[:'recording_duration_sec']
+ end
+
+ if attributes.key?(:'term_reason')
+ self.term_reason = attributes[:'term_reason']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+
+ if attributes.key?(:'privacy_mode')
+ self.privacy_mode = attributes[:'privacy_mode']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ recording_id == o.recording_id &&
+ recording_url == o.recording_url &&
+ recording_size == o.recording_size &&
+ recording_format == o.recording_format &&
+ recording_duration_sec == o.recording_duration_sec &&
+ term_reason == o.term_reason &&
+ parent_call_id == o.parent_call_id &&
+ privacy_mode == o.privacy_mode && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, recording_id, recording_url, recording_size, recording_format, recording_duration_sec, term_reason, parent_call_id, privacy_mode].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/recording_list.rb b/lib/freeclimb/models/recording_list.rb
index 39e09a50..008ef5bc 100644
--- a/lib/freeclimb/models/recording_list.rb
+++ b/lib/freeclimb/models/recording_list.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'RecordingListAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/recording_list_all_of.rb b/lib/freeclimb/models/recording_list_all_of.rb
deleted file mode 100644
index d837a501..00000000
--- a/lib/freeclimb/models/recording_list_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class RecordingListAllOf
- attr_accessor :recordings
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'recordings' => :'recordings'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'recordings' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'recordings'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RecordingListAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RecordingListAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'recordings')
- if (value = attributes[:'recordings']).is_a?(Array)
- self.recordings = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @recordings.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- recordings == o.recordings
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [recordings].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/recording_result.rb b/lib/freeclimb/models/recording_result.rb
index 1c98149b..a9507ef6 100644
--- a/lib/freeclimb/models/recording_result.rb
+++ b/lib/freeclimb/models/recording_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -91,8 +91,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'MutableResourceModel',
- :'RecordingResultAllOf'
+ :'MutableResourceModel'
]
end
@@ -311,7 +310,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/redirect.rb b/lib/freeclimb/models/redirect.rb
index 5a14fa77..a452fd92 100644
--- a/lib/freeclimb/models/redirect.rb
+++ b/lib/freeclimb/models/redirect.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'RedirectAllOf'
+ :'PerclCommand'
]
end
@@ -236,7 +235,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/redirect_all_of.rb b/lib/freeclimb/models/redirect_all_of.rb
deleted file mode 100644
index 744960bd..00000000
--- a/lib/freeclimb/models/redirect_all_of.rb
+++ /dev/null
@@ -1,228 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class RedirectAllOf
- # URL to request a new PerCL script to continue with the current Call's processing. When `Redirect` invokes the `actionUrl`, an `inbound` Webhook is sent. This request therefore looks identical to the initial request (made to the `voiceUrl` of the number that was called) for an inbound Call.
- attr_accessor :action_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'action_url' => :'actionUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'action_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RedirectAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RedirectAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'action_url')
- self.action_url = attributes[:'action_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @action_url.nil?
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @action_url.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- action_url == o.action_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [action_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/redirect_webhook.rb b/lib/freeclimb/models/redirect_webhook.rb
new file mode 100644
index 00000000..97072103
--- /dev/null
+++ b/lib/freeclimb/models/redirect_webhook.rb
@@ -0,0 +1,355 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # The Redirect command is executing and its actionUrl is being invoked. A PerCL response is expected.
+ class RedirectWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ RedirectWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be redirect - The Redirect command is executing and its actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to the customer and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ # ID of Call that created this leg (child call).
+ attr_accessor :parent_call_id
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'parent_call_id' => :'parentCallId'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'parent_call_id' => :'String'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RedirectWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RedirectWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'parent_call_id')
+ self.parent_call_id = attributes[:'parent_call_id']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ parent_call_id == o.parent_call_id && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, parent_call_id].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/reject.rb b/lib/freeclimb/models/reject.rb
index 4dfff91c..2e7e5999 100644
--- a/lib/freeclimb/models/reject.rb
+++ b/lib/freeclimb/models/reject.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'RejectAllOf'
+ :'PerclCommand'
]
end
@@ -232,7 +231,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/reject_all_of.rb b/lib/freeclimb/models/reject_all_of.rb
deleted file mode 100644
index 5e4abf74..00000000
--- a/lib/freeclimb/models/reject_all_of.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class RejectAllOf
- # Reason for the rejection. This can be any string value. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the call flows for the given application.
- attr_accessor :reason
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'reason' => :'reason'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'reason' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RejectAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RejectAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'reason')
- self.reason = attributes[:'reason']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @reason.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- reason == o.reason
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [reason].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/remove_from_conference.rb b/lib/freeclimb/models/remove_from_conference.rb
index 0d474d80..74c172f0 100644
--- a/lib/freeclimb/models/remove_from_conference.rb
+++ b/lib/freeclimb/models/remove_from_conference.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -217,7 +217,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/remove_from_queue_notification_webhook.rb b/lib/freeclimb/models/remove_from_queue_notification_webhook.rb
new file mode 100644
index 00000000..9b9e3534
--- /dev/null
+++ b/lib/freeclimb/models/remove_from_queue_notification_webhook.rb
@@ -0,0 +1,364 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ # A call has been removed from a queue and the Enqueue command’s actionUrl is being invoked. A PerCL response is expected except if reason is hangup.
+ class RemoveFromQueueNotificationWebhook < Webhook
+ def self.deserialize(payload)
+ return nil if payload.nil? || payload.empty?
+ data = JSON.parse("[#{payload}]")[0]
+ inverted_attributes = self.attribute_map.invert
+ hash = self.acceptable_attributes.uniq.map { |k| [inverted_attributes[k], data[k.to_s]] }.to_h
+ RemoveFromQueueNotificationWebhook.new(hash)
+ end
+ # Context or reason why this request is being made. Will be removeFromQueueNotification - A Call has been removed from a Queue and the Enqueue command’s actionUrl is being invoked.
+ attr_accessor :request_type
+
+ # Account ID associated with your account.
+ attr_accessor :account_id
+
+ # Unique identifier for this Call, generated by FreeClimb
+ attr_accessor :call_id
+
+ # Phone number of the party that initiated the Call (in E.164 format).
+ attr_accessor :from
+
+ # Phone number provisioned to the customer and to which this Call is directed (in E.164 format).
+ attr_accessor :to
+
+ attr_accessor :call_status
+
+ attr_accessor :direction
+
+ # This is only populated if request pertains to a conference. Otherwise, it is set to null.
+ attr_accessor :conference_id
+
+ # This is only populated if the request pertains to a queue. Otherwise, it is set to null.
+ attr_accessor :queue_id
+
+ attr_accessor :queue_result
+
+ # Time (in seconds) the Call spent in the Queue. This is only available if the Call was actually enqueued.
+ attr_accessor :queue_time
+
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
+ # Attribute mapping from ruby-style variable name to JSON key.
+ def self.attribute_map
+ {
+ :'request_type' => :'requestType',
+ :'account_id' => :'accountId',
+ :'call_id' => :'callId',
+ :'from' => :'from',
+ :'to' => :'to',
+ :'call_status' => :'callStatus',
+ :'direction' => :'direction',
+ :'conference_id' => :'conferenceId',
+ :'queue_id' => :'queueId',
+ :'queue_result' => :'queueResult',
+ :'queue_time' => :'queueTime'
+ }
+ end
+
+ # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
+ def self.acceptable_attributes
+ attribute_map.values.concat(superclass.acceptable_attributes)
+ end
+
+ # Attribute type mapping.
+ def self.openapi_types
+ {
+ :'request_type' => :'String',
+ :'account_id' => :'String',
+ :'call_id' => :'String',
+ :'from' => :'String',
+ :'to' => :'String',
+ :'call_status' => :'CallStatus',
+ :'direction' => :'CallDirection',
+ :'conference_id' => :'String',
+ :'queue_id' => :'String',
+ :'queue_result' => :'QueueResultStatus',
+ :'queue_time' => :'Integer'
+ }
+ end
+
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'call_status',
+ :'direction',
+ :'conference_id',
+ :'queue_id',
+ ])
+ end
+
+ # List of class defined in allOf (OpenAPI v3)
+ def self.openapi_all_of
+ [
+ :'Webhook'
+ ]
+ end
+
+ # Initializes the object
+ # @param [Hash] attributes Model attributes in the form of hash
+ def initialize(attributes = {})
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::RemoveFromQueueNotificationWebhook` initialize method"
+ end
+
+ # check to see if the attribute exists and convert string to symbol for hash key
+ attributes = attributes.each_with_object({}) { |(k, v), h|
+ if (!self.class.attribute_map.key?(k.to_sym))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::RemoveFromQueueNotificationWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
+ end
+ h[k.to_sym] = v
+ }
+
+ # call parent's initialize
+ super(attributes)
+
+ if attributes.key?(:'request_type')
+ self.request_type = attributes[:'request_type']
+ end
+
+ if attributes.key?(:'account_id')
+ self.account_id = attributes[:'account_id']
+ end
+
+ if attributes.key?(:'call_id')
+ self.call_id = attributes[:'call_id']
+ end
+
+ if attributes.key?(:'from')
+ self.from = attributes[:'from']
+ end
+
+ if attributes.key?(:'to')
+ self.to = attributes[:'to']
+ end
+
+ if attributes.key?(:'call_status')
+ self.call_status = attributes[:'call_status']
+ end
+
+ if attributes.key?(:'direction')
+ self.direction = attributes[:'direction']
+ end
+
+ if attributes.key?(:'conference_id')
+ self.conference_id = attributes[:'conference_id']
+ end
+
+ if attributes.key?(:'queue_id')
+ self.queue_id = attributes[:'queue_id']
+ end
+
+ if attributes.key?(:'queue_result')
+ self.queue_result = attributes[:'queue_result']
+ end
+
+ if attributes.key?(:'queue_time')
+ self.queue_time = attributes[:'queue_time']
+ end
+ end
+
+ # Show invalid properties with the reasons. Usually used together with valid?
+ # @return Array for valid properties with the reasons
+ def list_invalid_properties
+ invalid_properties = super
+ invalid_properties
+ end
+
+ # Check to see if the all the properties in the model are valid
+ # @return true if the model is valid
+ def valid?
+
+ if @request_type.nil?
+ false
+ else
+ list_invalid_properties.length() == 0
+ end
+ end
+
+ # Checks equality by comparing each attribute.
+ # @param [Object] Object to be compared
+ def ==(o)
+ return true if self.equal?(o)
+ self.class == o.class &&
+ request_type == o.request_type &&
+ account_id == o.account_id &&
+ call_id == o.call_id &&
+ from == o.from &&
+ to == o.to &&
+ call_status == o.call_status &&
+ direction == o.direction &&
+ conference_id == o.conference_id &&
+ queue_id == o.queue_id &&
+ queue_result == o.queue_result &&
+ queue_time == o.queue_time && super(o)
+ end
+
+ # @see the `==` method
+ # @param [Object] Object to be compared
+ def eql?(o)
+ self == o
+ end
+
+ # Calculates hash code according to all attributes.
+ # @return [Integer] Hash code
+ def hash
+ [request_type, account_id, call_id, from, to, call_status, direction, conference_id, queue_id, queue_result, queue_time].hash
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def self.build_from_hash(attributes)
+ new.build_from_hash(attributes)
+ end
+
+ # Builds the object from hash
+ # @param [Hash] attributes Model attributes in the form of hash
+ # @return [Object] Returns the model itself
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ super(attributes)
+ self.class.openapi_types.each_pair do |key, type|
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
+ self.send("#{key}=", nil)
+ elsif type =~ /\AArray<(.*)>/i
+ # check to ensure the input is an array given that the attribute
+ # is documented as an array but the input is not
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ end
+ end
+
+ self
+ end
+
+ # Deserializes the data based on type
+ # @param string type Data type
+ # @param string value Value to be deserialized
+ # @return [Object] Deserialized data
+ def _deserialize(type, value)
+ case type.to_sym
+ when :Time
+ Time.parse(value)
+ when :Date
+ Date.parse(value)
+ when :String
+ value.to_s
+ when :Integer
+ value.to_i
+ when :Float
+ value.to_f
+ when :Boolean
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
+ true
+ else
+ false
+ end
+ when :Object
+ # generic object (usually a Hash), return directly
+ value
+ when /\AArray<(?.+)>\z/
+ inner_type = Regexp.last_match[:inner_type]
+ value.map { |v| _deserialize(inner_type, v) }
+ when /\AHash<(?.+?), (?.+)>\z/
+ k_type = Regexp.last_match[:k_type]
+ v_type = Regexp.last_match[:v_type]
+ {}.tap do |hash|
+ value.each do |k, v|
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
+ end
+ end
+ else # model
+ # models (e.g. Pet) or oneOf
+ klass = Freeclimb.const_get(type)
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ end
+ end
+
+ # Returns the string representation of the object
+ # @return [String] String presentation of the object
+ def to_s
+ to_hash.to_s
+ end
+
+ # to_body is an alias to to_hash (backward compatibility)
+ # @return [Hash] Returns the object in the form of hash
+ def to_body
+ to_hash
+ end
+
+ # Returns the object in the form of hash
+ # @return [Hash] Returns the object in the form of hash
+ def to_hash
+ hash = super
+ self.class.attribute_map.each_pair do |attr, param|
+ value = self.send(attr)
+ if value.nil?
+ is_nullable = self.class.openapi_nullable.include?(attr)
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
+ end
+
+ hash[param] = _to_hash(value)
+ end
+ hash
+ end
+
+ # Outputs non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ # @param [Object] value Any valid value
+ # @return [Hash] Returns the value in the form of hash
+ def _to_hash(value)
+ if value.is_a?(Array)
+ value.compact.map { |v| _to_hash(v) }
+ elsif value.is_a?(Hash)
+ {}.tap do |hash|
+ value.each { |k, v| hash[k] = _to_hash(v) }
+ end
+ elsif value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+ end
+end
diff --git a/lib/freeclimb/models/request_type.rb b/lib/freeclimb/models/request_type.rb
index 2a529eda..bcac768e 100644
--- a/lib/freeclimb/models/request_type.rb
+++ b/lib/freeclimb/models/request_type.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
diff --git a/lib/freeclimb/models/say.rb b/lib/freeclimb/models/say.rb
index ab56a3ec..4e5f7f1e 100644
--- a/lib/freeclimb/models/say.rb
+++ b/lib/freeclimb/models/say.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -62,8 +62,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SayAllOf'
+ :'PerclCommand'
]
end
@@ -268,7 +267,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/say_all_of.rb b/lib/freeclimb/models/say_all_of.rb
deleted file mode 100644
index b7f9d45f..00000000
--- a/lib/freeclimb/models/say_all_of.rb
+++ /dev/null
@@ -1,260 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SayAllOf
- # The message to be played to the caller using TTS. The size of the string is limited to 4 KB (or 4,096 bytes). An empty string will cause the command to be skipped.
- attr_accessor :text
-
- # Language and (by implication) the locale to use. This implies the accent and pronunciations to be usde for the TTS. The complete list of valid values for the language attribute is shown below.
- attr_accessor :language
-
- # Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up.
- attr_accessor :loop
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'text' => :'text',
- :'language' => :'language',
- :'loop' => :'loop',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'text' => :'String',
- :'language' => :'String',
- :'loop' => :'Integer',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SayAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SayAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'text')
- self.text = attributes[:'text']
- end
-
- if attributes.key?(:'language')
- self.language = attributes[:'language']
- end
-
- if attributes.key?(:'loop')
- self.loop = attributes[:'loop']
- else
- self.loop = 1
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @text.nil?
- invalid_properties.push('invalid value for "text", text cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @text.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- text == o.text &&
- language == o.language &&
- loop == o.loop &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [text, language, loop, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/send_digits.rb b/lib/freeclimb/models/send_digits.rb
index 024573ef..b0bffd31 100644
--- a/lib/freeclimb/models/send_digits.rb
+++ b/lib/freeclimb/models/send_digits.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -57,8 +57,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SendDigitsAllOf'
+ :'PerclCommand'
]
end
@@ -256,7 +255,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/send_digits_all_of.rb b/lib/freeclimb/models/send_digits_all_of.rb
deleted file mode 100644
index c6f1df8b..00000000
--- a/lib/freeclimb/models/send_digits_all_of.rb
+++ /dev/null
@@ -1,248 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SendDigitsAllOf
- # String containing the digits to be played. The string cannot be empty and can include any digit, plus `#`, or `*`, and allows embedding specification for delay or pause between the output of individual digits.
- attr_accessor :digits
-
- # Pause between digits in milliseconds. Valid values are 100-1000 milliseconds and will be adjusted by FreeClimb to satisfy the constraint.
- attr_accessor :pause_ms
-
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
- attr_accessor :privacy_mode
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'digits' => :'digits',
- :'pause_ms' => :'pauseMs',
- :'privacy_mode' => :'privacyMode'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'digits' => :'String',
- :'pause_ms' => :'Integer',
- :'privacy_mode' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SendDigitsAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SendDigitsAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'digits')
- self.digits = attributes[:'digits']
- end
-
- if attributes.key?(:'pause_ms')
- self.pause_ms = attributes[:'pause_ms']
- end
-
- if attributes.key?(:'privacy_mode')
- self.privacy_mode = attributes[:'privacy_mode']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @digits.nil?
- invalid_properties.push('invalid value for "digits", digits cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @digits.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- digits == o.digits &&
- pause_ms == o.pause_ms &&
- privacy_mode == o.privacy_mode
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [digits, pause_ms, privacy_mode].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/set_dtmf_pass_through.rb b/lib/freeclimb/models/set_dtmf_pass_through.rb
index 57548dc3..00f8cd53 100644
--- a/lib/freeclimb/models/set_dtmf_pass_through.rb
+++ b/lib/freeclimb/models/set_dtmf_pass_through.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SetDTMFPassThroughAllOf'
+ :'PerclCommand'
]
end
@@ -232,7 +231,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb b/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb
deleted file mode 100644
index 52a8606c..00000000
--- a/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SetDTMFPassThroughAllOf
- # Specifying `false` mutes the Participant's dtmf audio.
- attr_accessor :dtmf_pass_through
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'dtmf_pass_through' => :'dtmfPassThrough'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'dtmf_pass_through' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SetDTMFPassThroughAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SetDTMFPassThroughAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'dtmf_pass_through')
- self.dtmf_pass_through = attributes[:'dtmf_pass_through']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @dtmf_pass_through.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- dtmf_pass_through == o.dtmf_pass_through
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [dtmf_pass_through].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/set_listen.rb b/lib/freeclimb/models/set_listen.rb
index 4956795c..b4867e34 100644
--- a/lib/freeclimb/models/set_listen.rb
+++ b/lib/freeclimb/models/set_listen.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SetListenAllOf'
+ :'PerclCommand'
]
end
@@ -232,7 +231,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/set_listen_all_of.rb b/lib/freeclimb/models/set_listen_all_of.rb
deleted file mode 100644
index 6400d170..00000000
--- a/lib/freeclimb/models/set_listen_all_of.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SetListenAllOf
- # Specifying `false` will silence the Conference for this Participant.
- attr_accessor :listen
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'listen' => :'listen'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'listen' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SetListenAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SetListenAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'listen')
- self.listen = attributes[:'listen']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @listen.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- listen == o.listen
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [listen].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/set_talk.rb b/lib/freeclimb/models/set_talk.rb
index fb3bed19..0c7082f8 100644
--- a/lib/freeclimb/models/set_talk.rb
+++ b/lib/freeclimb/models/set_talk.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -47,8 +47,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SetTalkAllOf'
+ :'PerclCommand'
]
end
@@ -232,7 +231,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/set_talk_all_of.rb b/lib/freeclimb/models/set_talk_all_of.rb
deleted file mode 100644
index 61d2c551..00000000
--- a/lib/freeclimb/models/set_talk_all_of.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SetTalkAllOf
- # Specifying `false` mutes the Participant.
- attr_accessor :talk
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'talk' => :'talk'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'talk' => :'Boolean'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SetTalkAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SetTalkAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'talk')
- self.talk = attributes[:'talk']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @talk.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- talk == o.talk
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [talk].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/sms.rb b/lib/freeclimb/models/sms.rb
index 399b3c76..7c7a9b34 100644
--- a/lib/freeclimb/models/sms.rb
+++ b/lib/freeclimb/models/sms.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -62,8 +62,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PerclCommand',
- :'SmsAllOf'
+ :'PerclCommand'
]
end
@@ -274,7 +273,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_all_of.rb b/lib/freeclimb/models/sms_all_of.rb
deleted file mode 100644
index 13890cdb..00000000
--- a/lib/freeclimb/models/sms_all_of.rb
+++ /dev/null
@@ -1,266 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SmsAllOf
- # E.164 representation of the phone number to which the message will be sent. Must be within FreeClimb's service area and E.164 formatting (e.g., +18003608245).
- attr_accessor :to
-
- # E.164 representation of the phone number to use as the sender. This must be an incoming phone number you have purchased from FreeClimb.
- attr_accessor :from
-
- # Text contained in the message (maximum 160 characters).
- attr_accessor :text
-
- # When the message changes status, this URL will be invoked using HTTP POST with the messageStatus parameters. This is a notification only; any PerCL returned will be ignored.
- attr_accessor :notification_url
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'to' => :'to',
- :'from' => :'from',
- :'text' => :'text',
- :'notification_url' => :'notificationUrl'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'to' => :'String',
- :'from' => :'String',
- :'text' => :'String',
- :'notification_url' => :'String'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SmsAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SmsAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'to')
- self.to = attributes[:'to']
- end
-
- if attributes.key?(:'from')
- self.from = attributes[:'from']
- end
-
- if attributes.key?(:'text')
- self.text = attributes[:'text']
- end
-
- if attributes.key?(:'notification_url')
- self.notification_url = attributes[:'notification_url']
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- if @to.nil?
- invalid_properties.push('invalid value for "to", to cannot be nil.')
- end
-
- if @from.nil?
- invalid_properties.push('invalid value for "from", from cannot be nil.')
- end
-
- if @text.nil?
- invalid_properties.push('invalid value for "text", text cannot be nil.')
- end
-
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @to.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- to == o.to &&
- from == o.from &&
- text == o.text &&
- notification_url == o.notification_url
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [to, from, text, notification_url].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand.rb b/lib/freeclimb/models/sms_ten_dlc_brand.rb
index f45c4ce7..7e23a761 100644
--- a/lib/freeclimb/models/sms_ten_dlc_brand.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_brand.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -19,7 +19,6 @@ class SMSTenDLCBrand
# ID of the account that created this Queue.
attr_accessor :account_id
- # Entity type behind the brand. This is the form of business establishment.
attr_accessor :entity_type
# Unique identifier assigned to the csp by the registry.
@@ -70,7 +69,6 @@ class SMSTenDLCBrand
# (Required for public company) stock symbol.
attr_accessor :stock_symbol
- # (Required for public company) stock exchange.
attr_accessor :stock_exchange
# IP address of the browser requesting to create brand identity.
@@ -79,7 +77,6 @@ class SMSTenDLCBrand
# Brand website URL.
attr_accessor :website
- # Brand relationship to the CSP
attr_accessor :brand_relationship
# Vertical or industry segment of the brand.
@@ -88,7 +85,6 @@ class SMSTenDLCBrand
# Alternate business identifier such as DUNS, LEI, or GIIN
attr_accessor :alt_business_id
- # The type of the Alternative business identifier
attr_accessor :alt_business_id_type
# Universal EIN of Brand, Read Only.
@@ -103,7 +99,6 @@ class SMSTenDLCBrand
# Test brand.
attr_accessor :mock
- # TCR assessment of the brand identification status.
attr_accessor :identity_status
# Unix timestamp when brand was created.
@@ -177,7 +172,7 @@ def self.acceptable_attributes
def self.openapi_types
{
:'account_id' => :'String',
- :'entity_type' => :'String',
+ :'entity_type' => :'SMSTenDLCBrandEntityType',
:'csp_id' => :'String',
:'brand_id' => :'String',
:'first_name' => :'String',
@@ -194,18 +189,18 @@ def self.openapi_types
:'country' => :'String',
:'email' => :'String',
:'stock_symbol' => :'String',
- :'stock_exchange' => :'String',
+ :'stock_exchange' => :'SMSTenDLCBrandStockExchange',
:'ip_address' => :'String',
:'website' => :'String',
- :'brand_relationship' => :'String',
+ :'brand_relationship' => :'SMSTenDLCBrandRelationship',
:'vertical' => :'String',
:'alt_business_id' => :'String',
- :'alt_business_id_type' => :'String',
+ :'alt_business_id_type' => :'SMSTenDLCBrandAltBusinessIdType',
:'universal_ein' => :'String',
:'reference_id' => :'String',
:'optional_attributes' => :'Hash',
:'mock' => :'Boolean',
- :'identity_status' => :'String',
+ :'identity_status' => :'SMSTenDLCBrandIdentityStatus',
:'create_date' => :'Time'
}
end
@@ -367,10 +362,6 @@ def list_invalid_properties
invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.')
end
- if @entity_type.to_s.length > 20
- invalid_properties.push('invalid value for "entity_type", the character length must be smaller than or equal to 20.')
- end
-
if !@first_name.nil? && @first_name.to_s.length > 100
invalid_properties.push('invalid value for "first_name", the character length must be smaller than or equal to 100.')
end
@@ -493,16 +484,6 @@ def valid?
end
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] entity_type Object to be assigned
- def entity_type=(entity_type)
- validator = EnumAttributeValidator.new('String', ["PRIVATE_PROFIT", "PUBLIC_PROFIT", "NON_PROFIT", "GOVERNMENT", "SOLE_PROPRIETOR"])
- unless validator.valid?(entity_type)
- fail ArgumentError, "invalid value for \"entity_type\", must be one of #{validator.allowable_values}."
- end
- @entity_type = entity_type
- end
-
# Custom attribute writer method with validation
# @param [Object] first_name Value to be assigned
def first_name=(first_name)
@@ -659,16 +640,6 @@ def stock_symbol=(stock_symbol)
@stock_symbol = stock_symbol
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] stock_exchange Object to be assigned
- def stock_exchange=(stock_exchange)
- validator = EnumAttributeValidator.new('String', ["NONE", "NASDAQ", "NYSE", "AMEX", "AMX", "ASX", "B3", "BME", "BSE", "FRA", "ICEX", "JPX", "JSE", "KRX", "LON", "NSE", "OMX", "SEHK", "SGX", "SSE", "STO", "SWX", "SZSE", "TSX", "TWSE", "VSE", "OTHER"])
- unless validator.valid?(stock_exchange)
- fail ArgumentError, "invalid value for \"stock_exchange\", must be one of #{validator.allowable_values}."
- end
- @stock_exchange = stock_exchange
- end
-
# Custom attribute writer method with validation
# @param [Object] ip_address Value to be assigned
def ip_address=(ip_address)
@@ -689,16 +660,6 @@ def website=(website)
@website = website
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] brand_relationship Object to be assigned
- def brand_relationship=(brand_relationship)
- validator = EnumAttributeValidator.new('String', ["BASIC_ACCOUNT", "SMALL_ACCOUNT", "MEDIUM_ACCOUNT", "LARGE_ACCOUNT", "KEY_ACCOUNT"])
- unless validator.valid?(brand_relationship)
- fail ArgumentError, "invalid value for \"brand_relationship\", must be one of #{validator.allowable_values}."
- end
- @brand_relationship = brand_relationship
- end
-
# Custom attribute writer method with validation
# @param [Object] vertical Value to be assigned
def vertical=(vertical)
@@ -723,16 +684,6 @@ def alt_business_id=(alt_business_id)
@alt_business_id = alt_business_id
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] alt_business_id_type Object to be assigned
- def alt_business_id_type=(alt_business_id_type)
- validator = EnumAttributeValidator.new('String', ["NONE", "DUNS", "GIIN", "LEI"])
- unless validator.valid?(alt_business_id_type)
- fail ArgumentError, "invalid value for \"alt_business_id_type\", must be one of #{validator.allowable_values}."
- end
- @alt_business_id_type = alt_business_id_type
- end
-
# Custom attribute writer method with validation
# @param [Object] reference_id Value to be assigned
def reference_id=(reference_id)
@@ -743,16 +694,6 @@ def reference_id=(reference_id)
@reference_id = reference_id
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] identity_status Object to be assigned
- def identity_status=(identity_status)
- validator = EnumAttributeValidator.new('String', ["SELF_DECLARED", "UNVERIFIED", "VERIFIED", "VETTED_VERIFIED"])
- unless validator.valid?(identity_status)
- fail ArgumentError, "invalid value for \"identity_status\", must be one of #{validator.allowable_values}."
- end
- @identity_status = identity_status
- end
-
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@@ -920,7 +861,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb b/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb
new file mode 100644
index 00000000..84ef941d
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb
@@ -0,0 +1,39 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCBrandAltBusinessIdType
+ NONE = "NONE".freeze
+ DUNS = "DUNS".freeze
+ GIIN = "GIIN".freeze
+ LEI = "LEI".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCBrandAltBusinessIdType.constants.select { |c| SMSTenDLCBrandAltBusinessIdType::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCBrandAltBusinessIdType" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb b/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb
new file mode 100644
index 00000000..225a3339
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb
@@ -0,0 +1,40 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCBrandEntityType
+ PRIVATE_PROFIT = "PRIVATE_PROFIT".freeze
+ PUBLIC_PROFIT = "PUBLIC_PROFIT".freeze
+ NON_PROFIT = "NON_PROFIT".freeze
+ GOVERNMENT = "GOVERNMENT".freeze
+ SOLE_PROPRIETOR = "SOLE_PROPRIETOR".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCBrandEntityType.constants.select { |c| SMSTenDLCBrandEntityType::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCBrandEntityType" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb b/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb
new file mode 100644
index 00000000..959afb6f
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb
@@ -0,0 +1,39 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCBrandIdentityStatus
+ SELF_DECLARED = "SELF_DECLARED".freeze
+ UNVERIFIED = "UNVERIFIED".freeze
+ VERIFIED = "VERIFIED".freeze
+ VETTED_VERIFIED = "VETTED_VERIFIED".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCBrandIdentityStatus.constants.select { |c| SMSTenDLCBrandIdentityStatus::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCBrandIdentityStatus" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb b/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb
new file mode 100644
index 00000000..ee11b4b2
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb
@@ -0,0 +1,40 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCBrandRelationship
+ BASIC_ACCOUNT = "BASIC_ACCOUNT".freeze
+ SMALL_ACCOUNT = "SMALL_ACCOUNT".freeze
+ MEDIUM_ACCOUNT = "MEDIUM_ACCOUNT".freeze
+ LARGE_ACCOUNT = "LARGE_ACCOUNT".freeze
+ KEY_ACCOUNT = "KEY_ACCOUNT".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCBrandRelationship.constants.select { |c| SMSTenDLCBrandRelationship::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCBrandRelationship" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb b/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb
new file mode 100644
index 00000000..4654b39e
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb
@@ -0,0 +1,62 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCBrandStockExchange
+ NONE = "NONE".freeze
+ NASDAQ = "NASDAQ".freeze
+ NYSE = "NYSE".freeze
+ AMEX = "AMEX".freeze
+ AMX = "AMX".freeze
+ ASX = "ASX".freeze
+ B3 = "B3".freeze
+ BME = "BME".freeze
+ BSE = "BSE".freeze
+ FRA = "FRA".freeze
+ ICEX = "ICEX".freeze
+ JPX = "JPX".freeze
+ JSE = "JSE".freeze
+ KRX = "KRX".freeze
+ LON = "LON".freeze
+ NSE = "NSE".freeze
+ OMX = "OMX".freeze
+ SEHK = "SEHK".freeze
+ SGX = "SGX".freeze
+ SSE = "SSE".freeze
+ STO = "STO".freeze
+ SWX = "SWX".freeze
+ SZSE = "SZSE".freeze
+ TSX = "TSX".freeze
+ TWSE = "TWSE".freeze
+ VSE = "VSE".freeze
+ OTHER = "OTHER".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCBrandStockExchange.constants.select { |c| SMSTenDLCBrandStockExchange::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCBrandStockExchange" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb b/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb
index 1233b531..38031b50 100644
--- a/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'SMSTenDLCBrandsListResultAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb b/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb
deleted file mode 100644
index 28ab19fd..00000000
--- a/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SMSTenDLCBrandsListResultAllOf
- attr_accessor :brands
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'brands' => :'brands'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'brands' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'brands'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTenDLCBrandsListResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTenDLCBrandsListResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'brands')
- if (value = attributes[:'brands']).is_a?(Array)
- self.brands = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @brands.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- brands == o.brands
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [brands].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/sms_ten_dlc_campaign.rb b/lib/freeclimb/models/sms_ten_dlc_campaign.rb
index a6e6f2d1..18f37e4c 100644
--- a/lib/freeclimb/models/sms_ten_dlc_campaign.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_campaign.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -27,7 +27,6 @@ class SMSTenDLCCampaign
# Alphanumeric identifier of the reseller that you want to associate with this campaign.
attr_accessor :reseller_id
- # Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.
attr_accessor :status
# Unix timestamp when campaign was created.
@@ -198,7 +197,7 @@ def self.openapi_types
:'campaign_id' => :'String',
:'csp_id' => :'String',
:'reseller_id' => :'String',
- :'status' => :'String',
+ :'status' => :'SMSTenDLCCampaignStatus',
:'create_date' => :'Time',
:'auto_renewal' => :'Boolean',
:'billed_date' => :'Time',
@@ -548,16 +547,6 @@ def reseller_id=(reseller_id)
@reseller_id = reseller_id
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] status Object to be assigned
- def status=(status)
- validator = EnumAttributeValidator.new('String', ["ACTIVE", "EXPIRED"])
- unless validator.valid?(status)
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
- end
- @status = status
- end
-
# Custom attribute writer method with validation
# @param [Object] brand_id Value to be assigned
def brand_id=(brand_id)
@@ -912,7 +901,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb b/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb
new file mode 100644
index 00000000..da232cfd
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb
@@ -0,0 +1,37 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCCampaignStatus
+ ACTIVE = "ACTIVE".freeze
+ EXPIRED = "EXPIRED".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCCampaignStatus.constants.select { |c| SMSTenDLCCampaignStatus::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCCampaignStatus" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb b/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb
index fcbea5ff..1aa66d6b 100644
--- a/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'SMSTenDLCCampaignsListResultAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb b/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb
deleted file mode 100644
index 0979de36..00000000
--- a/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SMSTenDLCCampaignsListResultAllOf
- attr_accessor :campaigns
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'campaigns' => :'campaigns'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'campaigns' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'campaigns'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTenDLCCampaignsListResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTenDLCCampaignsListResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'campaigns')
- if (value = attributes[:'campaigns']).is_a?(Array)
- self.campaigns = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @campaigns.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- campaigns == o.campaigns
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [campaigns].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb b/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb
index 6a623cb9..57cac396 100644
--- a/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -21,7 +21,6 @@ class SMSTenDLCPartnerCampaign
# Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC.
attr_accessor :campaign_id
- # Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.
attr_accessor :status
# Unix timestamp when campaign was created.
@@ -167,7 +166,7 @@ def self.openapi_types
{
:'account_id' => :'String',
:'campaign_id' => :'String',
- :'status' => :'String',
+ :'status' => :'SMSTenDLCPartnerCampaignStatus',
:'create_date' => :'Time',
:'brand_id' => :'String',
:'usecase' => :'String',
@@ -448,16 +447,6 @@ def valid?
end
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] status Object to be assigned
- def status=(status)
- validator = EnumAttributeValidator.new('String', ["ACTIVE", "EXPIRED"])
- unless validator.valid?(status)
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
- end
- @status = status
- end
-
# Custom attribute writer method with validation
# @param [Object] brand_id Value to be assigned
def brand_id=(brand_id)
@@ -785,7 +774,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb b/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb
index 7ceb995d..7a62dded 100644
--- a/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -435,7 +435,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb b/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb
new file mode 100644
index 00000000..7af06177
--- /dev/null
+++ b/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb
@@ -0,0 +1,37 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTenDLCPartnerCampaignStatus
+ ACTIVE = "ACTIVE".freeze
+ EXPIRED = "EXPIRED".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTenDLCPartnerCampaignStatus.constants.select { |c| SMSTenDLCPartnerCampaignStatus::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTenDLCPartnerCampaignStatus" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb b/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb
index 2fb333c1..50e41d55 100644
--- a/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb
+++ b/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'SMSTenDLCPartnerCampaignsListResultAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb b/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb
deleted file mode 100644
index 6dfbc48a..00000000
--- a/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SMSTenDLCPartnerCampaignsListResultAllOf
- attr_accessor :partner_campaigns
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'partner_campaigns' => :'partnerCampaigns'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'partner_campaigns' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'partner_campaigns'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTenDLCPartnerCampaignsListResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTenDLCPartnerCampaignsListResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'partner_campaigns')
- if (value = attributes[:'partner_campaigns']).is_a?(Array)
- self.partner_campaigns = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @partner_campaigns.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- partner_campaigns == o.partner_campaigns
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [partner_campaigns].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/sms_toll_free_campaign.rb b/lib/freeclimb/models/sms_toll_free_campaign.rb
index 6906974a..170dfec6 100644
--- a/lib/freeclimb/models/sms_toll_free_campaign.rb
+++ b/lib/freeclimb/models/sms_toll_free_campaign.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -23,7 +23,6 @@ class SMSTollFreeCampaign
attr_accessor :use_case
- # Current toll-free campaign registration status.Possible values: UNREGISTERED,INITIATED,PENDING,DECLINED,REGISTERED. A newly created campaign defaults to INITIATED status.
attr_accessor :registration_status
attr_accessor :date_created
@@ -78,7 +77,7 @@ def self.openapi_types
:'account_id' => :'String',
:'campaign_id' => :'String',
:'use_case' => :'String',
- :'registration_status' => :'String',
+ :'registration_status' => :'SMSTollFreeCampaignRegistrationStatus',
:'date_created' => :'String',
:'date_updated' => :'String',
:'revision' => :'Integer'
@@ -178,16 +177,6 @@ def valid?
end
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] registration_status Object to be assigned
- def registration_status=(registration_status)
- validator = EnumAttributeValidator.new('String', ["UNREGISTERED", "INITIATED", "PENDING", "DECLINED", "REGISTERED"])
- unless validator.valid?(registration_status)
- fail ArgumentError, "invalid value for \"registration_status\", must be one of #{validator.allowable_values}."
- end
- @registration_status = registration_status
- end
-
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@@ -331,7 +320,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb b/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb
new file mode 100644
index 00000000..e2af53da
--- /dev/null
+++ b/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb
@@ -0,0 +1,40 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class SMSTollFreeCampaignRegistrationStatus
+ UNREGISTERED = "UNREGISTERED".freeze
+ INITIATED = "INITIATED".freeze
+ PENDING = "PENDING".freeze
+ DECLINED = "DECLINED".freeze
+ REGISTERED = "REGISTERED".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = SMSTollFreeCampaignRegistrationStatus.constants.select { |c| SMSTollFreeCampaignRegistrationStatus::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #SMSTollFreeCampaignRegistrationStatus" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb b/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb
index c16b2dfa..9485d60c 100644
--- a/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb
+++ b/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -88,8 +88,7 @@ def self.openapi_nullable
# List of class defined in allOf (OpenAPI v3)
def self.openapi_all_of
[
- :'PaginationModel',
- :'SMSTollFreeCampaignsListResultAllOf'
+ :'PaginationModel'
]
end
@@ -305,7 +304,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb b/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb
deleted file mode 100644
index e0fc4ffa..00000000
--- a/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-=begin
-#FreeClimb API
-
-#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.
-
-The version of the OpenAPI document: 1.0.0
-Contact: support@freeclimb.com
-Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
-
-=end
-
-require 'date'
-require 'time'
-
-module Freeclimb
- class SMSTollFreeCampaignsListResultAllOf
- attr_accessor :brands
-
- # Attribute mapping from ruby-style variable name to JSON key.
- def self.attribute_map
- {
- :'brands' => :'brands'
- }
- end
-
- # Returns all the JSON keys this model knows about
- def self.acceptable_attributes
- attribute_map.values
- end
-
- # Attribute type mapping.
- def self.openapi_types
- {
- :'brands' => :'Array'
- }
- end
-
- # List of attributes with nullable: true
- def self.openapi_nullable
- Set.new([
- :'brands'
- ])
- end
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(attributes = {})
- if (!attributes.is_a?(Hash))
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SMSTollFreeCampaignsListResultAllOf` initialize method"
- end
-
- # check to see if the attribute exists and convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h|
- if (!self.class.attribute_map.key?(k.to_sym))
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SMSTollFreeCampaignsListResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
- end
- h[k.to_sym] = v
- }
-
- if attributes.key?(:'brands')
- if (value = attributes[:'brands']).is_a?(Array)
- self.brands = value
- end
- end
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array.new
- invalid_properties
- end
-
- # Check to see if the all the properties in the model are valid
- # @return true if the model is valid
- def valid?
-
- if @brands.nil?
- false
- else
- list_invalid_properties.length() == 0
- end
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.equal?(o)
- self.class == o.class &&
- brands == o.brands
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [brands].hash
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def self.build_from_hash(attributes)
- new.build_from_hash(attributes)
- end
-
- # Builds the object from hash
- # @param [Hash] attributes Model attributes in the form of hash
- # @return [Object] Returns the model itself
- def build_from_hash(attributes)
- return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
- elsif type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the attribute
- # is documented as an array but the input is not
- if attributes[self.class.attribute_map[key]].is_a?(Array)
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
- end
- elsif !attributes[self.class.attribute_map[key]].nil?
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
- end
- end
-
- self
- end
-
- # Deserializes the data based on type
- # @param string type Data type
- # @param string value Value to be deserialized
- # @return [Object] Deserialized data
- def _deserialize(type, value)
- case type.to_sym
- when :Time
- Time.parse(value)
- when :Date
- Date.parse(value)
- when :String
- value.to_s
- when :Integer
- value.to_i
- when :Float
- value.to_f
- when :Boolean
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
- true
- else
- false
- end
- when :Object
- # generic object (usually a Hash), return directly
- value
- when /\AArray<(?.+)>\z/
- inner_type = Regexp.last_match[:inner_type]
- value.map { |v| _deserialize(inner_type, v) }
- when /\AHash<(?.+?), (?.+)>\z/
- k_type = Regexp.last_match[:k_type]
- v_type = Regexp.last_match[:v_type]
- {}.tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Freeclimb.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
- end
- end
-
- # Returns the string representation of the object
- # @return [String] String presentation of the object
- def to_s
- to_hash.to_s
- end
-
- # to_body is an alias to to_hash (backward compatibility)
- # @return [Hash] Returns the object in the form of hash
- def to_body
- to_hash
- end
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {}
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.include?(attr)
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
- end
-
- hash[param] = _to_hash(value)
- end
- hash
- end
-
- # Outputs non-array value in the form of hash
- # For object, use to_hash. Otherwise, just return the value
- # @param [Object] value Any valid value
- # @return [Hash] Returns the value in the form of hash
- def _to_hash(value)
- if value.is_a?(Array)
- value.compact.map { |v| _to_hash(v) }
- elsif value.is_a?(Hash)
- {}.tap do |hash|
- value.each { |k, v| hash[k] = _to_hash(v) }
- end
- elsif value.respond_to? :to_hash
- value.to_hash
- else
- value
- end
- end
-
- end
-
-end
diff --git a/lib/freeclimb/models/start_record_call.rb b/lib/freeclimb/models/start_record_call.rb
index 59fb04cc..78cbd410 100644
--- a/lib/freeclimb/models/start_record_call.rb
+++ b/lib/freeclimb/models/start_record_call.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -217,7 +217,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/terminate_conference.rb b/lib/freeclimb/models/terminate_conference.rb
index 81917b5f..a9ba6c2c 100644
--- a/lib/freeclimb/models/terminate_conference.rb
+++ b/lib/freeclimb/models/terminate_conference.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -217,7 +217,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/tfn.rb b/lib/freeclimb/models/tfn.rb
index e2ca4a68..0fb93abc 100644
--- a/lib/freeclimb/models/tfn.rb
+++ b/lib/freeclimb/models/tfn.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -223,7 +223,5 @@ def _to_hash(value)
value
end
end
-
end
-
end
diff --git a/lib/freeclimb/models/transcribe_reason.rb b/lib/freeclimb/models/transcribe_reason.rb
new file mode 100644
index 00000000..3975737d
--- /dev/null
+++ b/lib/freeclimb/models/transcribe_reason.rb
@@ -0,0 +1,40 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class TranscribeReason
+ INTERNAL_ERROR = "internalError".freeze
+ HANGUP = "hangup".freeze
+ MAX_LENGTH = "maxLength".freeze
+ DIGIT = "digit".freeze
+ NO_INPUT = "noInput".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = TranscribeReason.constants.select { |c| TranscribeReason::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #TranscribeReason" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/transcribe_term_reason.rb b/lib/freeclimb/models/transcribe_term_reason.rb
new file mode 100644
index 00000000..89664b34
--- /dev/null
+++ b/lib/freeclimb/models/transcribe_term_reason.rb
@@ -0,0 +1,37 @@
+=begin
+#FreeClimb API
+
+#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.
+
+The version of the OpenAPI document: 1.0.0
+Contact: support@freeclimb.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 7.9.0
+
+=end
+
+require 'date'
+require 'time'
+
+module Freeclimb
+ class TranscribeTermReason
+ ERROR = "error".freeze
+ COMPLETED = "completed".freeze
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def self.build_from_hash(value)
+ new.build_from_hash(value)
+ end
+
+ # Builds the enum from string
+ # @param [String] The enum value in the form of the string
+ # @return [String] The enum value
+ def build_from_hash(value)
+ constantValues = TranscribeTermReason.constants.select { |c| TranscribeTermReason::const_get(c) == value }
+ raise "Invalid ENUM value #{value} for class #TranscribeTermReason" if constantValues.empty?
+ value
+ end
+ end
+end
diff --git a/lib/freeclimb/models/transcribe_utterance.rb b/lib/freeclimb/models/transcribe_utterance.rb
index 90651a72..23a3de17 100644
--- a/lib/freeclimb/models/transcribe_utterance.rb
+++ b/lib/freeclimb/models/transcribe_utterance.rb
@@ -6,7 +6,7 @@
The version of the OpenAPI document: 1.0.0
Contact: support@freeclimb.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.4.0
+OpenAPI Generator version: 7.9.0
=end
@@ -50,10 +50,10 @@ def self.openapi_types
{
:'action_url' => :'String',
:'play_beep' => :'Boolean',
- :'record' => :'TranscribeUtteranceAllOfRecord',
+ :'record' => :'TranscribeUtteranceRecord',
:'privacy_for_logging' => :'Boolean',
:'privacy_for_recording' => :'Boolean',
- :'prompts' => :'Array