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,89 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Represents a 10DLC campaign registered under a Brand. A Campaign defines the messaging use case, opt-in and
|
|
8
|
+
# opt-out flows, and the phone numbers permitted to send its traffic.
|
|
9
|
+
class GetCampaignsResponse < Internal::Types::Model
|
|
10
|
+
field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
15
|
+
|
|
16
|
+
field :last_bill_date, -> { String }, optional: false, nullable: true
|
|
17
|
+
|
|
18
|
+
field :next_bill_date, -> { String }, optional: false, nullable: true
|
|
19
|
+
|
|
20
|
+
field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
21
|
+
|
|
22
|
+
field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
23
|
+
|
|
24
|
+
field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
25
|
+
|
|
26
|
+
field :embedded_link_sample, -> { String }, optional: false, nullable: true
|
|
27
|
+
|
|
28
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
29
|
+
|
|
30
|
+
field :campaign_id, -> { String }, optional: false, nullable: false
|
|
31
|
+
|
|
32
|
+
field :description, -> { String }, optional: false, nullable: true
|
|
33
|
+
|
|
34
|
+
field :optin_workflow, -> { String }, optional: false, nullable: true
|
|
35
|
+
|
|
36
|
+
field :feedback, -> { String }, optional: false, nullable: true
|
|
37
|
+
|
|
38
|
+
field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
39
|
+
|
|
40
|
+
field :help_keywords, -> { String }, optional: false, nullable: false
|
|
41
|
+
|
|
42
|
+
field :help_message, -> { String }, optional: false, nullable: true
|
|
43
|
+
|
|
44
|
+
field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
45
|
+
|
|
46
|
+
field :optin_keywords, -> { String }, optional: false, nullable: false
|
|
47
|
+
|
|
48
|
+
field :optin_message, -> { String }, optional: false, nullable: true
|
|
49
|
+
|
|
50
|
+
field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
51
|
+
|
|
52
|
+
field :optout_keywords, -> { String }, optional: false, nullable: false
|
|
53
|
+
|
|
54
|
+
field :optout_message, -> { String }, optional: false, nullable: true
|
|
55
|
+
|
|
56
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
57
|
+
|
|
58
|
+
field :created_at, -> { String }, optional: false, nullable: false
|
|
59
|
+
|
|
60
|
+
field :sample1, -> { String }, optional: false, nullable: true
|
|
61
|
+
|
|
62
|
+
field :sample2, -> { String }, optional: false, nullable: true
|
|
63
|
+
|
|
64
|
+
field :sample3, -> { String }, optional: false, nullable: true
|
|
65
|
+
|
|
66
|
+
field :sample4, -> { String }, optional: false, nullable: true
|
|
67
|
+
|
|
68
|
+
field :sample5, -> { String }, optional: false, nullable: true
|
|
69
|
+
|
|
70
|
+
field :updated_at, -> { String }, optional: false, nullable: false
|
|
71
|
+
|
|
72
|
+
field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
73
|
+
|
|
74
|
+
field :usecase, -> { String }, optional: false, nullable: false
|
|
75
|
+
|
|
76
|
+
field :monthly_fee, -> { String }, optional: false, nullable: false
|
|
77
|
+
|
|
78
|
+
field :privacy_policy, -> { String }, optional: false, nullable: true
|
|
79
|
+
|
|
80
|
+
field :terms_conditions, -> { String }, optional: false, nullable: true
|
|
81
|
+
|
|
82
|
+
field :status, -> { String }, optional: false, nullable: false
|
|
83
|
+
|
|
84
|
+
field :phone_numbers, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
class ListByBrandCampaignsRequest < Internal::Types::Model
|
|
8
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :name, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :usecase, -> { String }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :status, -> { String }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :mock, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :created_before, -> { String }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :created_after, -> { String }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :page, -> { Integer }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :per_page, -> { Integer }, optional: true, nullable: false
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Paginated list of 10DLC Campaigns.
|
|
8
|
+
class ListByBrandCampaignsResponse < Internal::Types::Model
|
|
9
|
+
field :items, -> { Internal::Types::Array[Wavix::Types::TenDlcCampaign] }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :pagination, -> { Wavix::TenDlc::Campaigns::Types::ListByBrandCampaignsResponsePagination }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Pagination metadata for the result set.
|
|
8
|
+
class ListByBrandCampaignsResponsePagination < Internal::Types::Model
|
|
9
|
+
field :current_page, -> { Integer }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :per_page, -> { Integer }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :total, -> { Integer }, optional: false, nullable: false
|
|
14
|
+
|
|
15
|
+
field :total_pages, -> { Integer }, optional: false, nullable: false
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
class ListCampaignsRequest < Internal::Types::Model
|
|
8
|
+
field :name, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :usecase, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :status, -> { String }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :mock, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :created_before, -> { String }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :created_after, -> { String }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :page, -> { Integer }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :per_page, -> { Integer }, optional: true, nullable: false
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Paginated list of 10DLC Campaigns.
|
|
8
|
+
class ListCampaignsResponse < Internal::Types::Model
|
|
9
|
+
field :items, -> { Internal::Types::Array[Wavix::Types::TenDlcCampaign] }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :pagination, -> { Wavix::TenDlc::Campaigns::Types::ListCampaignsResponsePagination }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Pagination metadata for the result set.
|
|
8
|
+
class ListCampaignsResponsePagination < Internal::Types::Model
|
|
9
|
+
field :current_page, -> { Integer }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :per_page, -> { Integer }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :total, -> { Integer }, optional: false, nullable: false
|
|
14
|
+
|
|
15
|
+
field :total_pages, -> { Integer }, optional: false, nullable: false
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
class NudgeCampaignsRequest < Internal::Types::Model
|
|
8
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :campaign_id, -> { String }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :nudge_intent, -> { String }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :description, -> { String }, optional: false, nullable: false
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
class TenDlcCampaignCreateRequest < Internal::Types::Model
|
|
8
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
15
|
+
|
|
16
|
+
field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
17
|
+
|
|
18
|
+
field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
19
|
+
|
|
20
|
+
field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: true
|
|
21
|
+
|
|
22
|
+
field :embedded_link_sample, -> { String }, optional: false, nullable: true
|
|
23
|
+
|
|
24
|
+
field :description, -> { String }, optional: false, nullable: false
|
|
25
|
+
|
|
26
|
+
field :optin_workflow, -> { String }, optional: false, nullable: false
|
|
27
|
+
|
|
28
|
+
field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
29
|
+
|
|
30
|
+
field :help_keywords, -> { String }, optional: false, nullable: false
|
|
31
|
+
|
|
32
|
+
field :help_message, -> { String }, optional: false, nullable: false
|
|
33
|
+
|
|
34
|
+
field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
35
|
+
|
|
36
|
+
field :optin_keywords, -> { String }, optional: false, nullable: false
|
|
37
|
+
|
|
38
|
+
field :optin_message, -> { String }, optional: false, nullable: false
|
|
39
|
+
|
|
40
|
+
field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
41
|
+
|
|
42
|
+
field :optout_keywords, -> { String }, optional: false, nullable: false
|
|
43
|
+
|
|
44
|
+
field :optout_message, -> { String }, optional: false, nullable: false
|
|
45
|
+
|
|
46
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
47
|
+
|
|
48
|
+
field :sample1, -> { String }, optional: false, nullable: false
|
|
49
|
+
|
|
50
|
+
field :sample2, -> { String }, optional: false, nullable: true
|
|
51
|
+
|
|
52
|
+
field :sample3, -> { String }, optional: false, nullable: true
|
|
53
|
+
|
|
54
|
+
field :sample4, -> { String }, optional: false, nullable: true
|
|
55
|
+
|
|
56
|
+
field :sample5, -> { String }, optional: false, nullable: true
|
|
57
|
+
|
|
58
|
+
field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
59
|
+
|
|
60
|
+
field :usecase, -> { String }, optional: false, nullable: false
|
|
61
|
+
|
|
62
|
+
field :privacy_policy, -> { String }, optional: true, nullable: false
|
|
63
|
+
|
|
64
|
+
field :terms_conditions, -> { String }, optional: false, nullable: false
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
class TenDlcCampaignUpdateRequest < Internal::Types::Model
|
|
8
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :campaign_id, -> { String }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :name, -> { String }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :usecase, -> { Wavix::TenDlc::Campaigns::Types::TenDlcCampaignUpdateRequestUsecase }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :description, -> { String }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :embedded_links, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :embedded_phones, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :age_gated, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :direct_lending, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
25
|
+
|
|
26
|
+
field :optin, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
27
|
+
|
|
28
|
+
field :optout, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
29
|
+
|
|
30
|
+
field :help, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
31
|
+
|
|
32
|
+
field :sample1, -> { String }, optional: true, nullable: false
|
|
33
|
+
|
|
34
|
+
field :sample2, -> { String }, optional: true, nullable: false
|
|
35
|
+
|
|
36
|
+
field :sample3, -> { String }, optional: true, nullable: false
|
|
37
|
+
|
|
38
|
+
field :sample4, -> { String }, optional: true, nullable: false
|
|
39
|
+
|
|
40
|
+
field :sample5, -> { String }, optional: true, nullable: false
|
|
41
|
+
|
|
42
|
+
field :optin_workflow, -> { String }, optional: true, nullable: false
|
|
43
|
+
|
|
44
|
+
field :help_message, -> { String }, optional: true, nullable: false
|
|
45
|
+
|
|
46
|
+
field :optin_message, -> { String }, optional: true, nullable: false
|
|
47
|
+
|
|
48
|
+
field :optout_message, -> { String }, optional: true, nullable: false
|
|
49
|
+
|
|
50
|
+
field :auto_renewal, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
51
|
+
|
|
52
|
+
field :optin_keywords, -> { String }, optional: true, nullable: false
|
|
53
|
+
|
|
54
|
+
field :help_keywords, -> { String }, optional: true, nullable: false
|
|
55
|
+
|
|
56
|
+
field :optout_keywords, -> { String }, optional: true, nullable: false
|
|
57
|
+
|
|
58
|
+
field :terms_conditions, -> { String }, optional: true, nullable: false
|
|
59
|
+
|
|
60
|
+
field :privacy_policy, -> { String }, optional: true, nullable: false
|
|
61
|
+
|
|
62
|
+
field :embedded_link_sample, -> { String }, optional: true, nullable: false
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
module TenDlcCampaignUpdateRequestUsecase
|
|
8
|
+
extend Wavix::Internal::Types::Enum
|
|
9
|
+
|
|
10
|
+
CUSTOMER_CARE = "CUSTOMER_CARE"
|
|
11
|
+
MARKETING = "MARKETING"
|
|
12
|
+
ACCOUNT_NOTIFICATION = "ACCOUNT_NOTIFICATION"
|
|
13
|
+
FRAUD_ALERT = "FRAUD_ALERT"
|
|
14
|
+
PUBLIC_SERVICE_ANNOUNCEMENT = "PUBLIC_SERVICE_ANNOUNCEMENT"
|
|
15
|
+
SECURITY_ALERT = "SECURITY_ALERT"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Campaigns
|
|
6
|
+
module Types
|
|
7
|
+
# Represents a 10DLC campaign registered under a Brand. A Campaign defines the messaging use case, opt-in and
|
|
8
|
+
# opt-out flows, and the phone numbers permitted to send its traffic.
|
|
9
|
+
class UpdateCampaignsResponse < Internal::Types::Model
|
|
10
|
+
field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
15
|
+
|
|
16
|
+
field :last_bill_date, -> { String }, optional: false, nullable: true
|
|
17
|
+
|
|
18
|
+
field :next_bill_date, -> { String }, optional: false, nullable: true
|
|
19
|
+
|
|
20
|
+
field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
21
|
+
|
|
22
|
+
field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
23
|
+
|
|
24
|
+
field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
25
|
+
|
|
26
|
+
field :embedded_link_sample, -> { String }, optional: false, nullable: true
|
|
27
|
+
|
|
28
|
+
field :brand_id, -> { String }, optional: false, nullable: false
|
|
29
|
+
|
|
30
|
+
field :campaign_id, -> { String }, optional: false, nullable: false
|
|
31
|
+
|
|
32
|
+
field :description, -> { String }, optional: false, nullable: true
|
|
33
|
+
|
|
34
|
+
field :optin_workflow, -> { String }, optional: false, nullable: true
|
|
35
|
+
|
|
36
|
+
field :feedback, -> { String }, optional: false, nullable: true
|
|
37
|
+
|
|
38
|
+
field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
39
|
+
|
|
40
|
+
field :help_keywords, -> { String }, optional: false, nullable: false
|
|
41
|
+
|
|
42
|
+
field :help_message, -> { String }, optional: false, nullable: true
|
|
43
|
+
|
|
44
|
+
field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
45
|
+
|
|
46
|
+
field :optin_keywords, -> { String }, optional: false, nullable: false
|
|
47
|
+
|
|
48
|
+
field :optin_message, -> { String }, optional: false, nullable: true
|
|
49
|
+
|
|
50
|
+
field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
51
|
+
|
|
52
|
+
field :optout_keywords, -> { String }, optional: false, nullable: false
|
|
53
|
+
|
|
54
|
+
field :optout_message, -> { String }, optional: false, nullable: true
|
|
55
|
+
|
|
56
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
57
|
+
|
|
58
|
+
field :created_at, -> { String }, optional: false, nullable: false
|
|
59
|
+
|
|
60
|
+
field :sample1, -> { String }, optional: false, nullable: true
|
|
61
|
+
|
|
62
|
+
field :sample2, -> { String }, optional: false, nullable: true
|
|
63
|
+
|
|
64
|
+
field :sample3, -> { String }, optional: false, nullable: true
|
|
65
|
+
|
|
66
|
+
field :sample4, -> { String }, optional: false, nullable: true
|
|
67
|
+
|
|
68
|
+
field :sample5, -> { String }, optional: false, nullable: true
|
|
69
|
+
|
|
70
|
+
field :updated_at, -> { String }, optional: false, nullable: false
|
|
71
|
+
|
|
72
|
+
field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
73
|
+
|
|
74
|
+
field :usecase, -> { String }, optional: false, nullable: false
|
|
75
|
+
|
|
76
|
+
field :monthly_fee, -> { String }, optional: false, nullable: false
|
|
77
|
+
|
|
78
|
+
field :privacy_policy, -> { String }, optional: false, nullable: true
|
|
79
|
+
|
|
80
|
+
field :terms_conditions, -> { String }, optional: false, nullable: true
|
|
81
|
+
|
|
82
|
+
field :status, -> { String }, optional: false, nullable: false
|
|
83
|
+
|
|
84
|
+
field :phone_numbers, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
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
|
+
# @return [Wavix::Brands::Client]
|
|
14
|
+
def brands
|
|
15
|
+
@brands ||= Wavix::TenDlc::Brands::Client.new(client: @client)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @return [Wavix::BrandAppeals::Client]
|
|
19
|
+
def brand_appeals
|
|
20
|
+
@brand_appeals ||= Wavix::TenDlc::BrandAppeals::Client.new(client: @client)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @return [Wavix::BrandEvidence::Client]
|
|
24
|
+
def brand_evidence
|
|
25
|
+
@brand_evidence ||= Wavix::TenDlc::BrandEvidence::Client.new(client: @client)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @return [Wavix::BrandVettings::Client]
|
|
29
|
+
def brand_vettings
|
|
30
|
+
@brand_vettings ||= Wavix::TenDlc::BrandVettings::Client.new(client: @client)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Wavix::BrandVettingAppeals::Client]
|
|
34
|
+
def brand_vetting_appeals
|
|
35
|
+
@brand_vetting_appeals ||= Wavix::TenDlc::BrandVettingAppeals::Client.new(client: @client)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [Wavix::Campaigns::Client]
|
|
39
|
+
def campaigns
|
|
40
|
+
@campaigns ||= Wavix::TenDlc::Campaigns::Client.new(client: @client)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [Wavix::Subscriptions::Client]
|
|
44
|
+
def subscriptions
|
|
45
|
+
@subscriptions ||= Wavix::TenDlc::Subscriptions::Client.new(client: @client)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @return [Wavix::CampaignNumbers::Client]
|
|
49
|
+
def campaign_numbers
|
|
50
|
+
@campaign_numbers ||= Wavix::TenDlc::CampaignNumbers::Client.new(client: @client)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Subscriptions
|
|
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 10DLC event subscriptions 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 [Array[Wavix::Types::TenDlcEventSubscription]]
|
|
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/10dlc/subscriptions",
|
|
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
|
+
return if code.between?(200, 299)
|
|
39
|
+
|
|
40
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
41
|
+
raise error_class.new(response.body, code: code)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Registers a callback URL to receive Wavix 10DLC event notifications.
|
|
45
|
+
#
|
|
46
|
+
# @param request_options [Hash]
|
|
47
|
+
# @param params [Wavix::Types::TenDlcEventSubscription]
|
|
48
|
+
# @option request_options [String] :base_url
|
|
49
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
50
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
51
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
52
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
53
|
+
#
|
|
54
|
+
# @return [Wavix::TenDlc::Subscriptions::Types::CreateSubscriptionsResponse]
|
|
55
|
+
def create(request_options: {}, **params)
|
|
56
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
57
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
58
|
+
base_url: request_options[:base_url],
|
|
59
|
+
method: "POST",
|
|
60
|
+
path: "v3/10dlc/subscriptions",
|
|
61
|
+
body: Wavix::Types::TenDlcEventSubscription.new(params).to_h,
|
|
62
|
+
request_options: request_options
|
|
63
|
+
)
|
|
64
|
+
begin
|
|
65
|
+
response = @client.send(request)
|
|
66
|
+
rescue Net::HTTPRequestTimeout
|
|
67
|
+
raise Wavix::Errors::TimeoutError
|
|
68
|
+
end
|
|
69
|
+
code = response.code.to_i
|
|
70
|
+
if code.between?(200, 299)
|
|
71
|
+
Wavix::TenDlc::Subscriptions::Types::CreateSubscriptionsResponse.load(response.body)
|
|
72
|
+
else
|
|
73
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
74
|
+
raise error_class.new(response.body, code: code)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Removes the 10DLC event subscription for the specified event category.
|
|
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] :subscription_category
|
|
88
|
+
#
|
|
89
|
+
# @return [Wavix::TenDlc::Subscriptions::Types::DeleteSubscriptionsResponse]
|
|
90
|
+
def delete(request_options: {}, **params)
|
|
91
|
+
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
92
|
+
query_params = {}
|
|
93
|
+
query_params["subscription_category"] = params[:subscription_category] if params.key?(:subscription_category)
|
|
94
|
+
|
|
95
|
+
request = Wavix::Internal::JSON::Request.new(
|
|
96
|
+
base_url: request_options[:base_url],
|
|
97
|
+
method: "DELETE",
|
|
98
|
+
path: "v3/10dlc/subscriptions",
|
|
99
|
+
query: query_params,
|
|
100
|
+
request_options: request_options
|
|
101
|
+
)
|
|
102
|
+
begin
|
|
103
|
+
response = @client.send(request)
|
|
104
|
+
rescue Net::HTTPRequestTimeout
|
|
105
|
+
raise Wavix::Errors::TimeoutError
|
|
106
|
+
end
|
|
107
|
+
code = response.code.to_i
|
|
108
|
+
if code.between?(200, 299)
|
|
109
|
+
Wavix::TenDlc::Subscriptions::Types::DeleteSubscriptionsResponse.load(response.body)
|
|
110
|
+
else
|
|
111
|
+
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
112
|
+
raise error_class.new(response.body, code: code)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module TenDlc
|
|
5
|
+
module Subscriptions
|
|
6
|
+
module Types
|
|
7
|
+
# Represents a subscription that delivers 10DLC lifecycle events to a webhook URL.
|
|
8
|
+
class CreateSubscriptionsResponse < Internal::Types::Model
|
|
9
|
+
field :subscription_category, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :url, -> { String }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|