wavix-python-sdk 1.0.0__py3-none-any.whl
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.
- wavix/__init__.py +801 -0
- wavix/_default_clients.py +32 -0
- wavix/api_keys/__init__.py +4 -0
- wavix/api_keys/client.py +764 -0
- wavix/api_keys/raw_client.py +1191 -0
- wavix/billing/__init__.py +41 -0
- wavix/billing/client.py +82 -0
- wavix/billing/invoices/__init__.py +34 -0
- wavix/billing/invoices/client.py +203 -0
- wavix/billing/invoices/raw_client.py +302 -0
- wavix/billing/invoices/types/__init__.py +34 -0
- wavix/billing/invoices/types/list_invoices_response.py +31 -0
- wavix/billing/raw_client.py +13 -0
- wavix/billing/transactions/__init__.py +34 -0
- wavix/billing/transactions/client.py +209 -0
- wavix/billing/transactions/raw_client.py +253 -0
- wavix/billing/transactions/types/__init__.py +34 -0
- wavix/billing/transactions/types/list_transactions_response.py +31 -0
- wavix/buy/__init__.py +61 -0
- wavix/buy/cities/__init__.py +34 -0
- wavix/buy/cities/client.py +134 -0
- wavix/buy/cities/raw_client.py +201 -0
- wavix/buy/cities/types/__init__.py +34 -0
- wavix/buy/cities/types/list_cities_response.py +23 -0
- wavix/buy/client.py +139 -0
- wavix/buy/countries/__init__.py +34 -0
- wavix/buy/countries/client.py +116 -0
- wavix/buy/countries/raw_client.py +144 -0
- wavix/buy/countries/types/__init__.py +34 -0
- wavix/buy/countries/types/list_countries_response.py +23 -0
- wavix/buy/numbers/__init__.py +34 -0
- wavix/buy/numbers/client.py +168 -0
- wavix/buy/numbers/raw_client.py +227 -0
- wavix/buy/numbers/types/__init__.py +34 -0
- wavix/buy/numbers/types/list_numbers_response.py +26 -0
- wavix/buy/raw_client.py +13 -0
- wavix/buy/region_cities/__init__.py +34 -0
- wavix/buy/region_cities/client.py +142 -0
- wavix/buy/region_cities/raw_client.py +207 -0
- wavix/buy/region_cities/types/__init__.py +34 -0
- wavix/buy/region_cities/types/list_region_cities_response.py +23 -0
- wavix/buy/regions/__init__.py +34 -0
- wavix/buy/regions/client.py +132 -0
- wavix/buy/regions/raw_client.py +222 -0
- wavix/buy/regions/types/__init__.py +34 -0
- wavix/buy/regions/types/list_regions_response.py +23 -0
- wavix/call_control/__init__.py +40 -0
- wavix/call_control/audio/__init__.py +4 -0
- wavix/call_control/audio/client.py +195 -0
- wavix/call_control/audio/raw_client.py +333 -0
- wavix/call_control/client.py +796 -0
- wavix/call_control/raw_client.py +1224 -0
- wavix/call_control/streams/__init__.py +4 -0
- wavix/call_control/streams/client.py +250 -0
- wavix/call_control/streams/raw_client.py +325 -0
- wavix/call_control/types/__init__.py +38 -0
- wavix/call_control/types/call_dtmf_collect_request_prompt.py +33 -0
- wavix/call_control/types/call_dtmf_collect_request_prompt_say.py +31 -0
- wavix/call_recording/__init__.py +4 -0
- wavix/call_recording/client.py +430 -0
- wavix/call_recording/raw_client.py +726 -0
- wavix/call_webhooks/__init__.py +37 -0
- wavix/call_webhooks/client.py +281 -0
- wavix/call_webhooks/raw_client.py +529 -0
- wavix/call_webhooks/types/__init__.py +38 -0
- wavix/call_webhooks/types/call_webhooks_create_request_event_type.py +5 -0
- wavix/call_webhooks/types/delete_call_webhooks_request_event_type.py +5 -0
- wavix/cart/__init__.py +38 -0
- wavix/cart/client.py +327 -0
- wavix/cart/raw_client.py +629 -0
- wavix/cart/types/__init__.py +40 -0
- wavix/cart/types/checkout_cart_response.py +22 -0
- wavix/cart/types/get_cart_response.py +29 -0
- wavix/cart/types/remove_cart_response.py +22 -0
- wavix/cdrs/__init__.py +39 -0
- wavix/cdrs/client.py +968 -0
- wavix/cdrs/raw_client.py +1176 -0
- wavix/cdrs/transcription/__init__.py +4 -0
- wavix/cdrs/transcription/client.py +112 -0
- wavix/cdrs/transcription/raw_client.py +156 -0
- wavix/cdrs/types/__init__.py +38 -0
- wavix/cdrs/types/cdr_search_request_disposition.py +5 -0
- wavix/cdrs/types/cdr_search_request_type.py +5 -0
- wavix/client.py +578 -0
- wavix/core/__init__.py +127 -0
- wavix/core/api_error.py +23 -0
- wavix/core/client_wrapper.py +119 -0
- wavix/core/datetime_utils.py +70 -0
- wavix/core/file.py +67 -0
- wavix/core/force_multipart.py +18 -0
- wavix/core/http_client.py +839 -0
- wavix/core/http_response.py +59 -0
- wavix/core/http_sse/__init__.py +42 -0
- wavix/core/http_sse/_api.py +170 -0
- wavix/core/http_sse/_decoders.py +61 -0
- wavix/core/http_sse/_exceptions.py +7 -0
- wavix/core/http_sse/_models.py +17 -0
- wavix/core/jsonable_encoder.py +120 -0
- wavix/core/logging.py +107 -0
- wavix/core/parse_error.py +36 -0
- wavix/core/pydantic_utilities.py +508 -0
- wavix/core/query_encoder.py +58 -0
- wavix/core/remove_none_from_dict.py +11 -0
- wavix/core/request_options.py +35 -0
- wavix/core/serialization.py +347 -0
- wavix/environment.py +7 -0
- wavix/errors/__init__.py +56 -0
- wavix/errors/bad_request_error.py +10 -0
- wavix/errors/forbidden_error.py +10 -0
- wavix/errors/not_found_error.py +10 -0
- wavix/errors/service_unavailable_error.py +11 -0
- wavix/errors/too_many_requests_error.py +11 -0
- wavix/errors/unauthorized_error.py +11 -0
- wavix/errors/unprocessable_entity_error.py +10 -0
- wavix/link_shortener/__init__.py +34 -0
- wavix/link_shortener/client.py +194 -0
- wavix/link_shortener/metrics/__init__.py +4 -0
- wavix/link_shortener/metrics/client.py +198 -0
- wavix/link_shortener/metrics/raw_client.py +218 -0
- wavix/link_shortener/raw_client.py +265 -0
- wavix/number_validator/__init__.py +35 -0
- wavix/number_validator/client.py +271 -0
- wavix/number_validator/raw_client.py +383 -0
- wavix/number_validator/results/__init__.py +4 -0
- wavix/number_validator/results/client.py +114 -0
- wavix/number_validator/results/raw_client.py +156 -0
- wavix/number_validator/types/__init__.py +34 -0
- wavix/number_validator/types/get_number_validator_response.py +112 -0
- wavix/numbers/__init__.py +39 -0
- wavix/numbers/client.py +689 -0
- wavix/numbers/papers/__init__.py +4 -0
- wavix/numbers/papers/client.py +155 -0
- wavix/numbers/papers/raw_client.py +208 -0
- wavix/numbers/raw_client.py +1000 -0
- wavix/numbers/types/__init__.py +38 -0
- wavix/numbers/types/bulk_update_numbers_response.py +23 -0
- wavix/numbers/types/delete_numbers_response.py +22 -0
- wavix/profile/__init__.py +41 -0
- wavix/profile/client.py +308 -0
- wavix/profile/config/__init__.py +34 -0
- wavix/profile/config/client.py +100 -0
- wavix/profile/config/raw_client.py +124 -0
- wavix/profile/config/types/__init__.py +34 -0
- wavix/profile/config/types/get_config_response.py +25 -0
- wavix/profile/raw_client.py +360 -0
- wavix/profile/types/__init__.py +38 -0
- wavix/profile/types/profile_update_request_company_info.py +48 -0
- wavix/profile/types/profile_update_request_company_info_industry.py +22 -0
- wavix/py.typed +0 -0
- wavix/sip_trunks/__init__.py +4 -0
- wavix/sip_trunks/client.py +927 -0
- wavix/sip_trunks/raw_client.py +1324 -0
- wavix/sms_and_mms/__init__.py +66 -0
- wavix/sms_and_mms/client.py +101 -0
- wavix/sms_and_mms/messages/__init__.py +49 -0
- wavix/sms_and_mms/messages/client.py +625 -0
- wavix/sms_and_mms/messages/raw_client.py +793 -0
- wavix/sms_and_mms/messages/types/__init__.py +47 -0
- wavix/sms_and_mms/messages/types/get_messages_response.py +97 -0
- wavix/sms_and_mms/messages/types/list_all_messages_request_message_type.py +5 -0
- wavix/sms_and_mms/messages/types/list_messages_request_message_type.py +5 -0
- wavix/sms_and_mms/messages/types/list_messages_response.py +26 -0
- wavix/sms_and_mms/opt_outs/__init__.py +34 -0
- wavix/sms_and_mms/opt_outs/client.py +277 -0
- wavix/sms_and_mms/opt_outs/raw_client.py +438 -0
- wavix/sms_and_mms/opt_outs/types/__init__.py +34 -0
- wavix/sms_and_mms/opt_outs/types/create_opt_outs_response.py +22 -0
- wavix/sms_and_mms/raw_client.py +13 -0
- wavix/sms_and_mms/sender_ids/__init__.py +38 -0
- wavix/sms_and_mms/sender_ids/client.py +391 -0
- wavix/sms_and_mms/sender_ids/raw_client.py +617 -0
- wavix/sms_and_mms/sender_ids/types/__init__.py +40 -0
- wavix/sms_and_mms/sender_ids/types/delete_sender_ids_response.py +22 -0
- wavix/sms_and_mms/sender_ids/types/sender_id_create_request_monthly_volume.py +7 -0
- wavix/sms_and_mms/sender_ids/types/sender_id_create_request_usecase.py +5 -0
- wavix/speech_analytics/__init__.py +52 -0
- wavix/speech_analytics/client.py +372 -0
- wavix/speech_analytics/file/__init__.py +4 -0
- wavix/speech_analytics/file/client.py +114 -0
- wavix/speech_analytics/file/raw_client.py +148 -0
- wavix/speech_analytics/raw_client.py +527 -0
- wavix/speech_analytics/types/__init__.py +47 -0
- wavix/speech_analytics/types/create_speech_analytics_response.py +32 -0
- wavix/speech_analytics/types/get_speech_analytics_response.py +77 -0
- wavix/speech_analytics/types/get_speech_analytics_response_language.py +5 -0
- wavix/speech_analytics/types/get_speech_analytics_response_status.py +5 -0
- wavix/sub_accounts/__init__.py +52 -0
- wavix/sub_accounts/client.py +442 -0
- wavix/sub_accounts/raw_client.py +775 -0
- wavix/sub_accounts/transactions/__init__.py +4 -0
- wavix/sub_accounts/transactions/client.py +198 -0
- wavix/sub_accounts/transactions/raw_client.py +265 -0
- wavix/sub_accounts/types/__init__.py +47 -0
- wavix/sub_accounts/types/list_sub_accounts_request_status.py +5 -0
- wavix/sub_accounts/types/sub_accounts_create_request_default_destinations.py +31 -0
- wavix/sub_accounts/types/sub_accounts_update_request_default_destinations.py +31 -0
- wavix/sub_accounts/types/sub_accounts_update_request_status.py +5 -0
- wavix/ten_dlc/__init__.py +167 -0
- wavix/ten_dlc/brand_appeals/__init__.py +34 -0
- wavix/ten_dlc/brand_appeals/client.py +244 -0
- wavix/ten_dlc/brand_appeals/raw_client.py +390 -0
- wavix/ten_dlc/brand_appeals/types/__init__.py +34 -0
- wavix/ten_dlc/brand_appeals/types/create_brand_appeals_response.py +22 -0
- wavix/ten_dlc/brand_evidence/__init__.py +37 -0
- wavix/ten_dlc/brand_evidence/client.py +365 -0
- wavix/ten_dlc/brand_evidence/raw_client.py +599 -0
- wavix/ten_dlc/brand_evidence/types/__init__.py +38 -0
- wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_response.py +22 -0
- wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_response.py +38 -0
- wavix/ten_dlc/brand_vetting_appeals/__init__.py +34 -0
- wavix/ten_dlc/brand_vetting_appeals/client.py +258 -0
- wavix/ten_dlc/brand_vetting_appeals/raw_client.py +381 -0
- wavix/ten_dlc/brand_vetting_appeals/types/__init__.py +36 -0
- wavix/ten_dlc/brand_vetting_appeals/types/create_brand_vetting_appeals_response.py +22 -0
- wavix/ten_dlc/brand_vettings/__init__.py +4 -0
- wavix/ten_dlc/brand_vettings/client.py +325 -0
- wavix/ten_dlc/brand_vettings/raw_client.py +518 -0
- wavix/ten_dlc/brands/__init__.py +85 -0
- wavix/ten_dlc/brands/client.py +870 -0
- wavix/ten_dlc/brands/raw_client.py +1263 -0
- wavix/ten_dlc/brands/types/__init__.py +83 -0
- wavix/ten_dlc/brands/types/create_brands_response.py +143 -0
- wavix/ten_dlc/brands/types/create_brands_response_entity_type.py +7 -0
- wavix/ten_dlc/brands/types/create_brands_response_status.py +7 -0
- wavix/ten_dlc/brands/types/delete_brands_response.py +22 -0
- wavix/ten_dlc/brands/types/get_brands_response.py +143 -0
- wavix/ten_dlc/brands/types/get_brands_response_entity_type.py +7 -0
- wavix/ten_dlc/brands/types/get_brands_response_status.py +7 -0
- wavix/ten_dlc/brands/types/list_brands_response.py +33 -0
- wavix/ten_dlc/brands/types/list_brands_response_pagination.py +41 -0
- wavix/ten_dlc/brands/types/qualify_usecase_brands_request_use_case.py +35 -0
- wavix/ten_dlc/brands/types/qualify_usecase_brands_response.py +33 -0
- wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_entity_type.py +7 -0
- wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_vertical.py +18 -0
- wavix/ten_dlc/brands/types/update_brands_response.py +143 -0
- wavix/ten_dlc/brands/types/update_brands_response_entity_type.py +7 -0
- wavix/ten_dlc/brands/types/update_brands_response_status.py +7 -0
- wavix/ten_dlc/campaign_numbers/__init__.py +38 -0
- wavix/ten_dlc/campaign_numbers/client.py +304 -0
- wavix/ten_dlc/campaign_numbers/raw_client.py +448 -0
- wavix/ten_dlc/campaign_numbers/types/__init__.py +40 -0
- wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_response.py +22 -0
- wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_response.py +33 -0
- wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_response.py +22 -0
- wavix/ten_dlc/campaigns/__init__.py +64 -0
- wavix/ten_dlc/campaigns/client.py +1493 -0
- wavix/ten_dlc/campaigns/raw_client.py +1840 -0
- wavix/ten_dlc/campaigns/types/__init__.py +62 -0
- wavix/ten_dlc/campaigns/types/create_campaigns_response.py +211 -0
- wavix/ten_dlc/campaigns/types/delete_campaigns_response.py +22 -0
- wavix/ten_dlc/campaigns/types/get_campaigns_response.py +211 -0
- wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response.py +33 -0
- wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response_pagination.py +41 -0
- wavix/ten_dlc/campaigns/types/list_campaigns_response.py +33 -0
- wavix/ten_dlc/campaigns/types/list_campaigns_response_pagination.py +41 -0
- wavix/ten_dlc/campaigns/types/ten_dlc_campaign_update_request_usecase.py +15 -0
- wavix/ten_dlc/campaigns/types/update_campaigns_response.py +211 -0
- wavix/ten_dlc/client.py +196 -0
- wavix/ten_dlc/raw_client.py +13 -0
- wavix/ten_dlc/subscriptions/__init__.py +37 -0
- wavix/ten_dlc/subscriptions/client.py +271 -0
- wavix/ten_dlc/subscriptions/raw_client.py +398 -0
- wavix/ten_dlc/subscriptions/types/__init__.py +38 -0
- wavix/ten_dlc/subscriptions/types/create_subscriptions_response.py +31 -0
- wavix/ten_dlc/subscriptions/types/delete_subscriptions_response.py +22 -0
- wavix/two_fa/__init__.py +56 -0
- wavix/two_fa/client.py +101 -0
- wavix/two_fa/events/__init__.py +4 -0
- wavix/two_fa/events/client.py +114 -0
- wavix/two_fa/events/raw_client.py +156 -0
- wavix/two_fa/raw_client.py +13 -0
- wavix/two_fa/sessions/__init__.py +4 -0
- wavix/two_fa/sessions/client.py +142 -0
- wavix/two_fa/sessions/raw_client.py +200 -0
- wavix/two_fa/verification/__init__.py +49 -0
- wavix/two_fa/verification/client.py +395 -0
- wavix/two_fa/verification/raw_client.py +664 -0
- wavix/two_fa/verification/types/__init__.py +47 -0
- wavix/two_fa/verification/types/check_verification_response.py +22 -0
- wavix/two_fa/verification/types/create_verification_response.py +51 -0
- wavix/two_fa/verification/types/resend_verification_response.py +38 -0
- wavix/two_fa/verification/types/two_factor_verification_resend_request_channel.py +5 -0
- wavix/types/__init__.py +637 -0
- wavix/types/account_error_response.py +31 -0
- wavix/types/account_limits.py +32 -0
- wavix/types/allowed_i_ps.py +7 -0
- wavix/types/allowed_i_ps_item.py +27 -0
- wavix/types/api_key.py +138 -0
- wavix/types/api_key_calls_scope_permission.py +30 -0
- wavix/types/api_key_calls_scope_permission_allow.py +5 -0
- wavix/types/api_key_scope_permission.py +30 -0
- wavix/types/api_key_scope_permission_allow.py +5 -0
- wavix/types/available_number.py +97 -0
- wavix/types/available_number_list_response.py +26 -0
- wavix/types/bad_request_error_body.py +27 -0
- wavix/types/billing_transaction_list_response.py +31 -0
- wavix/types/brand_status_updated_webhook.py +28 -0
- wavix/types/brand_status_updated_webhook_status.py +7 -0
- wavix/types/call.py +92 -0
- wavix/types/call_control_validation_error_response.py +34 -0
- wavix/types/call_create_response.py +92 -0
- wavix/types/call_create_response_event_type.py +18 -0
- wavix/types/call_direction.py +5 -0
- wavix/types/call_disposition.py +5 -0
- wavix/types/call_event_type.py +18 -0
- wavix/types/call_list_response.py +28 -0
- wavix/types/call_recording_list_response.py +28 -0
- wavix/types/call_response.py +24 -0
- wavix/types/call_status_webhook.py +70 -0
- wavix/types/call_status_webhook_direction.py +5 -0
- wavix/types/call_stream_channel.py +5 -0
- wavix/types/call_stream_response.py +27 -0
- wavix/types/call_stream_type.py +5 -0
- wavix/types/call_webhook.py +37 -0
- wavix/types/call_webhook_event_type.py +5 -0
- wavix/types/call_webhook_list_response.py +10 -0
- wavix/types/call_webhook_list_response_item.py +28 -0
- wavix/types/call_webhook_list_response_item_event_type.py +5 -0
- wavix/types/campaign_status_updated_webhook.py +41 -0
- wavix/types/campaign_status_updated_webhook_status.py +7 -0
- wavix/types/cart_response.py +29 -0
- wavix/types/cdr.py +97 -0
- wavix/types/cdr_list_response.py +26 -0
- wavix/types/cdr_response.py +104 -0
- wavix/types/cdr_transcription_completed_webhook.py +28 -0
- wavix/types/cdr_transcription_completed_webhook_status.py +5 -0
- wavix/types/cdr_transcription_response.py +74 -0
- wavix/types/cdr_transcription_search_response.py +26 -0
- wavix/types/cdr_with_transcription.py +97 -0
- wavix/types/city.py +32 -0
- wavix/types/city_list_response.py +23 -0
- wavix/types/country.py +32 -0
- wavix/types/country_has_no_regions_error_response.py +27 -0
- wavix/types/country_list_response.py +23 -0
- wavix/types/document_type.py +32 -0
- wavix/types/document_type_id.py +7 -0
- wavix/types/file_transcript_response.py +30 -0
- wavix/types/file_transcript_turn.py +46 -0
- wavix/types/file_transcription_completed_webhook.py +32 -0
- wavix/types/file_transcription_response.py +77 -0
- wavix/types/file_transcription_response_language.py +5 -0
- wavix/types/file_transcription_response_status.py +5 -0
- wavix/types/financial_transaction.py +57 -0
- wavix/types/forbidden_error_response.py +27 -0
- wavix/types/inbound_call_destination.py +53 -0
- wavix/types/inbound_call_transport.py +6 -0
- wavix/types/inbound_message.py +46 -0
- wavix/types/invalid_recording.py +31 -0
- wavix/types/invoice.py +42 -0
- wavix/types/invoice_list_response.py +31 -0
- wavix/types/list_brand_evidence_response.py +23 -0
- wavix/types/list_sessions_response_item.py +58 -0
- wavix/types/message.py +103 -0
- wavix/types/message_body.py +29 -0
- wavix/types/message_create_request.py +46 -0
- wavix/types/message_delivery_status.py +8 -0
- wavix/types/message_list_response.py +26 -0
- wavix/types/message_response.py +97 -0
- wavix/types/messages_delivery_report.py +81 -0
- wavix/types/not_found_error_body.py +27 -0
- wavix/types/not_found_error_response.py +27 -0
- wavix/types/number.py +160 -0
- wavix/types/number_destination.py +38 -0
- wavix/types/number_document.py +58 -0
- wavix/types/number_list_response.py +32 -0
- wavix/types/number_status_updated_webhook.py +38 -0
- wavix/types/number_status_updated_webhook_status.py +5 -0
- wavix/types/number_validator_create_bulk_response.py +10 -0
- wavix/types/number_validator_create_bulk_response_request_id.py +26 -0
- wavix/types/on_call_event_payload.py +34 -0
- wavix/types/on_call_event_payload_type.py +5 -0
- wavix/types/opt_out.py +27 -0
- wavix/types/opt_out_item.py +38 -0
- wavix/types/opt_outs_list_response.py +26 -0
- wavix/types/pagination.py +37 -0
- wavix/types/phone_lookup_details.py +32 -0
- wavix/types/phone_number_validation_type.py +5 -0
- wavix/types/phone_validation_batch_response.py +38 -0
- wavix/types/phone_validation_batch_result_response.py +41 -0
- wavix/types/phone_validation_response.py +112 -0
- wavix/types/phone_validation_result_response.py +115 -0
- wavix/types/profile_config_response.py +25 -0
- wavix/types/profile_response.py +79 -0
- wavix/types/profile_response_company_info.py +53 -0
- wavix/types/profile_response_company_info_country.py +31 -0
- wavix/types/profile_response_company_info_industry.py +22 -0
- wavix/types/profile_response_default_destinations_item.py +27 -0
- wavix/types/record_not_found_error_response.py +27 -0
- wavix/types/recording.py +57 -0
- wavix/types/recording_deleted_error_response.py +38 -0
- wavix/types/region.py +31 -0
- wavix/types/region_list_response.py +23 -0
- wavix/types/send_messages_response.py +100 -0
- wavix/types/sender_id.py +48 -0
- wavix/types/sender_id_details.py +44 -0
- wavix/types/sender_id_list_response.py +23 -0
- wavix/types/sender_id_response.py +48 -0
- wavix/types/sender_id_response_type.py +5 -0
- wavix/types/sender_id_type.py +5 -0
- wavix/types/short_link_metrics_item.py +69 -0
- wavix/types/short_link_metrics_response.py +26 -0
- wavix/types/short_link_response.py +22 -0
- wavix/types/sip_trunk_create_request.py +132 -0
- wavix/types/sip_trunk_create_request_allowed_ips_item.py +22 -0
- wavix/types/sip_trunk_create_request_host_request.py +26 -0
- wavix/types/sip_trunk_list_response.py +26 -0
- wavix/types/sip_trunk_response.py +145 -0
- wavix/types/sip_trunk_summary.py +114 -0
- wavix/types/sip_trunk_summary_host_request.py +31 -0
- wavix/types/sub_accounts_list_response.py +26 -0
- wavix/types/sub_accounts_transactions_list_response.py +30 -0
- wavix/types/sub_accounts_transactions_list_response_transactions_item.py +48 -0
- wavix/types/sub_organization_response.py +59 -0
- wavix/types/sub_organization_response_default_destinations.py +31 -0
- wavix/types/sub_organization_response_status.py +5 -0
- wavix/types/submit_file_transcription_response.py +32 -0
- wavix/types/success_response.py +22 -0
- wavix/types/tcr_error_message.py +27 -0
- wavix/types/tcr_feedback.py +23 -0
- wavix/types/tcr_feedback_category.py +47 -0
- wavix/types/ten_dlc_brand.py +143 -0
- wavix/types/ten_dlc_brand_appeal.py +54 -0
- wavix/types/ten_dlc_brand_appeal_create_request.py +36 -0
- wavix/types/ten_dlc_brand_appeal_outcome.py +38 -0
- wavix/types/ten_dlc_brand_appeal_outcome_feedback.py +27 -0
- wavix/types/ten_dlc_brand_appeal_outcome_vetting_status.py +7 -0
- wavix/types/ten_dlc_brand_create_request.py +8 -0
- wavix/types/ten_dlc_brand_create_request_entity_type.py +7 -0
- wavix/types/ten_dlc_brand_create_request_stock_exchange.py +26 -0
- wavix/types/ten_dlc_brand_create_request_stock_exchange_entity_type.py +7 -0
- wavix/types/ten_dlc_brand_create_request_vertical.py +18 -0
- wavix/types/ten_dlc_brand_create_request_zero.py +24 -0
- wavix/types/ten_dlc_brand_create_request_zero_entity_type.py +5 -0
- wavix/types/ten_dlc_brand_entity_type.py +7 -0
- wavix/types/ten_dlc_brand_evidence.py +38 -0
- wavix/types/ten_dlc_brand_identity_verification_status.py +7 -0
- wavix/types/ten_dlc_brand_list_response.py +33 -0
- wavix/types/ten_dlc_brand_list_response_pagination.py +41 -0
- wavix/types/ten_dlc_brand_qualification_result.py +33 -0
- wavix/types/ten_dlc_brand_status.py +7 -0
- wavix/types/ten_dlc_brand_vetting.py +71 -0
- wavix/types/ten_dlc_brand_vetting_appeal.py +78 -0
- wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome.py +37 -0
- wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome_feedback.py +26 -0
- wavix/types/ten_dlc_brand_vetting_appeal_outcome.py +33 -0
- wavix/types/ten_dlc_brand_vetting_appeal_outcome_feedback.py +26 -0
- wavix/types/ten_dlc_brand_vetting_appeal_outcome_reason.py +22 -0
- wavix/types/ten_dlc_campaign.py +211 -0
- wavix/types/ten_dlc_campaign_list_response.py +33 -0
- wavix/types/ten_dlc_campaign_list_response_pagination.py +41 -0
- wavix/types/ten_dlc_campaign_nudge_request.py +32 -0
- wavix/types/ten_dlc_campaign_number.py +27 -0
- wavix/types/ten_dlc_campaign_number_list_response.py +33 -0
- wavix/types/ten_dlc_event_subscription.py +31 -0
- wavix/types/ten_dlcmno_metadata.py +101 -0
- wavix/types/transaction_status.py +5 -0
- wavix/types/transaction_type.py +50 -0
- wavix/types/transcript_turn.py +46 -0
- wavix/types/transcription_filter.py +35 -0
- wavix/types/transcription_filter_agent.py +36 -0
- wavix/types/transcription_filter_any.py +36 -0
- wavix/types/transcription_filter_client.py +36 -0
- wavix/types/transcription_language.py +5 -0
- wavix/types/transcription_reference.py +29 -0
- wavix/types/transcription_status.py +5 -0
- wavix/types/tts_language.py +5 -0
- wavix/types/tts_voice_id.py +25 -0
- wavix/types/two_factor_verification_check_response.py +22 -0
- wavix/types/two_factor_verification_event.py +47 -0
- wavix/types/two_factor_verification_resend_response.py +38 -0
- wavix/types/two_factor_verification_response.py +51 -0
- wavix/types/unauthorized_error_response.py +32 -0
- wavix/types/unprocessable_entity_error_body.py +27 -0
- wavix/types/validation_error_response.py +27 -0
- wavix/types/voice_campaign_create_request.py +20 -0
- wavix/types/voice_campaign_response.py +41 -0
- wavix/types/voice_campaigns_create_response.py +20 -0
- wavix/types/voice_campaigns_create_response_voice_campaign.py +43 -0
- wavix/types/voice_campaigns_get_response.py +20 -0
- wavix/types/voice_campaigns_get_response_voice_campaign.py +43 -0
- wavix/types/web_rtc_token.py +43 -0
- wavix/types/web_rtc_token_response.py +44 -0
- wavix/types/web_rtc_tokens_list_response.py +30 -0
- wavix/version.py +3 -0
- wavix/voice_campaigns/__init__.py +4 -0
- wavix/voice_campaigns/client.py +197 -0
- wavix/voice_campaigns/raw_client.py +332 -0
- wavix/webrtc/__init__.py +34 -0
- wavix/webrtc/client.py +63 -0
- wavix/webrtc/raw_client.py +13 -0
- wavix/webrtc/tokens/__init__.py +4 -0
- wavix/webrtc/tokens/client.py +432 -0
- wavix/webrtc/tokens/raw_client.py +869 -0
- wavix_python_sdk-1.0.0.dist-info/LICENSE +21 -0
- wavix_python_sdk-1.0.0.dist-info/METADATA +339 -0
- wavix_python_sdk-1.0.0.dist-info/RECORD +497 -0
- wavix_python_sdk-1.0.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .create_brands_response import CreateBrandsResponse
|
|
10
|
+
from .create_brands_response_entity_type import CreateBrandsResponseEntityType
|
|
11
|
+
from .create_brands_response_status import CreateBrandsResponseStatus
|
|
12
|
+
from .delete_brands_response import DeleteBrandsResponse
|
|
13
|
+
from .get_brands_response import GetBrandsResponse
|
|
14
|
+
from .get_brands_response_entity_type import GetBrandsResponseEntityType
|
|
15
|
+
from .get_brands_response_status import GetBrandsResponseStatus
|
|
16
|
+
from .list_brands_response import ListBrandsResponse
|
|
17
|
+
from .list_brands_response_pagination import ListBrandsResponsePagination
|
|
18
|
+
from .qualify_usecase_brands_request_use_case import QualifyUsecaseBrandsRequestUseCase
|
|
19
|
+
from .qualify_usecase_brands_response import QualifyUsecaseBrandsResponse
|
|
20
|
+
from .ten_dlc_brand_update_request_entity_type import TenDlcBrandUpdateRequestEntityType
|
|
21
|
+
from .ten_dlc_brand_update_request_vertical import TenDlcBrandUpdateRequestVertical
|
|
22
|
+
from .update_brands_response import UpdateBrandsResponse
|
|
23
|
+
from .update_brands_response_entity_type import UpdateBrandsResponseEntityType
|
|
24
|
+
from .update_brands_response_status import UpdateBrandsResponseStatus
|
|
25
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
26
|
+
"CreateBrandsResponse": ".create_brands_response",
|
|
27
|
+
"CreateBrandsResponseEntityType": ".create_brands_response_entity_type",
|
|
28
|
+
"CreateBrandsResponseStatus": ".create_brands_response_status",
|
|
29
|
+
"DeleteBrandsResponse": ".delete_brands_response",
|
|
30
|
+
"GetBrandsResponse": ".get_brands_response",
|
|
31
|
+
"GetBrandsResponseEntityType": ".get_brands_response_entity_type",
|
|
32
|
+
"GetBrandsResponseStatus": ".get_brands_response_status",
|
|
33
|
+
"ListBrandsResponse": ".list_brands_response",
|
|
34
|
+
"ListBrandsResponsePagination": ".list_brands_response_pagination",
|
|
35
|
+
"QualifyUsecaseBrandsRequestUseCase": ".qualify_usecase_brands_request_use_case",
|
|
36
|
+
"QualifyUsecaseBrandsResponse": ".qualify_usecase_brands_response",
|
|
37
|
+
"TenDlcBrandUpdateRequestEntityType": ".ten_dlc_brand_update_request_entity_type",
|
|
38
|
+
"TenDlcBrandUpdateRequestVertical": ".ten_dlc_brand_update_request_vertical",
|
|
39
|
+
"UpdateBrandsResponse": ".update_brands_response",
|
|
40
|
+
"UpdateBrandsResponseEntityType": ".update_brands_response_entity_type",
|
|
41
|
+
"UpdateBrandsResponseStatus": ".update_brands_response_status",
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
46
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
47
|
+
if module_name is None:
|
|
48
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
49
|
+
try:
|
|
50
|
+
module = import_module(module_name, __package__)
|
|
51
|
+
if module_name == f".{attr_name}":
|
|
52
|
+
return module
|
|
53
|
+
else:
|
|
54
|
+
return getattr(module, attr_name)
|
|
55
|
+
except ImportError as e:
|
|
56
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
57
|
+
except AttributeError as e:
|
|
58
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def __dir__():
|
|
62
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
63
|
+
return sorted(lazy_attrs)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
__all__ = [
|
|
67
|
+
"CreateBrandsResponse",
|
|
68
|
+
"CreateBrandsResponseEntityType",
|
|
69
|
+
"CreateBrandsResponseStatus",
|
|
70
|
+
"DeleteBrandsResponse",
|
|
71
|
+
"GetBrandsResponse",
|
|
72
|
+
"GetBrandsResponseEntityType",
|
|
73
|
+
"GetBrandsResponseStatus",
|
|
74
|
+
"ListBrandsResponse",
|
|
75
|
+
"ListBrandsResponsePagination",
|
|
76
|
+
"QualifyUsecaseBrandsRequestUseCase",
|
|
77
|
+
"QualifyUsecaseBrandsResponse",
|
|
78
|
+
"TenDlcBrandUpdateRequestEntityType",
|
|
79
|
+
"TenDlcBrandUpdateRequestVertical",
|
|
80
|
+
"UpdateBrandsResponse",
|
|
81
|
+
"UpdateBrandsResponseEntityType",
|
|
82
|
+
"UpdateBrandsResponseStatus",
|
|
83
|
+
]
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .create_brands_response_entity_type import CreateBrandsResponseEntityType
|
|
8
|
+
from .create_brands_response_status import CreateBrandsResponseStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CreateBrandsResponse(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Represents a 10DLC brand registered for application-to-person messaging. A Brand identifies the business behind one or more messaging campaigns.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
brand_id: str = pydantic.Field()
|
|
17
|
+
"""
|
|
18
|
+
Unique identifier of the Brand assigned by the registry.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
dba_name: str = pydantic.Field()
|
|
22
|
+
"""
|
|
23
|
+
Doing-business-as name, or the public-facing brand name.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
company_name: str = pydantic.Field()
|
|
27
|
+
"""
|
|
28
|
+
Registered legal name of the company that owns the Brand.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
entity_type: CreateBrandsResponseEntityType = pydantic.Field()
|
|
32
|
+
"""
|
|
33
|
+
Company entity type.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
vertical: str = pydantic.Field()
|
|
37
|
+
"""
|
|
38
|
+
Industry vertical the Brand operates in.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
ein_taxid: str = pydantic.Field()
|
|
42
|
+
"""
|
|
43
|
+
IRS Employer Identification Number (EIN) or other tax ID of the company.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
ein_taxid_country: str = pydantic.Field()
|
|
47
|
+
"""
|
|
48
|
+
ISO 3166-1 alpha-2 country code where the Tax ID was issued.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
status: CreateBrandsResponseStatus = pydantic.Field()
|
|
52
|
+
"""
|
|
53
|
+
Brand identity verification status.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
website: typing.Optional[str] = pydantic.Field(default=None)
|
|
57
|
+
"""
|
|
58
|
+
Business website URL.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
stock_symbol: typing.Optional[str] = pydantic.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
Stock ticker symbol of the company. Required for publicly traded companies.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
stock_exchange: typing.Optional[str] = pydantic.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
Code of the stock exchange the company is listed on. Required for publicly traded companies.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
first_name: str = pydantic.Field()
|
|
72
|
+
"""
|
|
73
|
+
Business contact first name.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
last_name: str = pydantic.Field()
|
|
77
|
+
"""
|
|
78
|
+
Business contact last name.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
phone_number: str = pydantic.Field()
|
|
82
|
+
"""
|
|
83
|
+
Support contact phone number in E.164 format.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
email: str = pydantic.Field()
|
|
87
|
+
"""
|
|
88
|
+
Support contact email address.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
street_address: str = pydantic.Field()
|
|
92
|
+
"""
|
|
93
|
+
Street address of the business.
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
city: str = pydantic.Field()
|
|
97
|
+
"""
|
|
98
|
+
City of the business address.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
state_or_province: typing.Optional[str] = pydantic.Field(default=None)
|
|
102
|
+
"""
|
|
103
|
+
State or province of the business address.
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
country: str = pydantic.Field()
|
|
107
|
+
"""
|
|
108
|
+
ISO 3166-1 alpha-2 country code of the business address.
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
zip: str = pydantic.Field()
|
|
112
|
+
"""
|
|
113
|
+
ZIP or postal code of the business address.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
feedback: typing.Optional[str] = pydantic.Field(default=None)
|
|
117
|
+
"""
|
|
118
|
+
Feedback from the identity verification process explaining the current `status`.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
mock: typing.Optional[bool] = pydantic.Field(default=None)
|
|
122
|
+
"""
|
|
123
|
+
Indicates whether the Brand is a mock brand for testing.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
created_at: str = pydantic.Field()
|
|
127
|
+
"""
|
|
128
|
+
Timestamp when the Brand was created, in ISO 8601 format.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
updated_at: str = pydantic.Field()
|
|
132
|
+
"""
|
|
133
|
+
Timestamp when the Brand was last updated, in ISO 8601 format.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
if IS_PYDANTIC_V2:
|
|
137
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
138
|
+
else:
|
|
139
|
+
|
|
140
|
+
class Config:
|
|
141
|
+
frozen = True
|
|
142
|
+
smart_union = True
|
|
143
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class DeleteBrandsResponse(UniversalBaseModel):
|
|
10
|
+
success: bool = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
Indicates whether the request was successful.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .get_brands_response_entity_type import GetBrandsResponseEntityType
|
|
8
|
+
from .get_brands_response_status import GetBrandsResponseStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetBrandsResponse(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Represents a 10DLC brand registered for application-to-person messaging. A Brand identifies the business behind one or more messaging campaigns.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
brand_id: str = pydantic.Field()
|
|
17
|
+
"""
|
|
18
|
+
Unique identifier of the Brand assigned by the registry.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
dba_name: str = pydantic.Field()
|
|
22
|
+
"""
|
|
23
|
+
Doing-business-as name, or the public-facing brand name.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
company_name: str = pydantic.Field()
|
|
27
|
+
"""
|
|
28
|
+
Registered legal name of the company that owns the Brand.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
entity_type: GetBrandsResponseEntityType = pydantic.Field()
|
|
32
|
+
"""
|
|
33
|
+
Company entity type.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
vertical: str = pydantic.Field()
|
|
37
|
+
"""
|
|
38
|
+
Industry vertical the Brand operates in.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
ein_taxid: str = pydantic.Field()
|
|
42
|
+
"""
|
|
43
|
+
IRS Employer Identification Number (EIN) or other tax ID of the company.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
ein_taxid_country: str = pydantic.Field()
|
|
47
|
+
"""
|
|
48
|
+
ISO 3166-1 alpha-2 country code where the Tax ID was issued.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
status: GetBrandsResponseStatus = pydantic.Field()
|
|
52
|
+
"""
|
|
53
|
+
Brand identity verification status.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
website: typing.Optional[str] = pydantic.Field(default=None)
|
|
57
|
+
"""
|
|
58
|
+
Business website URL.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
stock_symbol: typing.Optional[str] = pydantic.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
Stock ticker symbol of the company. Required for publicly traded companies.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
stock_exchange: typing.Optional[str] = pydantic.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
Code of the stock exchange the company is listed on. Required for publicly traded companies.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
first_name: str = pydantic.Field()
|
|
72
|
+
"""
|
|
73
|
+
Business contact first name.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
last_name: str = pydantic.Field()
|
|
77
|
+
"""
|
|
78
|
+
Business contact last name.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
phone_number: str = pydantic.Field()
|
|
82
|
+
"""
|
|
83
|
+
Support contact phone number in E.164 format.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
email: str = pydantic.Field()
|
|
87
|
+
"""
|
|
88
|
+
Support contact email address.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
street_address: str = pydantic.Field()
|
|
92
|
+
"""
|
|
93
|
+
Street address of the business.
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
city: str = pydantic.Field()
|
|
97
|
+
"""
|
|
98
|
+
City of the business address.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
state_or_province: typing.Optional[str] = pydantic.Field(default=None)
|
|
102
|
+
"""
|
|
103
|
+
State or province of the business address.
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
country: str = pydantic.Field()
|
|
107
|
+
"""
|
|
108
|
+
ISO 3166-1 alpha-2 country code of the business address.
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
zip: str = pydantic.Field()
|
|
112
|
+
"""
|
|
113
|
+
ZIP or postal code of the business address.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
feedback: typing.Optional[str] = pydantic.Field(default=None)
|
|
117
|
+
"""
|
|
118
|
+
Feedback from the identity verification process explaining the current `status`.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
mock: typing.Optional[bool] = pydantic.Field(default=None)
|
|
122
|
+
"""
|
|
123
|
+
Indicates whether the Brand is a mock brand for testing.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
created_at: str = pydantic.Field()
|
|
127
|
+
"""
|
|
128
|
+
Timestamp when the Brand was created, in ISO 8601 format.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
updated_at: str = pydantic.Field()
|
|
132
|
+
"""
|
|
133
|
+
Timestamp when the Brand was last updated, in ISO 8601 format.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
if IS_PYDANTIC_V2:
|
|
137
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
138
|
+
else:
|
|
139
|
+
|
|
140
|
+
class Config:
|
|
141
|
+
frozen = True
|
|
142
|
+
smart_union = True
|
|
143
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from ....types.ten_dlc_brand import TenDlcBrand
|
|
8
|
+
from .list_brands_response_pagination import ListBrandsResponsePagination
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ListBrandsResponse(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
A list of 10DLC Brands
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
items: typing.List[TenDlcBrand] = pydantic.Field()
|
|
17
|
+
"""
|
|
18
|
+
A paginated list of 10DLC Brands matching the filter criteria
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
pagination: ListBrandsResponsePagination = pydantic.Field()
|
|
22
|
+
"""
|
|
23
|
+
Pagination details
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ListBrandsResponsePagination(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Pagination details
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
current_page: int = pydantic.Field()
|
|
15
|
+
"""
|
|
16
|
+
Current page number.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
per_page: int = pydantic.Field()
|
|
20
|
+
"""
|
|
21
|
+
Number of records per page.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
total: int = pydantic.Field()
|
|
25
|
+
"""
|
|
26
|
+
Total number of records.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
total_pages: int = pydantic.Field()
|
|
30
|
+
"""
|
|
31
|
+
Total number of pages.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
QualifyUsecaseBrandsRequestUseCase = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"AGENTS_FRANCHISES",
|
|
8
|
+
"CARRIER_EXEMPT",
|
|
9
|
+
"CHARITY",
|
|
10
|
+
"EMERGENCY",
|
|
11
|
+
"K12_EDUCATION",
|
|
12
|
+
"LOW_VOLUME",
|
|
13
|
+
"M2M",
|
|
14
|
+
"MIXED",
|
|
15
|
+
"POLITICAL",
|
|
16
|
+
"PROXY",
|
|
17
|
+
"SOCIAL",
|
|
18
|
+
"SOLE_PROPRIETOR",
|
|
19
|
+
"SWEEPSTAKE",
|
|
20
|
+
"TRIAL",
|
|
21
|
+
"UCAAS_HIGH",
|
|
22
|
+
"UCAAS_LOW",
|
|
23
|
+
"2FA",
|
|
24
|
+
"ACCOUNT_NOTIFICATION",
|
|
25
|
+
"CUSTOMER_CARE",
|
|
26
|
+
"DELIVERY_NOTIFICATION",
|
|
27
|
+
"FRAUD_ALERT",
|
|
28
|
+
"HIGHER_EDUCATION",
|
|
29
|
+
"MARKETING",
|
|
30
|
+
"POLLING_VOTING",
|
|
31
|
+
"PUBLIC_SERVICE_ANNOUNCEMENT",
|
|
32
|
+
"SECURITY_ALERT",
|
|
33
|
+
],
|
|
34
|
+
typing.Any,
|
|
35
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from ....types.ten_dlcmno_metadata import TenDlcmnoMetadata
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QualifyUsecaseBrandsResponse(UniversalBaseModel):
|
|
11
|
+
mno_metadata: typing.List[TenDlcmnoMetadata] = pydantic.Field()
|
|
12
|
+
"""
|
|
13
|
+
An array MNO-specific attributes (e.g. AT&T message class) for every MNO the Brand is qualified to run a Campaign with the specified use case.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
monthly_fee: float = pydantic.Field()
|
|
17
|
+
"""
|
|
18
|
+
Monthly fee associated with any Campaign with this use case
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
usecase: str = pydantic.Field()
|
|
22
|
+
"""
|
|
23
|
+
The use case name
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
TenDlcBrandUpdateRequestVertical = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"HEALTHCARE",
|
|
8
|
+
"PROFESSIONAL",
|
|
9
|
+
"RETAIL",
|
|
10
|
+
"TECHNOLOGY",
|
|
11
|
+
"EDUCATION",
|
|
12
|
+
"FINANCIAL",
|
|
13
|
+
"NON_PROFIT",
|
|
14
|
+
"GOVERNMENT",
|
|
15
|
+
"OTHER",
|
|
16
|
+
],
|
|
17
|
+
typing.Any,
|
|
18
|
+
]
|