wavix-ruby-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.fern/metadata.json +10 -0
- data/.fernignore +5 -0
- data/.rubocop.yml +103 -0
- data/CONTRIBUTING.md +120 -0
- data/LICENSE +21 -0
- data/README.md +271 -0
- data/Rakefile +20 -0
- data/SECURITY.md +25 -0
- data/custom.gemspec.rb +16 -0
- data/lib/wavix/api_keys/client.rb +158 -0
- data/lib/wavix/api_keys/types/api_key_create_request.rb +45 -0
- data/lib/wavix/api_keys/types/api_key_update_request.rb +47 -0
- data/lib/wavix/api_keys/types/delete_api_keys_request.rb +11 -0
- data/lib/wavix/api_keys/types/list_api_keys_request.rb +11 -0
- data/lib/wavix/billing/client.rb +24 -0
- data/lib/wavix/billing/invoices/client.rb +89 -0
- data/lib/wavix/billing/invoices/types/download_invoices_request.rb +13 -0
- data/lib/wavix/billing/invoices/types/list_invoices_request.rb +15 -0
- data/lib/wavix/billing/invoices/types/list_invoices_response.rb +17 -0
- data/lib/wavix/billing/transactions/client.rb +67 -0
- data/lib/wavix/billing/transactions/types/list_transactions_request.rb +25 -0
- data/lib/wavix/billing/transactions/types/list_transactions_response.rb +17 -0
- data/lib/wavix/buy/cities/client.rb +56 -0
- data/lib/wavix/buy/cities/types/list_cities_request.rb +15 -0
- data/lib/wavix/buy/cities/types/list_cities_response.rb +13 -0
- data/lib/wavix/buy/client.rb +39 -0
- data/lib/wavix/buy/countries/client.rb +54 -0
- data/lib/wavix/buy/countries/types/list_countries_request.rb +13 -0
- data/lib/wavix/buy/countries/types/list_countries_response.rb +13 -0
- data/lib/wavix/buy/numbers/client.rb +60 -0
- data/lib/wavix/buy/numbers/types/list_numbers_request.rb +21 -0
- data/lib/wavix/buy/numbers/types/list_numbers_response.rb +15 -0
- data/lib/wavix/buy/region_cities/client.rb +56 -0
- data/lib/wavix/buy/region_cities/types/list_region_cities_request.rb +17 -0
- data/lib/wavix/buy/region_cities/types/list_region_cities_response.rb +13 -0
- data/lib/wavix/buy/regions/client.rb +55 -0
- data/lib/wavix/buy/regions/types/list_regions_request.rb +15 -0
- data/lib/wavix/buy/regions/types/list_regions_response.rb +13 -0
- data/lib/wavix/call_control/audio/client.rb +89 -0
- data/lib/wavix/call_control/audio/types/call_audio_play_request.rb +15 -0
- data/lib/wavix/call_control/audio/types/stop_audio_request.rb +13 -0
- data/lib/wavix/call_control/client.rb +275 -0
- data/lib/wavix/call_control/streams/client.rb +91 -0
- data/lib/wavix/call_control/streams/types/call_stream_create_request.rb +19 -0
- data/lib/wavix/call_control/streams/types/delete_streams_request.rb +15 -0
- data/lib/wavix/call_control/types/call_answer_request.rb +21 -0
- data/lib/wavix/call_control/types/call_dtmf_collect_request.rb +21 -0
- data/lib/wavix/call_control/types/call_dtmf_collect_request_prompt.rb +15 -0
- data/lib/wavix/call_control/types/call_dtmf_collect_request_prompt_say.rb +16 -0
- data/lib/wavix/call_control/types/call_request.rb +23 -0
- data/lib/wavix/call_control/types/delete_call_control_request.rb +11 -0
- data/lib/wavix/call_control/types/get_call_control_request.rb +11 -0
- data/lib/wavix/call_control/types/update_call_request.rb +13 -0
- data/lib/wavix/call_recording/client.rb +168 -0
- data/lib/wavix/call_recording/types/delete_call_recording_request.rb +11 -0
- data/lib/wavix/call_recording/types/get_by_call_call_recording_request.rb +11 -0
- data/lib/wavix/call_recording/types/get_call_recording_request.rb +11 -0
- data/lib/wavix/call_recording/types/list_call_recording_request.rb +25 -0
- data/lib/wavix/call_webhooks/client.rb +120 -0
- data/lib/wavix/call_webhooks/types/call_webhooks_create_request.rb +13 -0
- data/lib/wavix/call_webhooks/types/call_webhooks_create_request_event_type.rb +14 -0
- data/lib/wavix/call_webhooks/types/delete_call_webhooks_request.rb +11 -0
- data/lib/wavix/call_webhooks/types/delete_call_webhooks_request_event_type.rb +14 -0
- data/lib/wavix/cart/client.rb +147 -0
- data/lib/wavix/cart/types/add_cart_request.rb +11 -0
- data/lib/wavix/cart/types/checkout_cart_request.rb +11 -0
- data/lib/wavix/cart/types/checkout_cart_response.rb +11 -0
- data/lib/wavix/cart/types/get_cart_response.rb +13 -0
- data/lib/wavix/cart/types/remove_cart_request.rb +11 -0
- data/lib/wavix/cart/types/remove_cart_response.rb +11 -0
- data/lib/wavix/cdrs/client.rb +277 -0
- data/lib/wavix/cdrs/transcription/client.rb +51 -0
- data/lib/wavix/cdrs/transcription/types/get_transcription_request.rb +13 -0
- data/lib/wavix/cdrs/types/cdr_retranscription_request.rb +15 -0
- data/lib/wavix/cdrs/types/cdr_search_request.rb +33 -0
- data/lib/wavix/cdrs/types/cdr_search_request_disposition.rb +17 -0
- data/lib/wavix/cdrs/types/cdr_search_request_type.rb +14 -0
- data/lib/wavix/cdrs/types/get_cdrs_request.rb +13 -0
- data/lib/wavix/cdrs/types/list_all_cdrs_request.rb +29 -0
- data/lib/wavix/cdrs/types/list_cdrs_request.rb +29 -0
- data/lib/wavix/cdrs/types/transcriptions_cdrs_request.rb +11 -0
- data/lib/wavix/client.rb +122 -0
- data/lib/wavix/environment.rb +7 -0
- data/lib/wavix/errors/api_error.rb +8 -0
- data/lib/wavix/errors/client_error.rb +17 -0
- data/lib/wavix/errors/redirect_error.rb +8 -0
- data/lib/wavix/errors/response_error.rb +42 -0
- data/lib/wavix/errors/server_error.rb +11 -0
- data/lib/wavix/errors/timeout_error.rb +8 -0
- data/lib/wavix/internal/errors/constraint_error.rb +10 -0
- data/lib/wavix/internal/errors/type_error.rb +10 -0
- data/lib/wavix/internal/http/base_request.rb +51 -0
- data/lib/wavix/internal/http/raw_client.rb +215 -0
- data/lib/wavix/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/wavix/internal/iterators/cursor_page_iterator.rb +63 -0
- data/lib/wavix/internal/iterators/item_iterator.rb +65 -0
- data/lib/wavix/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/wavix/internal/iterators/offset_page_iterator.rb +103 -0
- data/lib/wavix/internal/json/request.rb +41 -0
- data/lib/wavix/internal/json/serializable.rb +25 -0
- data/lib/wavix/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/wavix/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/wavix/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/wavix/internal/multipart/multipart_request.rb +40 -0
- data/lib/wavix/internal/types/array.rb +47 -0
- data/lib/wavix/internal/types/boolean.rb +34 -0
- data/lib/wavix/internal/types/enum.rb +56 -0
- data/lib/wavix/internal/types/hash.rb +36 -0
- data/lib/wavix/internal/types/model/field.rb +38 -0
- data/lib/wavix/internal/types/model.rb +208 -0
- data/lib/wavix/internal/types/type.rb +35 -0
- data/lib/wavix/internal/types/union.rb +161 -0
- data/lib/wavix/internal/types/unknown.rb +15 -0
- data/lib/wavix/internal/types/utils.rb +116 -0
- data/lib/wavix/link_shortener/client.rb +53 -0
- data/lib/wavix/link_shortener/metrics/client.rb +65 -0
- data/lib/wavix/link_shortener/metrics/types/list_metrics_request.rb +23 -0
- data/lib/wavix/link_shortener/types/short_link_create_request.rb +19 -0
- data/lib/wavix/number_validator/client.rb +94 -0
- data/lib/wavix/number_validator/results/client.rb +50 -0
- data/lib/wavix/number_validator/results/types/get_results_request.rb +13 -0
- data/lib/wavix/number_validator/types/get_number_validator_request.rb +13 -0
- data/lib/wavix/number_validator/types/get_number_validator_response.rb +43 -0
- data/lib/wavix/number_validator/types/phone_validation_request.rb +17 -0
- data/lib/wavix/numbers/client.rb +216 -0
- data/lib/wavix/numbers/papers/client.rb +69 -0
- data/lib/wavix/numbers/papers/types/upload_papers_request.rb +11 -0
- data/lib/wavix/numbers/types/bulk_update_numbers_response.rb +11 -0
- data/lib/wavix/numbers/types/delete_numbers_request.rb +13 -0
- data/lib/wavix/numbers/types/delete_numbers_response.rb +11 -0
- data/lib/wavix/numbers/types/get_numbers_request.rb +11 -0
- data/lib/wavix/numbers/types/list_numbers_request.rb +21 -0
- data/lib/wavix/numbers/types/number_bulk_update_request.rb +25 -0
- data/lib/wavix/numbers/types/number_update_request.rb +25 -0
- data/lib/wavix/profile/client.rb +85 -0
- data/lib/wavix/profile/config/client.rb +48 -0
- data/lib/wavix/profile/config/types/get_config_response.rb +15 -0
- data/lib/wavix/profile/types/profile_update_request.rb +31 -0
- data/lib/wavix/profile/types/profile_update_request_company_info.rb +21 -0
- data/lib/wavix/profile/types/profile_update_request_company_info_industry.rb +25 -0
- data/lib/wavix/sip_trunks/client.rb +194 -0
- data/lib/wavix/sip_trunks/types/delete_sip_trunks_request.rb +11 -0
- data/lib/wavix/sip_trunks/types/get_sip_trunks_request.rb +11 -0
- data/lib/wavix/sip_trunks/types/list_sip_trunks_request.rb +13 -0
- data/lib/wavix/sip_trunks/types/update_sip_trunks_request.rb +13 -0
- data/lib/wavix/sms_and_mms/client.rb +29 -0
- data/lib/wavix/sms_and_mms/messages/client.rb +194 -0
- data/lib/wavix/sms_and_mms/messages/types/get_messages_request.rb +13 -0
- data/lib/wavix/sms_and_mms/messages/types/get_messages_response.rb +45 -0
- data/lib/wavix/sms_and_mms/messages/types/list_all_messages_request.rb +27 -0
- data/lib/wavix/sms_and_mms/messages/types/list_all_messages_request_message_type.rb +16 -0
- data/lib/wavix/sms_and_mms/messages/types/list_messages_request.rb +31 -0
- data/lib/wavix/sms_and_mms/messages/types/list_messages_request_message_type.rb +16 -0
- data/lib/wavix/sms_and_mms/messages/types/list_messages_response.rb +15 -0
- data/lib/wavix/sms_and_mms/messages/types/send_messages_request.rb +23 -0
- data/lib/wavix/sms_and_mms/opt_outs/client.rb +99 -0
- data/lib/wavix/sms_and_mms/opt_outs/types/create_opt_outs_response.rb +13 -0
- data/lib/wavix/sms_and_mms/opt_outs/types/list_opt_outs_request.rb +23 -0
- data/lib/wavix/sms_and_mms/opt_outs/types/opt_out_create_request.rb +13 -0
- data/lib/wavix/sms_and_mms/sender_ids/client.rb +150 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/delete_sender_ids_request.rb +13 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/delete_sender_ids_response.rb +13 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/get_sender_ids_request.rb +13 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request.rb +23 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request_monthly_volume.rb +19 -0
- data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request_usecase.rb +17 -0
- data/lib/wavix/speech_analytics/client.rb +157 -0
- data/lib/wavix/speech_analytics/file/client.rb +48 -0
- data/lib/wavix/speech_analytics/file/types/get_file_request.rb +13 -0
- data/lib/wavix/speech_analytics/types/create_speech_analytics_request.rb +9 -0
- data/lib/wavix/speech_analytics/types/create_speech_analytics_response.rb +15 -0
- data/lib/wavix/speech_analytics/types/get_speech_analytics_request.rb +11 -0
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response.rb +31 -0
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response_language.rb +17 -0
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response_status.rb +14 -0
- data/lib/wavix/speech_analytics/types/speech_analytics_retranscribe_request.rb +15 -0
- data/lib/wavix/sub_accounts/client.rb +165 -0
- data/lib/wavix/sub_accounts/transactions/client.rb +64 -0
- data/lib/wavix/sub_accounts/transactions/types/list_transactions_request.rb +23 -0
- data/lib/wavix/sub_accounts/types/get_sub_accounts_request.rb +11 -0
- data/lib/wavix/sub_accounts/types/list_sub_accounts_request.rb +11 -0
- data/lib/wavix/sub_accounts/types/list_sub_accounts_request_status.rb +14 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_create_request.rb +13 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_create_request_default_destinations.rb +14 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_update_request.rb +17 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_update_request_default_destinations.rb +14 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_update_request_status.rb +14 -0
- data/lib/wavix/ten_dlc/brand_appeals/client.rb +93 -0
- data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_request.rb +19 -0
- data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_response.rb +13 -0
- data/lib/wavix/ten_dlc/brand_appeals/types/list_brand_appeals_request.rb +13 -0
- data/lib/wavix/ten_dlc/brand_evidence/client.rb +158 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_request.rb +15 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_response.rb +13 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/get_brand_evidence_request.rb +15 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/list_brand_evidence_request.rb +13 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_request.rb +13 -0
- data/lib/wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_response.rb +19 -0
- data/lib/wavix/ten_dlc/brand_vetting_appeals/client.rb +87 -0
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/create_brand_vetting_appeals_response.rb +13 -0
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/list_brand_vetting_appeals_request.rb +13 -0
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/ten_dlc_brand_vetting_appeal_create_request.rb +23 -0
- data/lib/wavix/ten_dlc/brand_vettings/client.rb +127 -0
- data/lib/wavix/ten_dlc/brand_vettings/types/list_brand_vettings_request.rb +13 -0
- data/lib/wavix/ten_dlc/brand_vettings/types/ten_dlc_brand_vetting_create_request.rb +17 -0
- data/lib/wavix/ten_dlc/brand_vettings/types/ten_dlc_brand_vetting_import_request.rb +19 -0
- data/lib/wavix/ten_dlc/brands/client.rb +257 -0
- data/lib/wavix/ten_dlc/brands/types/create_brands_response.rb +61 -0
- data/lib/wavix/ten_dlc/brands/types/create_brands_response_entity_type.rb +18 -0
- data/lib/wavix/ten_dlc/brands/types/create_brands_response_status.rb +19 -0
- data/lib/wavix/ten_dlc/brands/types/delete_brands_request.rb +13 -0
- data/lib/wavix/ten_dlc/brands/types/delete_brands_response.rb +13 -0
- data/lib/wavix/ten_dlc/brands/types/get_brands_request.rb +13 -0
- data/lib/wavix/ten_dlc/brands/types/get_brands_response.rb +61 -0
- data/lib/wavix/ten_dlc/brands/types/get_brands_response_entity_type.rb +18 -0
- data/lib/wavix/ten_dlc/brands/types/get_brands_response_status.rb +19 -0
- data/lib/wavix/ten_dlc/brands/types/list_brands_request.rb +35 -0
- data/lib/wavix/ten_dlc/brands/types/list_brands_response.rb +16 -0
- data/lib/wavix/ten_dlc/brands/types/list_brands_response_pagination.rb +20 -0
- data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_request.rb +15 -0
- data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_request_use_case.rb +40 -0
- data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_response.rb +17 -0
- data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request.rb +51 -0
- data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_entity_type.rb +18 -0
- data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_vertical.rb +23 -0
- data/lib/wavix/ten_dlc/brands/types/update_brands_response.rb +61 -0
- data/lib/wavix/ten_dlc/brands/types/update_brands_response_entity_type.rb +18 -0
- data/lib/wavix/ten_dlc/brands/types/update_brands_response_status.rb +19 -0
- data/lib/wavix/ten_dlc/campaign_numbers/client.rb +123 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_request.rb +17 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_response.rb +13 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_request.rb +15 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_response.rb +17 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_request.rb +17 -0
- data/lib/wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_response.rb +13 -0
- data/lib/wavix/ten_dlc/campaigns/client.rb +316 -0
- data/lib/wavix/ten_dlc/campaigns/types/create_campaigns_response.rb +89 -0
- data/lib/wavix/ten_dlc/campaigns/types/delete_campaigns_request.rb +15 -0
- data/lib/wavix/ten_dlc/campaigns/types/delete_campaigns_response.rb +13 -0
- data/lib/wavix/ten_dlc/campaigns/types/get_campaigns_request.rb +15 -0
- data/lib/wavix/ten_dlc/campaigns/types/get_campaigns_response.rb +89 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_request.rb +29 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response.rb +16 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response_pagination.rb +20 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_request.rb +27 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response.rb +16 -0
- data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response_pagination.rb +20 -0
- data/lib/wavix/ten_dlc/campaigns/types/nudge_campaigns_request.rb +19 -0
- data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_create_request.rb +69 -0
- data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_update_request.rb +67 -0
- data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_update_request_usecase.rb +20 -0
- data/lib/wavix/ten_dlc/campaigns/types/update_campaigns_response.rb +89 -0
- data/lib/wavix/ten_dlc/client.rb +54 -0
- data/lib/wavix/ten_dlc/subscriptions/client.rb +118 -0
- data/lib/wavix/ten_dlc/subscriptions/types/create_subscriptions_response.rb +16 -0
- data/lib/wavix/ten_dlc/subscriptions/types/delete_subscriptions_request.rb +13 -0
- data/lib/wavix/ten_dlc/subscriptions/types/delete_subscriptions_response.rb +13 -0
- data/lib/wavix/two_fa/client.rb +29 -0
- data/lib/wavix/two_fa/events/client.rb +49 -0
- data/lib/wavix/two_fa/events/types/list_events_request.rb +13 -0
- data/lib/wavix/two_fa/sessions/client.rb +55 -0
- data/lib/wavix/two_fa/sessions/types/list_sessions_request.rb +17 -0
- data/lib/wavix/two_fa/verification/client.rb +171 -0
- data/lib/wavix/two_fa/verification/types/cancel_verification_request.rb +13 -0
- data/lib/wavix/two_fa/verification/types/check_verification_response.rb +13 -0
- data/lib/wavix/two_fa/verification/types/create_verification_response.rb +25 -0
- data/lib/wavix/two_fa/verification/types/resend_verification_response.rb +19 -0
- data/lib/wavix/two_fa/verification/types/two_factor_verification_check_request.rb +15 -0
- data/lib/wavix/two_fa/verification/types/two_factor_verification_create_request.rb +17 -0
- data/lib/wavix/two_fa/verification/types/two_factor_verification_resend_request.rb +15 -0
- data/lib/wavix/two_fa/verification/types/two_factor_verification_resend_request_channel.rb +16 -0
- data/lib/wavix/types/account_error_response.rb +12 -0
- data/lib/wavix/types/account_limits.rb +13 -0
- data/lib/wavix/types/allowed_i_ps.rb +23 -0
- data/lib/wavix/types/allowed_i_ps_item.rb +11 -0
- data/lib/wavix/types/api_key.rb +52 -0
- data/lib/wavix/types/api_key_calls_scope_permission.rb +10 -0
- data/lib/wavix/types/api_key_calls_scope_permission_allow.rb +13 -0
- data/lib/wavix/types/api_key_scope_permission.rb +10 -0
- data/lib/wavix/types/api_key_scope_permission_allow.rb +13 -0
- data/lib/wavix/types/available_number.rb +38 -0
- data/lib/wavix/types/available_number_list_response.rb +11 -0
- data/lib/wavix/types/bad_request_error_body.rb +11 -0
- data/lib/wavix/types/billing_transaction_list_response.rb +13 -0
- data/lib/wavix/types/brand_status_updated_webhook.rb +11 -0
- data/lib/wavix/types/brand_status_updated_webhook_status.rb +16 -0
- data/lib/wavix/types/call.rb +33 -0
- data/lib/wavix/types/call_control_validation_error_response.rb +13 -0
- data/lib/wavix/types/call_create_response.rb +33 -0
- data/lib/wavix/types/call_create_response_event_type.rb +19 -0
- data/lib/wavix/types/call_direction.rb +12 -0
- data/lib/wavix/types/call_disposition.rb +15 -0
- data/lib/wavix/types/call_event_type.rb +19 -0
- data/lib/wavix/types/call_list_response.rb +11 -0
- data/lib/wavix/types/call_recording_list_response.rb +13 -0
- data/lib/wavix/types/call_response.rb +11 -0
- data/lib/wavix/types/call_status_webhook.rb +28 -0
- data/lib/wavix/types/call_status_webhook_direction.rb +12 -0
- data/lib/wavix/types/call_stream_channel.rb +13 -0
- data/lib/wavix/types/call_stream_response.rb +11 -0
- data/lib/wavix/types/call_stream_type.rb +12 -0
- data/lib/wavix/types/call_webhook.rb +14 -0
- data/lib/wavix/types/call_webhook_event_type.rb +12 -0
- data/lib/wavix/types/call_webhook_list_response.rb +23 -0
- data/lib/wavix/types/call_webhook_list_response_item.rb +11 -0
- data/lib/wavix/types/call_webhook_list_response_item_event_type.rb +12 -0
- data/lib/wavix/types/campaign_status_updated_webhook.rb +13 -0
- data/lib/wavix/types/campaign_status_updated_webhook_status.rb +17 -0
- data/lib/wavix/types/cart_response.rb +11 -0
- data/lib/wavix/types/cdr.rb +38 -0
- data/lib/wavix/types/cdr_list_response.rb +11 -0
- data/lib/wavix/types/cdr_response.rb +41 -0
- data/lib/wavix/types/cdr_transcription_completed_webhook.rb +11 -0
- data/lib/wavix/types/cdr_transcription_completed_webhook_status.rb +12 -0
- data/lib/wavix/types/cdr_transcription_response.rb +31 -0
- data/lib/wavix/types/cdr_transcription_search_response.rb +11 -0
- data/lib/wavix/types/cdr_with_transcription.rb +40 -0
- data/lib/wavix/types/city.rb +13 -0
- data/lib/wavix/types/city_list_response.rb +9 -0
- data/lib/wavix/types/country.rb +13 -0
- data/lib/wavix/types/country_has_no_regions_error_response.rb +11 -0
- data/lib/wavix/types/country_list_response.rb +9 -0
- data/lib/wavix/types/document_type.rb +13 -0
- data/lib/wavix/types/document_type_id.rb +23 -0
- data/lib/wavix/types/file_transcript_response.rb +11 -0
- data/lib/wavix/types/file_transcript_turn.rb +18 -0
- data/lib/wavix/types/file_transcription_completed_webhook.rb +13 -0
- data/lib/wavix/types/file_transcription_response.rb +29 -0
- data/lib/wavix/types/file_transcription_response_language.rb +15 -0
- data/lib/wavix/types/file_transcription_response_status.rb +12 -0
- data/lib/wavix/types/financial_transaction.rb +24 -0
- data/lib/wavix/types/forbidden_error_response.rb +11 -0
- data/lib/wavix/types/inbound_call_destination.rb +22 -0
- data/lib/wavix/types/inbound_call_transport.rb +23 -0
- data/lib/wavix/types/inbound_message.rb +18 -0
- data/lib/wavix/types/invalid_recording.rb +12 -0
- data/lib/wavix/types/invoice.rb +16 -0
- data/lib/wavix/types/invoice_list_response.rb +13 -0
- data/lib/wavix/types/list_brand_evidence_response.rb +9 -0
- data/lib/wavix/types/list_sessions_response_item.rb +23 -0
- data/lib/wavix/types/message.rb +42 -0
- data/lib/wavix/types/message_body.rb +11 -0
- data/lib/wavix/types/message_create_request.rb +19 -0
- data/lib/wavix/types/message_delivery_status.rb +18 -0
- data/lib/wavix/types/message_list_response.rb +11 -0
- data/lib/wavix/types/message_response.rb +41 -0
- data/lib/wavix/types/messages_delivery_report.rb +32 -0
- data/lib/wavix/types/not_found_error_body.rb +11 -0
- data/lib/wavix/types/not_found_error_response.rb +11 -0
- data/lib/wavix/types/number.rb +63 -0
- data/lib/wavix/types/number_destination.rb +16 -0
- data/lib/wavix/types/number_document.rb +24 -0
- data/lib/wavix/types/number_list_response.rb +13 -0
- data/lib/wavix/types/number_status_updated_webhook.rb +15 -0
- data/lib/wavix/types/number_status_updated_webhook_status.rb +13 -0
- data/lib/wavix/types/number_validator_create_bulk_response.rb +13 -0
- data/lib/wavix/types/number_validator_create_bulk_response_request_id.rb +10 -0
- data/lib/wavix/types/on_call_event_payload.rb +12 -0
- data/lib/wavix/types/on_call_event_payload_type.rb +12 -0
- data/lib/wavix/types/opt_out.rb +11 -0
- data/lib/wavix/types/opt_out_item.rb +15 -0
- data/lib/wavix/types/opt_outs_list_response.rb +11 -0
- data/lib/wavix/types/pagination.rb +15 -0
- data/lib/wavix/types/phone_lookup_details.rb +13 -0
- data/lib/wavix/types/phone_number_validation_type.rb +13 -0
- data/lib/wavix/types/phone_validation_batch_response.rb +15 -0
- data/lib/wavix/types/phone_validation_batch_result_response.rb +15 -0
- data/lib/wavix/types/phone_validation_response.rb +41 -0
- data/lib/wavix/types/phone_validation_result_response.rb +42 -0
- data/lib/wavix/types/profile_config_response.rb +11 -0
- data/lib/wavix/types/profile_response.rb +31 -0
- data/lib/wavix/types/profile_response_company_info.rb +20 -0
- data/lib/wavix/types/profile_response_company_info_country.rb +12 -0
- data/lib/wavix/types/profile_response_company_info_industry.rb +23 -0
- data/lib/wavix/types/profile_response_default_destinations_item.rb +11 -0
- data/lib/wavix/types/record_not_found_error_response.rb +11 -0
- data/lib/wavix/types/recording.rb +22 -0
- data/lib/wavix/types/recording_deleted_error_response.rb +15 -0
- data/lib/wavix/types/region.rb +12 -0
- data/lib/wavix/types/region_list_response.rb +9 -0
- data/lib/wavix/types/send_messages_response.rb +41 -0
- data/lib/wavix/types/sender_id.rb +20 -0
- data/lib/wavix/types/sender_id_details.rb +19 -0
- data/lib/wavix/types/sender_id_list_response.rb +9 -0
- data/lib/wavix/types/sender_id_response.rb +19 -0
- data/lib/wavix/types/sender_id_response_type.rb +13 -0
- data/lib/wavix/types/sender_id_type.rb +12 -0
- data/lib/wavix/types/short_link_metrics_item.rb +27 -0
- data/lib/wavix/types/short_link_metrics_response.rb +11 -0
- data/lib/wavix/types/short_link_response.rb +9 -0
- data/lib/wavix/types/sip_trunk_create_request.rb +51 -0
- data/lib/wavix/types/sip_trunk_create_request_allowed_ips_item.rb +9 -0
- data/lib/wavix/types/sip_trunk_create_request_host_request.rb +11 -0
- data/lib/wavix/types/sip_trunk_list_response.rb +11 -0
- data/lib/wavix/types/sip_trunk_response.rb +59 -0
- data/lib/wavix/types/sip_trunk_summary.rb +42 -0
- data/lib/wavix/types/sip_trunk_summary_host_request.rb +12 -0
- data/lib/wavix/types/sub_accounts_list_response.rb +11 -0
- data/lib/wavix/types/sub_accounts_transactions_list_response.rb +11 -0
- data/lib/wavix/types/sub_accounts_transactions_list_response_transactions_item.rb +19 -0
- data/lib/wavix/types/sub_organization_response.rb +22 -0
- data/lib/wavix/types/sub_organization_response_default_destinations.rb +12 -0
- data/lib/wavix/types/sub_organization_response_status.rb +12 -0
- data/lib/wavix/types/submit_file_transcription_response.rb +13 -0
- data/lib/wavix/types/success_response.rb +9 -0
- data/lib/wavix/types/tcr_error_message.rb +11 -0
- data/lib/wavix/types/tcr_feedback.rb +9 -0
- data/lib/wavix/types/tcr_feedback_category.rb +18 -0
- data/lib/wavix/types/ten_dlc_brand.rb +57 -0
- data/lib/wavix/types/ten_dlc_brand_appeal.rb +21 -0
- data/lib/wavix/types/ten_dlc_brand_appeal_create_request.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_appeal_outcome.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_appeal_outcome_feedback.rb +10 -0
- data/lib/wavix/types/ten_dlc_brand_appeal_outcome_vetting_status.rb +15 -0
- data/lib/wavix/types/ten_dlc_brand_create_request.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_entity_type.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_stock_exchange.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_stock_exchange_entity_type.rb +13 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_vertical.rb +19 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_zero.rb +10 -0
- data/lib/wavix/types/ten_dlc_brand_create_request_zero_entity_type.rb +11 -0
- data/lib/wavix/types/ten_dlc_brand_entity_type.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_evidence.rb +15 -0
- data/lib/wavix/types/ten_dlc_brand_identity_verification_status.rb +15 -0
- data/lib/wavix/types/ten_dlc_brand_list_response.rb +12 -0
- data/lib/wavix/types/ten_dlc_brand_list_response_pagination.rb +16 -0
- data/lib/wavix/types/ten_dlc_brand_qualification_result.rb +13 -0
- data/lib/wavix/types/ten_dlc_brand_status.rb +15 -0
- data/lib/wavix/types/ten_dlc_brand_vetting.rb +29 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal.rb +31 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome.rb +14 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome_feedback.rb +10 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome.rb +13 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome_feedback.rb +10 -0
- data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome_reason.rb +9 -0
- data/lib/wavix/types/ten_dlc_campaign.rb +85 -0
- data/lib/wavix/types/ten_dlc_campaign_list_response.rb +12 -0
- data/lib/wavix/types/ten_dlc_campaign_list_response_pagination.rb +16 -0
- data/lib/wavix/types/ten_dlc_campaign_nudge_request.rb +13 -0
- data/lib/wavix/types/ten_dlc_campaign_number.rb +11 -0
- data/lib/wavix/types/ten_dlc_campaign_number_list_response.rb +13 -0
- data/lib/wavix/types/ten_dlc_event_subscription.rb +12 -0
- data/lib/wavix/types/ten_dlcmno_metadata.rb +40 -0
- data/lib/wavix/types/transaction_status.rb +14 -0
- data/lib/wavix/types/transaction_type.rb +23 -0
- data/lib/wavix/types/transcript_turn.rb +19 -0
- data/lib/wavix/types/transcription_filter.rb +13 -0
- data/lib/wavix/types/transcription_filter_agent.rb +14 -0
- data/lib/wavix/types/transcription_filter_any.rb +14 -0
- data/lib/wavix/types/transcription_filter_client.rb +14 -0
- data/lib/wavix/types/transcription_language.rb +15 -0
- data/lib/wavix/types/transcription_reference.rb +11 -0
- data/lib/wavix/types/transcription_status.rb +12 -0
- data/lib/wavix/types/tts_language.rb +14 -0
- data/lib/wavix/types/tts_voice_id.rb +26 -0
- data/lib/wavix/types/two_factor_verification_check_response.rb +9 -0
- data/lib/wavix/types/two_factor_verification_event.rb +17 -0
- data/lib/wavix/types/two_factor_verification_resend_response.rb +15 -0
- data/lib/wavix/types/two_factor_verification_response.rb +21 -0
- data/lib/wavix/types/unauthorized_error_response.rb +13 -0
- data/lib/wavix/types/unprocessable_entity_error_body.rb +11 -0
- data/lib/wavix/types/validation_error_response.rb +11 -0
- data/lib/wavix/types/voice_campaign_create_request.rb +9 -0
- data/lib/wavix/types/voice_campaign_response.rb +16 -0
- data/lib/wavix/types/voice_campaigns_create_response.rb +9 -0
- data/lib/wavix/types/voice_campaigns_create_response_voice_campaign.rb +17 -0
- data/lib/wavix/types/voice_campaigns_get_response.rb +9 -0
- data/lib/wavix/types/voice_campaigns_get_response_voice_campaign.rb +17 -0
- data/lib/wavix/types/web_rtc_token.rb +16 -0
- data/lib/wavix/types/web_rtc_token_response.rb +17 -0
- data/lib/wavix/types/web_rtc_tokens_list_response.rb +12 -0
- data/lib/wavix/version.rb +5 -0
- data/lib/wavix/voice_campaigns/client.rb +83 -0
- data/lib/wavix/voice_campaigns/types/create_voice_campaigns_request.rb +11 -0
- data/lib/wavix/voice_campaigns/types/get_voice_campaigns_request.rb +11 -0
- data/lib/wavix/webrtc/client.rb +19 -0
- data/lib/wavix/webrtc/tokens/client.rb +191 -0
- data/lib/wavix/webrtc/tokens/types/delete_tokens_request.rb +13 -0
- data/lib/wavix/webrtc/tokens/types/get_tokens_request.rb +13 -0
- data/lib/wavix/webrtc/tokens/types/web_rtc_token_create_request.rb +17 -0
- data/lib/wavix/webrtc/tokens/types/web_rtc_token_update_request.rb +15 -0
- data/lib/wavix.rb +477 -0
- data/reference.md +10623 -0
- metadata +526 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SmsAndMms
|
|
5
|
+
module SenderIDs
|
|
6
|
+
class Client
|
|
7
|
+
# @param client [Wavix::Internal::Http::RawClient]
|
|
8
|
+
#
|
|
9
|
+
# @return [void]
|
|
10
|
+
def initialize(client:)
|
|
11
|
+
@client = client
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Returns the Sender IDs registered for the authenticated account.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Hash]
|
|
17
|
+
# @param _params [Hash]
|
|
18
|
+
# @option request_options [String] :base_url
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
22
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
23
|
+
#
|
|
24
|
+
# @return [Wavix::Types::SenderIDListResponse]
|
|
25
|
+
def list(request_options: {}, **_params)
|
|
26
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
27
|
+
base_url: request_options[:base_url],
|
|
28
|
+
method: "GET",
|
|
29
|
+
path: "v3/messages/sender-ids",
|
|
30
|
+
request_options: request_options
|
|
31
|
+
)
|
|
32
|
+
begin
|
|
33
|
+
response = @client.send(request)
|
|
34
|
+
rescue Net::HTTPRequestTimeout
|
|
35
|
+
raise Wavix::Errors::TimeoutError
|
|
36
|
+
end
|
|
37
|
+
code = response.code.to_i
|
|
38
|
+
if code.between?(200, 299)
|
|
39
|
+
Wavix::Types::SenderIDListResponse.load(response.body)
|
|
40
|
+
else
|
|
41
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
42
|
+
raise error_class.new(response.body, code: code)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Creates a Sender ID. Use the 10DLC API to create Sender IDs in the US.
|
|
47
|
+
#
|
|
48
|
+
# @param request_options [Hash]
|
|
49
|
+
# @param params [Wavix::SmsAndMms::SenderIDs::Types::SenderIDCreateRequest]
|
|
50
|
+
# @option request_options [String] :base_url
|
|
51
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
52
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
53
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
54
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
55
|
+
#
|
|
56
|
+
# @return [Wavix::Types::SenderIDDetails]
|
|
57
|
+
def create(request_options: {}, **params)
|
|
58
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
59
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
60
|
+
base_url: request_options[:base_url],
|
|
61
|
+
method: "POST",
|
|
62
|
+
path: "v3/messages/sender-ids",
|
|
63
|
+
body: Wavix::SmsAndMms::SenderIDs::Types::SenderIDCreateRequest.new(params).to_h,
|
|
64
|
+
request_options: request_options
|
|
65
|
+
)
|
|
66
|
+
begin
|
|
67
|
+
response = @client.send(request)
|
|
68
|
+
rescue Net::HTTPRequestTimeout
|
|
69
|
+
raise Wavix::Errors::TimeoutError
|
|
70
|
+
end
|
|
71
|
+
code = response.code.to_i
|
|
72
|
+
if code.between?(200, 299)
|
|
73
|
+
Wavix::Types::SenderIDDetails.load(response.body)
|
|
74
|
+
else
|
|
75
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
76
|
+
raise error_class.new(response.body, code: code)
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Returns the Sender ID identified by `id`.
|
|
81
|
+
#
|
|
82
|
+
# @param request_options [Hash]
|
|
83
|
+
# @param params [Hash]
|
|
84
|
+
# @option request_options [String] :base_url
|
|
85
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
86
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
87
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
88
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
89
|
+
# @option params [String] :id
|
|
90
|
+
#
|
|
91
|
+
# @return [Wavix::Types::SenderIDResponse]
|
|
92
|
+
def get(request_options: {}, **params)
|
|
93
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
94
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
95
|
+
base_url: request_options[:base_url],
|
|
96
|
+
method: "GET",
|
|
97
|
+
path: "v3/messages/sender-ids/#{URI.encode_uri_component(params[:id].to_s)}",
|
|
98
|
+
request_options: request_options
|
|
99
|
+
)
|
|
100
|
+
begin
|
|
101
|
+
response = @client.send(request)
|
|
102
|
+
rescue Net::HTTPRequestTimeout
|
|
103
|
+
raise Wavix::Errors::TimeoutError
|
|
104
|
+
end
|
|
105
|
+
code = response.code.to_i
|
|
106
|
+
if code.between?(200, 299)
|
|
107
|
+
Wavix::Types::SenderIDResponse.load(response.body)
|
|
108
|
+
else
|
|
109
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
110
|
+
raise error_class.new(response.body, code: code)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Deletes the Sender ID identified by `id`. Deletion is permanent.
|
|
115
|
+
#
|
|
116
|
+
# @param request_options [Hash]
|
|
117
|
+
# @param params [Hash]
|
|
118
|
+
# @option request_options [String] :base_url
|
|
119
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
120
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
121
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
122
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
123
|
+
# @option params [String] :id
|
|
124
|
+
#
|
|
125
|
+
# @return [Wavix::SmsAndMms::SenderIDs::Types::DeleteSenderIDsResponse]
|
|
126
|
+
def delete(request_options: {}, **params)
|
|
127
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
128
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
129
|
+
base_url: request_options[:base_url],
|
|
130
|
+
method: "DELETE",
|
|
131
|
+
path: "v3/messages/sender-ids/#{URI.encode_uri_component(params[:id].to_s)}",
|
|
132
|
+
request_options: request_options
|
|
133
|
+
)
|
|
134
|
+
begin
|
|
135
|
+
response = @client.send(request)
|
|
136
|
+
rescue Net::HTTPRequestTimeout
|
|
137
|
+
raise Wavix::Errors::TimeoutError
|
|
138
|
+
end
|
|
139
|
+
code = response.code.to_i
|
|
140
|
+
if code.between?(200, 299)
|
|
141
|
+
Wavix::SmsAndMms::SenderIDs::Types::DeleteSenderIDsResponse.load(response.body)
|
|
142
|
+
else
|
|
143
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
144
|
+
raise error_class.new(response.body, code: code)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SmsAndMms
|
|
5
|
+
module SenderIDs
|
|
6
|
+
module Types
|
|
7
|
+
class DeleteSenderIDsResponse < Internal::Types::Model
|
|
8
|
+
field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SmsAndMms
|
|
5
|
+
module SenderIDs
|
|
6
|
+
module Types
|
|
7
|
+
class SenderIDCreateRequest < Internal::Types::Model
|
|
8
|
+
field :sender_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :type, -> { Wavix::Types::SenderIDType }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :countries, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :usecase, -> { Wavix::SmsAndMms::SenderIDs::Types::SenderIDCreateRequestUsecase }, optional: false, nullable: false
|
|
15
|
+
|
|
16
|
+
field :monthly_volume, -> { Wavix::SmsAndMms::SenderIDs::Types::SenderIDCreateRequestMonthlyVolume }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :samples, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SmsAndMms
|
|
5
|
+
module SenderIDs
|
|
6
|
+
module Types
|
|
7
|
+
module SenderIDCreateRequestMonthlyVolume
|
|
8
|
+
extend Wavix::Internal::Types::Enum
|
|
9
|
+
|
|
10
|
+
ONE1000 = "1-1000"
|
|
11
|
+
ONE_THOUSAND_ONE20000 = "1001-20000"
|
|
12
|
+
UNDEFINED50000 = "20001-50000"
|
|
13
|
+
UNDEFINED100000 = "50001-100000"
|
|
14
|
+
MORE_THAN100000 = "More than 100000"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SmsAndMms
|
|
5
|
+
module SenderIDs
|
|
6
|
+
module Types
|
|
7
|
+
module SenderIDCreateRequestUsecase
|
|
8
|
+
extend Wavix::Internal::Types::Enum
|
|
9
|
+
|
|
10
|
+
TRANSACTIONAL = "transactional"
|
|
11
|
+
PROMO = "promo"
|
|
12
|
+
AUTHENTICATION = "authentication"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [Wavix::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Uploads an audio file for transcription. Transcription is asynchronous; Wavix sends a POST callback to
|
|
14
|
+
# `callback_url` when it completes, including the `request_id` returned by this request.
|
|
15
|
+
#
|
|
16
|
+
# Callback body:
|
|
17
|
+
# ```json
|
|
18
|
+
# {
|
|
19
|
+
# "request_id": "e865ea07-25af-4fdd-876e-04b0d41d5ebd",
|
|
20
|
+
# "status": "completed",
|
|
21
|
+
# "error": null
|
|
22
|
+
# }
|
|
23
|
+
# ```
|
|
24
|
+
#
|
|
25
|
+
# - `request_id`: ID of the transcription request.
|
|
26
|
+
# - `status`: One of `completed` (transcription succeeded) or `failed` (transcription encountered an error).
|
|
27
|
+
# - `error`: Error description, or `null` when the transcription succeeded.
|
|
28
|
+
#
|
|
29
|
+
# @param request_options [Hash]
|
|
30
|
+
# @param params [void]
|
|
31
|
+
# @option request_options [String] :base_url
|
|
32
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
33
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
34
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
35
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
36
|
+
#
|
|
37
|
+
# @return [Wavix::SpeechAnalytics::Types::CreateSpeechAnalyticsResponse]
|
|
38
|
+
def create(request_options: {}, **params)
|
|
39
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
40
|
+
body = Internal::Multipart::FormData.new
|
|
41
|
+
|
|
42
|
+
body.add_part(params[:file].to_form_data_part(name: "file")) if params[:file]
|
|
43
|
+
if params[:callback_url]
|
|
44
|
+
body.add(
|
|
45
|
+
name: "callback_url",
|
|
46
|
+
value: params[:callback_url]
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
if params[:insights]
|
|
50
|
+
body.add(
|
|
51
|
+
name: "insights",
|
|
52
|
+
value: params[:insights]
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
request = Wavix::Internal::Multipart::Request.new(
|
|
57
|
+
base_url: request_options[:base_url],
|
|
58
|
+
method: "POST",
|
|
59
|
+
path: "v1/speech-analytics",
|
|
60
|
+
body: body,
|
|
61
|
+
request_options: request_options
|
|
62
|
+
)
|
|
63
|
+
begin
|
|
64
|
+
response = @client.send(request)
|
|
65
|
+
rescue Net::HTTPRequestTimeout
|
|
66
|
+
raise Wavix::Errors::TimeoutError
|
|
67
|
+
end
|
|
68
|
+
code = response.code.to_i
|
|
69
|
+
if code.between?(200, 299)
|
|
70
|
+
Wavix::SpeechAnalytics::Types::CreateSpeechAnalyticsResponse.load(response.body)
|
|
71
|
+
else
|
|
72
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
73
|
+
raise error_class.new(response.body, code: code)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Returns the transcription for the request identified by `request_id`, including transcript, speaker turns, and
|
|
78
|
+
# insights when available.
|
|
79
|
+
#
|
|
80
|
+
# @param request_options [Hash]
|
|
81
|
+
# @param params [Hash]
|
|
82
|
+
# @option request_options [String] :base_url
|
|
83
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
84
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
85
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
86
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
87
|
+
# @option params [String] :request_id
|
|
88
|
+
#
|
|
89
|
+
# @return [Wavix::SpeechAnalytics::Types::GetSpeechAnalyticsResponse]
|
|
90
|
+
def get(request_options: {}, **params)
|
|
91
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
92
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
93
|
+
base_url: request_options[:base_url],
|
|
94
|
+
method: "GET",
|
|
95
|
+
path: "v1/speech-analytics/#{URI.encode_uri_component(params[:request_id].to_s)}",
|
|
96
|
+
request_options: request_options
|
|
97
|
+
)
|
|
98
|
+
begin
|
|
99
|
+
response = @client.send(request)
|
|
100
|
+
rescue Net::HTTPRequestTimeout
|
|
101
|
+
raise Wavix::Errors::TimeoutError
|
|
102
|
+
end
|
|
103
|
+
code = response.code.to_i
|
|
104
|
+
if code.between?(200, 299)
|
|
105
|
+
Wavix::SpeechAnalytics::Types::GetSpeechAnalyticsResponse.load(response.body)
|
|
106
|
+
else
|
|
107
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
108
|
+
raise error_class.new(response.body, code: code)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Re-runs transcription on the file identified by `request_id`, replacing the existing transcript.
|
|
113
|
+
#
|
|
114
|
+
# @param request_options [Hash]
|
|
115
|
+
# @param params [Wavix::SpeechAnalytics::Types::SpeechAnalyticsRetranscribeRequest]
|
|
116
|
+
# @option request_options [String] :base_url
|
|
117
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
118
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
119
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
120
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
121
|
+
# @option params [String] :request_id
|
|
122
|
+
#
|
|
123
|
+
# @return [Wavix::Types::SuccessResponse]
|
|
124
|
+
def retranscribe(request_options: {}, **params)
|
|
125
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
126
|
+
request_data = Wavix::SpeechAnalytics::Types::SpeechAnalyticsRetranscribeRequest.new(params).to_h
|
|
127
|
+
non_body_param_names = %w[request_id]
|
|
128
|
+
body = request_data.except(*non_body_param_names)
|
|
129
|
+
|
|
130
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
131
|
+
base_url: request_options[:base_url],
|
|
132
|
+
method: "PUT",
|
|
133
|
+
path: "v1/speech-analytics/#{URI.encode_uri_component(params[:request_id].to_s)}",
|
|
134
|
+
body: body,
|
|
135
|
+
request_options: request_options
|
|
136
|
+
)
|
|
137
|
+
begin
|
|
138
|
+
response = @client.send(request)
|
|
139
|
+
rescue Net::HTTPRequestTimeout
|
|
140
|
+
raise Wavix::Errors::TimeoutError
|
|
141
|
+
end
|
|
142
|
+
code = response.code.to_i
|
|
143
|
+
if code.between?(200, 299)
|
|
144
|
+
Wavix::Types::SuccessResponse.load(response.body)
|
|
145
|
+
else
|
|
146
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
147
|
+
raise error_class.new(response.body, code: code)
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# @return [Wavix::File::Client]
|
|
152
|
+
def file
|
|
153
|
+
@file ||= Wavix::SpeechAnalytics::File::Client.new(client: @client)
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
module File
|
|
6
|
+
class Client
|
|
7
|
+
# @param client [Wavix::Internal::Http::RawClient]
|
|
8
|
+
#
|
|
9
|
+
# @return [void]
|
|
10
|
+
def initialize(client:)
|
|
11
|
+
@client = client
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Returns the original audio file submitted for the transcription identified by `request_id`.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Hash]
|
|
17
|
+
# @param params [Hash]
|
|
18
|
+
# @option request_options [String] :base_url
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
22
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
23
|
+
# @option params [String] :request_id
|
|
24
|
+
#
|
|
25
|
+
# @return [untyped]
|
|
26
|
+
def get(request_options: {}, **params)
|
|
27
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
28
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
29
|
+
base_url: request_options[:base_url],
|
|
30
|
+
method: "GET",
|
|
31
|
+
path: "v1/speech-analytics/#{URI.encode_uri_component(params[:request_id].to_s)}/file",
|
|
32
|
+
request_options: request_options
|
|
33
|
+
)
|
|
34
|
+
begin
|
|
35
|
+
response = @client.send(request)
|
|
36
|
+
rescue Net::HTTPRequestTimeout
|
|
37
|
+
raise Wavix::Errors::TimeoutError
|
|
38
|
+
end
|
|
39
|
+
code = response.code.to_i
|
|
40
|
+
return if code.between?(200, 299)
|
|
41
|
+
|
|
42
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
43
|
+
raise error_class.new(response.body, code: code)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
module Types
|
|
6
|
+
class CreateSpeechAnalyticsResponse < Internal::Types::Model
|
|
7
|
+
field :file, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :request_id, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
module Types
|
|
6
|
+
class GetSpeechAnalyticsResponse < Internal::Types::Model
|
|
7
|
+
field :transcript, -> { Wavix::Types::FileTranscriptResponse }, optional: false, nullable: true
|
|
8
|
+
|
|
9
|
+
field :turns, -> { Internal::Types::Array[Wavix::Types::FileTranscriptTurn] }, optional: false, nullable: true
|
|
10
|
+
|
|
11
|
+
field :request_id, -> { String }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :language, -> { Wavix::SpeechAnalytics::Types::GetSpeechAnalyticsResponseLanguage }, optional: false, nullable: true
|
|
14
|
+
|
|
15
|
+
field :duration, -> { Integer }, optional: false, nullable: true
|
|
16
|
+
|
|
17
|
+
field :charge, -> { String }, optional: false, nullable: false
|
|
18
|
+
|
|
19
|
+
field :status, -> { Wavix::SpeechAnalytics::Types::GetSpeechAnalyticsResponseStatus }, optional: false, nullable: false
|
|
20
|
+
|
|
21
|
+
field :transcription_date, -> { String }, optional: false, nullable: false
|
|
22
|
+
|
|
23
|
+
field :transcription_score, -> { String }, optional: false, nullable: true
|
|
24
|
+
|
|
25
|
+
field :transcription_summary, -> { String }, optional: false, nullable: true
|
|
26
|
+
|
|
27
|
+
field :original_file, -> { String }, optional: false, nullable: false
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
module Types
|
|
6
|
+
module GetSpeechAnalyticsResponseLanguage
|
|
7
|
+
extend Wavix::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
EN = "en"
|
|
10
|
+
DE = "de"
|
|
11
|
+
ES = "es"
|
|
12
|
+
FR = "fr"
|
|
13
|
+
IT = "it"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module SpeechAnalytics
|
|
5
|
+
module Types
|
|
6
|
+
class SpeechAnalyticsRetranscribeRequest < Internal::Types::Model
|
|
7
|
+
field :request_id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :callback_url, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :insights, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|