proxyrequest-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.
- proxyrequest_sdk/__init__.py +36 -0
- proxyrequest_sdk/_generated/__init__.py +8 -0
- proxyrequest_sdk/_generated/api/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/affiliates/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/affiliates/affiliates_list.py +259 -0
- proxyrequest_sdk/_generated/api/affiliates/affiliates_rewards_list.py +255 -0
- proxyrequest_sdk/_generated/api/affiliates/affiliates_rewards_overall_retrieve.py +230 -0
- proxyrequest_sdk/_generated/api/analytics/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_connections_retrieve.py +312 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_domains_retrieve.py +447 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_feed_retrieve.py +473 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_logs_retrieve.py +469 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_overall_retrieve.py +375 -0
- proxyrequest_sdk/_generated/api/analytics/analytics_transactions_retrieve.py +412 -0
- proxyrequest_sdk/_generated/api/api_keys/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/api_keys/api_keys_create.py +234 -0
- proxyrequest_sdk/_generated/api/api_keys/api_keys_destroy.py +249 -0
- proxyrequest_sdk/_generated/api/api_keys/api_keys_list.py +250 -0
- proxyrequest_sdk/_generated/api/authorization/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/authorization/login_create.py +197 -0
- proxyrequest_sdk/_generated/api/authorization/login_google_create.py +207 -0
- proxyrequest_sdk/_generated/api/authorization/recover_password_create.py +197 -0
- proxyrequest_sdk/_generated/api/authorization/refresh_create.py +199 -0
- proxyrequest_sdk/_generated/api/authorization/signup_create.py +207 -0
- proxyrequest_sdk/_generated/api/coupons/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_calculate_price_create.py +248 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_create.py +211 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_destroy.py +245 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_list.py +324 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_partial_update.py +266 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_redeems_list.py +332 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_retrieve.py +247 -0
- proxyrequest_sdk/_generated/api/coupons/coupons_update.py +265 -0
- proxyrequest_sdk/_generated/api/invoices/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_create.py +233 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_destroy.py +245 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_download_pdf_retrieve.py +260 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_list.py +413 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_pay_retrieve.py +251 -0
- proxyrequest_sdk/_generated/api/invoices/invoices_retrieve.py +251 -0
- proxyrequest_sdk/_generated/api/locations/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/locations/locations_asn_list.py +368 -0
- proxyrequest_sdk/_generated/api/locations/locations_cities_list.py +368 -0
- proxyrequest_sdk/_generated/api/locations/locations_cities_retrieve.py +247 -0
- proxyrequest_sdk/_generated/api/locations/locations_continents_list.py +338 -0
- proxyrequest_sdk/_generated/api/locations/locations_continents_retrieve.py +255 -0
- proxyrequest_sdk/_generated/api/locations/locations_countries_list.py +338 -0
- proxyrequest_sdk/_generated/api/locations/locations_countries_retrieve.py +255 -0
- proxyrequest_sdk/_generated/api/locations/locations_isps_list.py +353 -0
- proxyrequest_sdk/_generated/api/locations/locations_regions_list.py +353 -0
- proxyrequest_sdk/_generated/api/locations/locations_regions_retrieve.py +247 -0
- proxyrequest_sdk/_generated/api/news/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/news/news_list.py +256 -0
- proxyrequest_sdk/_generated/api/orders/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/orders/orders_destroy.py +249 -0
- proxyrequest_sdk/_generated/api/orders/orders_list.py +364 -0
- proxyrequest_sdk/_generated/api/orders/orders_partial_update.py +270 -0
- proxyrequest_sdk/_generated/api/orders/orders_retrieve.py +247 -0
- proxyrequest_sdk/_generated/api/orders/reset_password_create.py +224 -0
- proxyrequest_sdk/_generated/api/packages/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/packages/packages_commissions_list.py +329 -0
- proxyrequest_sdk/_generated/api/packages/packages_list.py +344 -0
- proxyrequest_sdk/_generated/api/profile/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/profile/profile_2fa_confirm_create.py +242 -0
- proxyrequest_sdk/_generated/api/profile/profile_2fa_disable_create.py +242 -0
- proxyrequest_sdk/_generated/api/profile/profile_2fa_setup_create.py +224 -0
- proxyrequest_sdk/_generated/api/profile/profile_2fa_status_retrieve.py +220 -0
- proxyrequest_sdk/_generated/api/profile/profile_change_password_create.py +248 -0
- proxyrequest_sdk/_generated/api/profile/profile_destroy.py +195 -0
- proxyrequest_sdk/_generated/api/profile/profile_partial_update.py +259 -0
- proxyrequest_sdk/_generated/api/profile/profile_retrieve.py +215 -0
- proxyrequest_sdk/_generated/api/proxies/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/proxies/proxies_generate_create.py +262 -0
- proxyrequest_sdk/_generated/api/rewards/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/rewards/rewards_claim_create.py +240 -0
- proxyrequest_sdk/_generated/api/rewards/rewards_list.py +319 -0
- proxyrequest_sdk/_generated/api/sessions/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/sessions/sessions_destroy.py +251 -0
- proxyrequest_sdk/_generated/api/sessions/sessions_list.py +229 -0
- proxyrequest_sdk/_generated/api/settings/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/settings/settings_retrieve.py +236 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard/integrations_telegram_connection_destroy.py +224 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard/integrations_telegram_connection_partial_update.py +253 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard/integrations_telegram_connection_retrieve.py +226 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard/integrations_telegram_link_create.py +226 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard_service/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard_service/integrations_telegram_link_consume_create.py +210 -0
- proxyrequest_sdk/_generated/api/telegram_dashboard_service/integrations_telegram_session_create.py +210 -0
- proxyrequest_sdk/_generated/api/users/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/users/users_create.py +213 -0
- proxyrequest_sdk/_generated/api/users/users_data_add_create.py +270 -0
- proxyrequest_sdk/_generated/api/users/users_data_subtract_create.py +270 -0
- proxyrequest_sdk/_generated/api/users/users_destroy.py +246 -0
- proxyrequest_sdk/_generated/api/users/users_list.py +329 -0
- proxyrequest_sdk/_generated/api/users/users_orders_list.py +350 -0
- proxyrequest_sdk/_generated/api/users/users_partial_update.py +271 -0
- proxyrequest_sdk/_generated/api/users/users_password_create.py +271 -0
- proxyrequest_sdk/_generated/api/users/users_retrieve.py +248 -0
- proxyrequest_sdk/_generated/api/webhooks/__init__.py +1 -0
- proxyrequest_sdk/_generated/api/webhooks/webhooks_create.py +242 -0
- proxyrequest_sdk/_generated/api/webhooks/webhooks_destroy.py +245 -0
- proxyrequest_sdk/_generated/api/webhooks/webhooks_list.py +259 -0
- proxyrequest_sdk/_generated/api/webhooks/webhooks_retrieve.py +247 -0
- proxyrequest_sdk/_generated/client.py +264 -0
- proxyrequest_sdk/_generated/errors.py +16 -0
- proxyrequest_sdk/_generated/models/__init__.py +883 -0
- proxyrequest_sdk/_generated/models/add_data_request.py +68 -0
- proxyrequest_sdk/_generated/models/affiliate.py +123 -0
- proxyrequest_sdk/_generated/models/affiliate_reward.py +132 -0
- proxyrequest_sdk/_generated/models/affiliate_stats_point.py +92 -0
- proxyrequest_sdk/_generated/models/affiliate_stats_response.py +76 -0
- proxyrequest_sdk/_generated/models/affiliates_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_overall_retrieve_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_overall_retrieve_response_401.py +101 -0
- proxyrequest_sdk/_generated/models/affiliates_rewards_overall_retrieve_response_403.py +101 -0
- proxyrequest_sdk/_generated/models/analytics_connections_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_connections_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_connections_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_connections_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_domains_retrieve_ordering.py +20 -0
- proxyrequest_sdk/_generated/models/analytics_domains_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_domains_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_domains_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_domains_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_feed_retrieve_protocol.py +18 -0
- proxyrequest_sdk/_generated/models/analytics_feed_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_feed_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_feed_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_feed_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_logs_retrieve_protocol.py +18 -0
- proxyrequest_sdk/_generated/models/analytics_logs_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_logs_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_logs_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_logs_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_overall_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_overall_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_overall_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_overall_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_transactions_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_transactions_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_transactions_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_transactions_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/analytics_transactions_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/api_key_create.py +95 -0
- proxyrequest_sdk/_generated/models/api_key_create_request.py +70 -0
- proxyrequest_sdk/_generated/models/api_key_list.py +111 -0
- proxyrequest_sdk/_generated/models/api_keys_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/api_keys_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/change_password_request.py +73 -0
- proxyrequest_sdk/_generated/models/city.py +136 -0
- proxyrequest_sdk/_generated/models/commission_type_enum.py +19 -0
- proxyrequest_sdk/_generated/models/connection_record.py +82 -0
- proxyrequest_sdk/_generated/models/connections_response.py +109 -0
- proxyrequest_sdk/_generated/models/continent.py +78 -0
- proxyrequest_sdk/_generated/models/country.py +125 -0
- proxyrequest_sdk/_generated/models/coupon.py +279 -0
- proxyrequest_sdk/_generated/models/coupon_calculate_price_request.py +84 -0
- proxyrequest_sdk/_generated/models/coupon_create_request.py +182 -0
- proxyrequest_sdk/_generated/models/coupon_price_response.py +75 -0
- proxyrequest_sdk/_generated/models/coupon_redeem.py +153 -0
- proxyrequest_sdk/_generated/models/coupon_short.py +245 -0
- proxyrequest_sdk/_generated/models/coupon_short_packages_item.py +48 -0
- proxyrequest_sdk/_generated/models/coupon_stats_type_0.py +48 -0
- proxyrequest_sdk/_generated/models/coupon_type_enum.py +19 -0
- proxyrequest_sdk/_generated/models/coupon_update_request.py +182 -0
- proxyrequest_sdk/_generated/models/coupons_calculate_price_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_calculate_price_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_calculate_price_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_list_type.py +19 -0
- proxyrequest_sdk/_generated/models/coupons_partial_update_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_partial_update_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_partial_update_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_partial_update_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_redeems_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_redeems_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_redeems_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_redeems_list_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_redeems_list_type.py +19 -0
- proxyrequest_sdk/_generated/models/coupons_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_update_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_update_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_update_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/coupons_update_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/domain_record.py +73 -0
- proxyrequest_sdk/_generated/models/domains_response.py +125 -0
- proxyrequest_sdk/_generated/models/enabled_response.py +59 -0
- proxyrequest_sdk/_generated/models/feed_record.py +212 -0
- proxyrequest_sdk/_generated/models/feed_response.py +131 -0
- proxyrequest_sdk/_generated/models/generate_proxy_request.py +150 -0
- proxyrequest_sdk/_generated/models/generate_proxy_response.py +83 -0
- proxyrequest_sdk/_generated/models/generated_proxy.py +94 -0
- proxyrequest_sdk/_generated/models/google_auth_request.py +100 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_destroy_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_destroy_response_401.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_destroy_response_403.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_partial_update_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_partial_update_response_401.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_partial_update_response_403.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_retrieve_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_retrieve_response_401.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_connection_retrieve_response_403.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_link_consume_create_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_link_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_link_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_link_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/integrations_telegram_session_create_response_400.py +101 -0
- proxyrequest_sdk/_generated/models/invoice.py +368 -0
- proxyrequest_sdk/_generated/models/invoice_create_request.py +188 -0
- proxyrequest_sdk/_generated/models/invoice_create_request_gateway_enum.py +20 -0
- proxyrequest_sdk/_generated/models/invoice_gateway_enum.py +22 -0
- proxyrequest_sdk/_generated/models/invoice_status_enum.py +20 -0
- proxyrequest_sdk/_generated/models/invoice_type_enum.py +19 -0
- proxyrequest_sdk/_generated/models/invoices_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_download_pdf_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_download_pdf_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_download_pdf_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_download_pdf_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_list_payment_gateway.py +22 -0
- proxyrequest_sdk/_generated/models/invoices_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_list_status.py +20 -0
- proxyrequest_sdk/_generated/models/invoices_list_type.py +19 -0
- proxyrequest_sdk/_generated/models/invoices_pay_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_pay_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_pay_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_pay_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/invoices_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/isp.py +69 -0
- proxyrequest_sdk/_generated/models/language_enum.py +21 -0
- proxyrequest_sdk/_generated/models/level_enum.py +20 -0
- proxyrequest_sdk/_generated/models/location_asn_geo_item.py +99 -0
- proxyrequest_sdk/_generated/models/location_asn_record.py +96 -0
- proxyrequest_sdk/_generated/models/location_code_name.py +66 -0
- proxyrequest_sdk/_generated/models/location_country_summary.py +76 -0
- proxyrequest_sdk/_generated/models/location_region_summary.py +76 -0
- proxyrequest_sdk/_generated/models/locations_asn_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_asn_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_asn_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_cities_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_continents_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_countries_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/locations_isps_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_isps_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_isps_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/locations_regions_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/log_record.py +225 -0
- proxyrequest_sdk/_generated/models/login_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/login_google_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/login_google_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/login_request.py +80 -0
- proxyrequest_sdk/_generated/models/logs_response.py +131 -0
- proxyrequest_sdk/_generated/models/message_response.py +59 -0
- proxyrequest_sdk/_generated/models/news.py +95 -0
- proxyrequest_sdk/_generated/models/news_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/news_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/news_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/order.py +263 -0
- proxyrequest_sdk/_generated/models/order_detailed.py +297 -0
- proxyrequest_sdk/_generated/models/order_detailed_ledgers_item.py +48 -0
- proxyrequest_sdk/_generated/models/order_ledgers_item.py +48 -0
- proxyrequest_sdk/_generated/models/order_package.py +48 -0
- proxyrequest_sdk/_generated/models/orders_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/orders_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/orders_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/orders_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/orders_list_package_type.py +18 -0
- proxyrequest_sdk/_generated/models/orders_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/orders_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/orders_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/orders_partial_update_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/orders_partial_update_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/orders_partial_update_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/orders_partial_update_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/orders_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/orders_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/orders_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/orders_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/overall_point.py +76 -0
- proxyrequest_sdk/_generated/models/overall_response.py +131 -0
- proxyrequest_sdk/_generated/models/package.py +266 -0
- proxyrequest_sdk/_generated/models/package_billing_model.py +48 -0
- proxyrequest_sdk/_generated/models/package_commission.py +110 -0
- proxyrequest_sdk/_generated/models/package_short.py +104 -0
- proxyrequest_sdk/_generated/models/packages_commissions_list_pricing_unit.py +18 -0
- proxyrequest_sdk/_generated/models/packages_commissions_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/packages_commissions_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/packages_commissions_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/packages_commissions_list_type.py +18 -0
- proxyrequest_sdk/_generated/models/packages_list_pricing_unit.py +18 -0
- proxyrequest_sdk/_generated/models/packages_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/packages_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/packages_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/packages_list_type.py +18 -0
- proxyrequest_sdk/_generated/models/paginated_affiliate_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_affiliate_reward_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_api_key_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_city_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_continent_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_country_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_coupon_redeem_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_coupon_short_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_invoice_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_isp_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_location_asn_record_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_news_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_order_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_package_commission_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_package_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_region_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_reward_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_user_list.py +122 -0
- proxyrequest_sdk/_generated/models/paginated_webhook_list.py +122 -0
- proxyrequest_sdk/_generated/models/password_recovery_response.py +66 -0
- proxyrequest_sdk/_generated/models/patched_coupon_update_request.py +188 -0
- proxyrequest_sdk/_generated/models/patched_order_auto_renewal_request.py +67 -0
- proxyrequest_sdk/_generated/models/patched_profile_update_request.py +207 -0
- proxyrequest_sdk/_generated/models/patched_telegram_connection_update_request.py +67 -0
- proxyrequest_sdk/_generated/models/patched_user_update_request.py +252 -0
- proxyrequest_sdk/_generated/models/patched_user_update_request_meta.py +50 -0
- proxyrequest_sdk/_generated/models/payment_link_response.py +60 -0
- proxyrequest_sdk/_generated/models/pricing_enum.py +18 -0
- proxyrequest_sdk/_generated/models/pricing_unit_enum.py +18 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_confirm_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_confirm_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_confirm_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_disable_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_disable_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_disable_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_setup_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_setup_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_setup_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_status_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_status_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_2_fa_status_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_change_password_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_change_password_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_change_password_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_partial_update_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_partial_update_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_partial_update_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/profile_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/profile_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/profile_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/protocol_enum.py +19 -0
- proxyrequest_sdk/_generated/models/proxies_generate_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/proxies_generate_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/proxies_generate_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/proxies_generate_create_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/proxy_generation_connection_request.py +95 -0
- proxyrequest_sdk/_generated/models/proxy_generation_session_request.py +60 -0
- proxyrequest_sdk/_generated/models/proxy_generation_targeting_request.py +124 -0
- proxyrequest_sdk/_generated/models/proxy_password_reset_response.py +66 -0
- proxyrequest_sdk/_generated/models/proxy_type_enum.py +18 -0
- proxyrequest_sdk/_generated/models/recover_password_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/recover_password_request.py +70 -0
- proxyrequest_sdk/_generated/models/refresh_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/refresh_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/region.py +145 -0
- proxyrequest_sdk/_generated/models/reset_password_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/reset_password_create_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/reset_password_request.py +61 -0
- proxyrequest_sdk/_generated/models/reward.py +138 -0
- proxyrequest_sdk/_generated/models/reward_claim_request.py +71 -0
- proxyrequest_sdk/_generated/models/reward_status_enum.py +20 -0
- proxyrequest_sdk/_generated/models/rewards_claim_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/rewards_claim_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/rewards_claim_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/rewards_list_level.py +20 -0
- proxyrequest_sdk/_generated/models/rewards_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/rewards_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/rewards_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/session_delete_response.py +59 -0
- proxyrequest_sdk/_generated/models/session_list_response.py +68 -0
- proxyrequest_sdk/_generated/models/sessions_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/sessions_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/settings_crypto.py +61 -0
- proxyrequest_sdk/_generated/models/settings_gateway.py +118 -0
- proxyrequest_sdk/_generated/models/settings_referral.py +80 -0
- proxyrequest_sdk/_generated/models/settings_response.py +138 -0
- proxyrequest_sdk/_generated/models/settings_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/settings_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/settings_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/settings_retrieve_response_500.py +99 -0
- proxyrequest_sdk/_generated/models/sign_up_request.py +98 -0
- proxyrequest_sdk/_generated/models/signup_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/signup_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/subtract_data_request.py +68 -0
- proxyrequest_sdk/_generated/models/targeting_options.py +227 -0
- proxyrequest_sdk/_generated/models/telegram_connection_response.py +157 -0
- proxyrequest_sdk/_generated/models/telegram_link_consume_request.py +91 -0
- proxyrequest_sdk/_generated/models/telegram_link_response.py +76 -0
- proxyrequest_sdk/_generated/models/telegram_session_request.py +66 -0
- proxyrequest_sdk/_generated/models/telegram_session_response.py +96 -0
- proxyrequest_sdk/_generated/models/telegram_session_response_user.py +48 -0
- proxyrequest_sdk/_generated/models/token_pair_response.py +68 -0
- proxyrequest_sdk/_generated/models/token_refresh_request.py +60 -0
- proxyrequest_sdk/_generated/models/token_refresh_response.py +60 -0
- proxyrequest_sdk/_generated/models/transaction_record.py +170 -0
- proxyrequest_sdk/_generated/models/transactions_response.py +131 -0
- proxyrequest_sdk/_generated/models/two_factor_confirm_request.py +59 -0
- proxyrequest_sdk/_generated/models/two_factor_disable_request.py +59 -0
- proxyrequest_sdk/_generated/models/two_factor_setup_response.py +76 -0
- proxyrequest_sdk/_generated/models/user.py +473 -0
- proxyrequest_sdk/_generated/models/user_coupons_item.py +48 -0
- proxyrequest_sdk/_generated/models/user_create_request.py +244 -0
- proxyrequest_sdk/_generated/models/user_create_request_meta.py +50 -0
- proxyrequest_sdk/_generated/models/user_currency.py +50 -0
- proxyrequest_sdk/_generated/models/user_password_reset_request.py +69 -0
- proxyrequest_sdk/_generated/models/users_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_add_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_add_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_add_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_add_create_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_subtract_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_subtract_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_subtract_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_data_subtract_create_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_orders_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_orders_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_orders_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_orders_list_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_partial_update_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_partial_update_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_partial_update_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_partial_update_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_password_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_password_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_password_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_password_create_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/users_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/users_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/users_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/users_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/webhook_create_request.py +102 -0
- proxyrequest_sdk/_generated/models/webhook_created.py +147 -0
- proxyrequest_sdk/_generated/models/webhook_list.py +136 -0
- proxyrequest_sdk/_generated/models/webhook_scope_enum.py +19 -0
- proxyrequest_sdk/_generated/models/webhooks_create_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_create_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_create_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_destroy_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_destroy_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_destroy_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_destroy_response_404.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_list_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_list_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_list_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_retrieve_response_400.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_retrieve_response_401.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_retrieve_response_403.py +99 -0
- proxyrequest_sdk/_generated/models/webhooks_retrieve_response_404.py +99 -0
- proxyrequest_sdk/_generated/types.py +54 -0
- proxyrequest_sdk/client.py +427 -0
- proxyrequest_sdk/errors.py +177 -0
- proxyrequest_sdk/files.py +53 -0
- proxyrequest_sdk/models/__init__.py +312 -0
- proxyrequest_sdk/py.typed +1 -0
- proxyrequest_sdk/resources/__init__.py +80 -0
- proxyrequest_sdk/resources/affiliates.py +121 -0
- proxyrequest_sdk/resources/analytics.py +453 -0
- proxyrequest_sdk/resources/api_keys.py +94 -0
- proxyrequest_sdk/resources/authorization.py +143 -0
- proxyrequest_sdk/resources/coupons.py +277 -0
- proxyrequest_sdk/resources/invoices.py +202 -0
- proxyrequest_sdk/resources/locations.py +477 -0
- proxyrequest_sdk/resources/news.py +64 -0
- proxyrequest_sdk/resources/orders.py +183 -0
- proxyrequest_sdk/resources/packages.py +136 -0
- proxyrequest_sdk/resources/profile.py +208 -0
- proxyrequest_sdk/resources/proxies.py +45 -0
- proxyrequest_sdk/resources/rewards.py +92 -0
- proxyrequest_sdk/resources/sessions.py +58 -0
- proxyrequest_sdk/resources/settings.py +36 -0
- proxyrequest_sdk/resources/telegram.py +122 -0
- proxyrequest_sdk/resources/telegram_service.py +100 -0
- proxyrequest_sdk/resources/users.py +331 -0
- proxyrequest_sdk/resources/webhooks.py +114 -0
- proxyrequest_sdk/webhooks.py +95 -0
- proxyrequest_sdk-1.0.0.dist-info/METADATA +322 -0
- proxyrequest_sdk-1.0.0.dist-info/RECORD +560 -0
- proxyrequest_sdk-1.0.0.dist-info/WHEEL +4 -0
- proxyrequest_sdk-1.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Generated by scripts/generate.py; do not edit.
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from typing import Any, cast
|
|
5
|
+
|
|
6
|
+
from ..files import FileDownload
|
|
7
|
+
from .._generated.models.paginated_webhook_list import PaginatedWebhookList
|
|
8
|
+
from .._generated.types import UNSET
|
|
9
|
+
from .._generated.types import Unset
|
|
10
|
+
from .._generated.models.webhook_create_request import WebhookCreateRequest
|
|
11
|
+
from .._generated.models.webhook_created import WebhookCreated
|
|
12
|
+
from .._generated.models.webhook_list import WebhookList
|
|
13
|
+
from .._generated.api.webhooks import webhooks_create as _webhooks_create
|
|
14
|
+
from .._generated.api.webhooks import webhooks_destroy as _webhooks_destroy
|
|
15
|
+
from .._generated.api.webhooks import webhooks_retrieve as _webhooks_retrieve
|
|
16
|
+
from .._generated.api.webhooks import webhooks_list as _webhooks_list
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class WebhooksResource:
|
|
20
|
+
def __init__(self, client: Any) -> None:
|
|
21
|
+
self._client = client
|
|
22
|
+
|
|
23
|
+
def create(
|
|
24
|
+
self, *, body: WebhookCreateRequest, accept_language: str | Unset = UNSET
|
|
25
|
+
) -> WebhookCreated:
|
|
26
|
+
"""Create a customer webhook"""
|
|
27
|
+
return cast(
|
|
28
|
+
WebhookCreated,
|
|
29
|
+
self._client._call(
|
|
30
|
+
_webhooks_create.sync_detailed, body=body, accept_language=accept_language
|
|
31
|
+
),
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
def delete(self, id: str, *, accept_language: str | Unset = UNSET) -> None:
|
|
35
|
+
"""Delete a customer webhook"""
|
|
36
|
+
self._client._call(_webhooks_destroy.sync_detailed, id=id, accept_language=accept_language)
|
|
37
|
+
return None
|
|
38
|
+
|
|
39
|
+
def get(self, id: str, *, accept_language: str | Unset = UNSET) -> WebhookList:
|
|
40
|
+
"""Get a customer webhook"""
|
|
41
|
+
return cast(
|
|
42
|
+
WebhookList,
|
|
43
|
+
self._client._call(
|
|
44
|
+
_webhooks_retrieve.sync_detailed, id=id, accept_language=accept_language
|
|
45
|
+
),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
def list(
|
|
49
|
+
self,
|
|
50
|
+
*,
|
|
51
|
+
limit: int | Unset = UNSET,
|
|
52
|
+
offset: int | Unset = UNSET,
|
|
53
|
+
accept_language: str | Unset = UNSET,
|
|
54
|
+
) -> PaginatedWebhookList:
|
|
55
|
+
"""List customer webhooks"""
|
|
56
|
+
return cast(
|
|
57
|
+
PaginatedWebhookList,
|
|
58
|
+
self._client._call(
|
|
59
|
+
_webhooks_list.sync_detailed,
|
|
60
|
+
limit=limit,
|
|
61
|
+
offset=offset,
|
|
62
|
+
accept_language=accept_language,
|
|
63
|
+
),
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class AsyncWebhooksResource:
|
|
68
|
+
def __init__(self, client: Any) -> None:
|
|
69
|
+
self._client = client
|
|
70
|
+
|
|
71
|
+
async def create(
|
|
72
|
+
self, *, body: WebhookCreateRequest, accept_language: str | Unset = UNSET
|
|
73
|
+
) -> WebhookCreated:
|
|
74
|
+
"""Create a customer webhook"""
|
|
75
|
+
return cast(
|
|
76
|
+
WebhookCreated,
|
|
77
|
+
await self._client._call(
|
|
78
|
+
_webhooks_create.asyncio_detailed, body=body, accept_language=accept_language
|
|
79
|
+
),
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
async def delete(self, id: str, *, accept_language: str | Unset = UNSET) -> None:
|
|
83
|
+
"""Delete a customer webhook"""
|
|
84
|
+
await self._client._call(
|
|
85
|
+
_webhooks_destroy.asyncio_detailed, id=id, accept_language=accept_language
|
|
86
|
+
)
|
|
87
|
+
return None
|
|
88
|
+
|
|
89
|
+
async def get(self, id: str, *, accept_language: str | Unset = UNSET) -> WebhookList:
|
|
90
|
+
"""Get a customer webhook"""
|
|
91
|
+
return cast(
|
|
92
|
+
WebhookList,
|
|
93
|
+
await self._client._call(
|
|
94
|
+
_webhooks_retrieve.asyncio_detailed, id=id, accept_language=accept_language
|
|
95
|
+
),
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
async def list(
|
|
99
|
+
self,
|
|
100
|
+
*,
|
|
101
|
+
limit: int | Unset = UNSET,
|
|
102
|
+
offset: int | Unset = UNSET,
|
|
103
|
+
accept_language: str | Unset = UNSET,
|
|
104
|
+
) -> PaginatedWebhookList:
|
|
105
|
+
"""List customer webhooks"""
|
|
106
|
+
return cast(
|
|
107
|
+
PaginatedWebhookList,
|
|
108
|
+
await self._client._call(
|
|
109
|
+
_webhooks_list.asyncio_detailed,
|
|
110
|
+
limit=limit,
|
|
111
|
+
offset=offset,
|
|
112
|
+
accept_language=accept_language,
|
|
113
|
+
),
|
|
114
|
+
)
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import hashlib
|
|
4
|
+
import hmac
|
|
5
|
+
import json
|
|
6
|
+
import re
|
|
7
|
+
import time
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
from .errors import InvalidSignatureError
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class WebhookVerifier:
|
|
14
|
+
"""Verify ProxyRequest webhook signatures against the exact raw request body."""
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def verify(
|
|
18
|
+
raw_body: bytes | str,
|
|
19
|
+
signature: str,
|
|
20
|
+
secret: str,
|
|
21
|
+
timestamp_header: str | None = None,
|
|
22
|
+
tolerance: int | None = 300,
|
|
23
|
+
now: int | None = None,
|
|
24
|
+
) -> bool:
|
|
25
|
+
if not signature or not secret or (tolerance is not None and tolerance < 0):
|
|
26
|
+
return False
|
|
27
|
+
parsed = _parse_signature(signature)
|
|
28
|
+
if parsed is None:
|
|
29
|
+
return False
|
|
30
|
+
timestamp, received = parsed
|
|
31
|
+
if timestamp_header is not None:
|
|
32
|
+
header = timestamp_header.strip()
|
|
33
|
+
if not header.isdigit() or int(header) != timestamp:
|
|
34
|
+
return False
|
|
35
|
+
if (
|
|
36
|
+
tolerance is not None
|
|
37
|
+
and abs((int(time.time()) if now is None else now) - timestamp) > tolerance
|
|
38
|
+
):
|
|
39
|
+
return False
|
|
40
|
+
body = raw_body.encode() if isinstance(raw_body, str) else raw_body
|
|
41
|
+
expected = hmac.new(
|
|
42
|
+
secret.encode(), str(timestamp).encode() + b"." + body, hashlib.sha256
|
|
43
|
+
).hexdigest()
|
|
44
|
+
return any(hmac.compare_digest(expected, candidate.lower()) for candidate in received)
|
|
45
|
+
|
|
46
|
+
@staticmethod
|
|
47
|
+
def verify_or_raise(
|
|
48
|
+
raw_body: bytes | str,
|
|
49
|
+
signature: str,
|
|
50
|
+
secret: str,
|
|
51
|
+
timestamp_header: str | None = None,
|
|
52
|
+
tolerance: int | None = 300,
|
|
53
|
+
now: int | None = None,
|
|
54
|
+
) -> None:
|
|
55
|
+
if not WebhookVerifier.verify(
|
|
56
|
+
raw_body, signature, secret, timestamp_header, tolerance, now
|
|
57
|
+
):
|
|
58
|
+
raise InvalidSignatureError("The ProxyRequest webhook signature is invalid or expired.")
|
|
59
|
+
|
|
60
|
+
@staticmethod
|
|
61
|
+
def decode_verified_json(
|
|
62
|
+
raw_body: bytes | str,
|
|
63
|
+
signature: str,
|
|
64
|
+
secret: str,
|
|
65
|
+
timestamp_header: str | None = None,
|
|
66
|
+
tolerance: int | None = 300,
|
|
67
|
+
now: int | None = None,
|
|
68
|
+
) -> dict[str, Any]:
|
|
69
|
+
WebhookVerifier.verify_or_raise(
|
|
70
|
+
raw_body, signature, secret, timestamp_header, tolerance, now
|
|
71
|
+
)
|
|
72
|
+
try:
|
|
73
|
+
payload = json.loads(raw_body)
|
|
74
|
+
except (UnicodeDecodeError, json.JSONDecodeError) as error:
|
|
75
|
+
raise ValueError("The verified webhook body is not valid JSON.") from error
|
|
76
|
+
if not isinstance(payload, dict) or not all(isinstance(key, str) for key in payload):
|
|
77
|
+
raise ValueError("The verified webhook payload must be a JSON object.")
|
|
78
|
+
return payload
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _parse_signature(signature: str) -> tuple[int, list[str]] | None:
|
|
82
|
+
timestamp: int | None = None
|
|
83
|
+
signatures: list[str] = []
|
|
84
|
+
for part in signature.split(","):
|
|
85
|
+
pair = part.strip().split("=", 1)
|
|
86
|
+
if len(pair) != 2:
|
|
87
|
+
return None
|
|
88
|
+
key, value = pair
|
|
89
|
+
if key == "t":
|
|
90
|
+
if timestamp is not None or not value.isdigit() or len(value) > 19:
|
|
91
|
+
return None
|
|
92
|
+
timestamp = int(value)
|
|
93
|
+
elif key == "v1" and re.fullmatch(r"[a-fA-F0-9]{64}", value):
|
|
94
|
+
signatures.append(value)
|
|
95
|
+
return (timestamp, signatures) if timestamp is not None and signatures else None
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: proxyrequest-sdk
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Official sync and async Python SDK for the ProxyRequest public API.
|
|
5
|
+
Project-URL: Homepage, https://proxyrequest.com
|
|
6
|
+
Project-URL: Documentation, https://proxyrequest.com/docs/
|
|
7
|
+
Project-URL: Repository, https://github.com/proxyrequest/python-sdk
|
|
8
|
+
Project-URL: Issues, https://github.com/proxyrequest/python-sdk/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/proxyrequest/python-sdk/blob/main/CHANGELOG.md
|
|
10
|
+
Author-email: ProxyRequest <support@proxyrequest.com>
|
|
11
|
+
License-Expression: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: api,proxy,proxyrequest,residential-proxy,sdk
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Typing :: Typed
|
|
25
|
+
Requires-Python: >=3.11
|
|
26
|
+
Requires-Dist: attrs>=23.2
|
|
27
|
+
Requires-Dist: httpx<1,>=0.27
|
|
28
|
+
Requires-Dist: typing-extensions>=4.8
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
|
|
31
|
+
# ProxyRequest Python SDK
|
|
32
|
+
|
|
33
|
+
[](https://github.com/proxyrequest/python-sdk/actions/workflows/ci.yml)
|
|
34
|
+
[](https://pypi.org/project/proxyrequest-sdk/)
|
|
35
|
+
[](https://pypi.org/project/proxyrequest-sdk/)
|
|
36
|
+
|
|
37
|
+
Official synchronous and asynchronous Python client for the
|
|
38
|
+
[ProxyRequest](https://proxyrequest.com/) public API. It covers all 82 operations
|
|
39
|
+
in the current contract: users, orders, proxy generation, analytics, invoices,
|
|
40
|
+
packages, locations, webhooks, API keys, Telegram integration, and more.
|
|
41
|
+
|
|
42
|
+
## What is ProxyRequest?
|
|
43
|
+
|
|
44
|
+
ProxyRequest is a white-label proxy platform for operators and resellers that
|
|
45
|
+
already have upstream proxy supply. It provides the product and control layer
|
|
46
|
+
needed to turn that supply into a customer-facing service:
|
|
47
|
+
|
|
48
|
+
- managed HTTP, HTTPS, SOCKS5, and SOCKS5h gateways;
|
|
49
|
+
- packages, users, orders, proxy credentials, limits, and byte accounting;
|
|
50
|
+
- geographic and network targeting, sticky sessions, and multi-provider routing;
|
|
51
|
+
- customer and reseller dashboards, invoices, coupons, and payment flows;
|
|
52
|
+
- analytics, signed webhooks, API keys, and operational reporting.
|
|
53
|
+
|
|
54
|
+
You can use the complete managed backend and customer dashboard, or keep your
|
|
55
|
+
own frontend, identity, and billing while ProxyRequest handles provisioning,
|
|
56
|
+
routing, accounting, and analytics headlessly. You retain your brand, pricing,
|
|
57
|
+
customer relationships, and upstream provider contracts.
|
|
58
|
+
|
|
59
|
+
ProxyRequest is not an upstream bandwidth plan. Provider traffic and contracts
|
|
60
|
+
remain separate from the platform subscription. See the
|
|
61
|
+
[platform overview](https://proxyrequest.com/docs/) for the complete operating
|
|
62
|
+
boundary.
|
|
63
|
+
|
|
64
|
+
## How this SDK fits
|
|
65
|
+
|
|
66
|
+
The REST API is the control plane around proxy traffic. This SDK provisions
|
|
67
|
+
resources and reads their state; customer proxy requests go to the managed
|
|
68
|
+
gateway servers instead of passing through the SDK or REST API.
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
Your Python backend ── HTTPS/JSON ──> ProxyRequest API
|
|
72
|
+
Customer traffic ───── HTTP/SOCKS ──> Managed gateways ──> Destination
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Keep the credentials for those paths separate: API keys belong only in trusted
|
|
76
|
+
backend code, while generated proxy usernames and passwords are supplied only
|
|
77
|
+
to the customer or workload that connects to a gateway.
|
|
78
|
+
|
|
79
|
+
The most important resource relationships are:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
Customer purchase:
|
|
83
|
+
Package -> Invoice -> Paid invoice -> Order / data ledger -> Proxy credentials
|
|
84
|
+
|
|
85
|
+
Reseller provisioning:
|
|
86
|
+
Eligible root order -> Sub-user + child allocation -> Proxy credentials
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Invoices describe commercial state. Orders and data ledgers describe service
|
|
90
|
+
entitlement. Creating an invoice or returning from checkout is therefore not
|
|
91
|
+
proof that proxy access is active.
|
|
92
|
+
|
|
93
|
+
## Choose an integration path
|
|
94
|
+
|
|
95
|
+
| Scenario | Recommended flow |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| Built-in customer checkout | Select a package, create an invoice, obtain its payment link, confirm payment and entitlement, then generate proxy credentials. |
|
|
98
|
+
| Reseller-managed customer | Create a sub-user, assign a package and byte limit from an eligible root order, then generate credentials for that user. |
|
|
99
|
+
| Existing headless platform | Keep your own customer and billing records, persist mappings to ProxyRequest users/packages/orders, and provision through the API. |
|
|
100
|
+
|
|
101
|
+
See [purchase a package with an invoice](https://github.com/proxyrequest/python-sdk/blob/main/docs/guides/purchase-flow.md)
|
|
102
|
+
and [provision a reseller customer](https://github.com/proxyrequest/python-sdk/blob/main/docs/guides/reseller-provisioning.md)
|
|
103
|
+
for complete Python examples.
|
|
104
|
+
|
|
105
|
+
## Installation
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
python -m pip install proxyrequest-sdk
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Python 3.11 or newer is required. The package uses `httpx` and includes both
|
|
112
|
+
sync and async clients.
|
|
113
|
+
|
|
114
|
+
## Quick start
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
import os
|
|
118
|
+
|
|
119
|
+
from proxyrequest_sdk import Client
|
|
120
|
+
from proxyrequest_sdk.models import UserCreateRequest
|
|
121
|
+
|
|
122
|
+
with Client.with_api_key(os.environ["PROXYREQUEST_API_KEY"]) as client:
|
|
123
|
+
profile = client.profile.get()
|
|
124
|
+
user = client.users.create(
|
|
125
|
+
body=UserCreateRequest(
|
|
126
|
+
username="customer-reference",
|
|
127
|
+
password=os.urandom(32).hex(),
|
|
128
|
+
)
|
|
129
|
+
)
|
|
130
|
+
print(profile.username, user.id)
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Static API keys are sent as `Authorization: Static YOUR_API_KEY`. Never expose
|
|
134
|
+
them to browser code.
|
|
135
|
+
|
|
136
|
+
The asynchronous API has the same resource and method names:
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
import os
|
|
140
|
+
|
|
141
|
+
from proxyrequest_sdk import AsyncClient
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
async def list_users() -> None:
|
|
145
|
+
async with AsyncClient.with_api_key(os.environ["PROXYREQUEST_API_KEY"]) as client:
|
|
146
|
+
page = await client.users.list(limit=100)
|
|
147
|
+
for user in page.results:
|
|
148
|
+
print(user.username)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Resource API
|
|
152
|
+
|
|
153
|
+
`Client` and `AsyncClient` expose one object per API group:
|
|
154
|
+
|
|
155
|
+
```python
|
|
156
|
+
client.authorization
|
|
157
|
+
client.users
|
|
158
|
+
client.profile
|
|
159
|
+
client.orders
|
|
160
|
+
client.proxies
|
|
161
|
+
client.analytics
|
|
162
|
+
client.invoices
|
|
163
|
+
client.coupons
|
|
164
|
+
client.rewards
|
|
165
|
+
client.affiliates
|
|
166
|
+
client.packages
|
|
167
|
+
client.locations
|
|
168
|
+
client.api_keys
|
|
169
|
+
client.webhooks
|
|
170
|
+
client.telegram
|
|
171
|
+
client.telegram_service
|
|
172
|
+
client.sessions
|
|
173
|
+
client.settings
|
|
174
|
+
client.news
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
All operation parameters and return values are typed. Request and response
|
|
178
|
+
models live in `proxyrequest_sdk.models`, use snake_case attributes, and expose
|
|
179
|
+
`to_dict()` / `from_dict()` helpers. IDs follow their OpenAPI type (`UUID` or
|
|
180
|
+
opaque `str`), and all byte amounts are Python integers.
|
|
181
|
+
|
|
182
|
+
See the generated [API resource reference](https://github.com/proxyrequest/python-sdk/blob/main/docs/reference/api.md)
|
|
183
|
+
and [model reference](https://github.com/proxyrequest/python-sdk/blob/main/docs/reference/models.md).
|
|
184
|
+
|
|
185
|
+
## Pagination
|
|
186
|
+
|
|
187
|
+
List endpoints return their typed OpenAPI page. Use `paginate()` to follow all
|
|
188
|
+
pages lazily:
|
|
189
|
+
|
|
190
|
+
```python
|
|
191
|
+
with Client.with_api_key(os.environ["PROXYREQUEST_API_KEY"]) as client:
|
|
192
|
+
for user in client.paginate(client.users.list, limit=100):
|
|
193
|
+
print(user.username)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
The asynchronous variant is also lazy:
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
async with AsyncClient.with_api_key(os.environ["PROXYREQUEST_API_KEY"]) as client:
|
|
200
|
+
async for user in client.paginate(client.users.list, limit=100):
|
|
201
|
+
print(user.username)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Errors
|
|
205
|
+
|
|
206
|
+
Every documented and undocumented HTTP failure is normalized to `ApiError`.
|
|
207
|
+
Network and decoding problems use the same contract:
|
|
208
|
+
|
|
209
|
+
```python
|
|
210
|
+
from proxyrequest_sdk import ApiError, ErrorKind
|
|
211
|
+
|
|
212
|
+
try:
|
|
213
|
+
client.profile.get()
|
|
214
|
+
except ApiError as error:
|
|
215
|
+
if error.kind is ErrorKind.AUTHENTICATION:
|
|
216
|
+
# Replace the invalid API key or bearer token.
|
|
217
|
+
pass
|
|
218
|
+
print(error.status_code, error.request_id, error.field_errors)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
The SDK does not automatically retry writes or refresh JWTs. Call
|
|
222
|
+
`client.authorization.refresh(...)` explicitly when your application owns a
|
|
223
|
+
token pair.
|
|
224
|
+
|
|
225
|
+
## Configuration and custom deployments
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
import httpx
|
|
229
|
+
|
|
230
|
+
client = Client.with_api_key(
|
|
231
|
+
os.environ["PROXYREQUEST_API_KEY"],
|
|
232
|
+
base_url="https://customer-api.example/api/v1",
|
|
233
|
+
language="uk",
|
|
234
|
+
timeout=20,
|
|
235
|
+
connect_timeout=5,
|
|
236
|
+
)
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
An existing `httpx.Client` or `httpx.AsyncClient` can be supplied through
|
|
240
|
+
`http_client`. It must have the same `base_url`; the SDK applies its auth,
|
|
241
|
+
language, and user-agent headers but leaves closing the external client to the
|
|
242
|
+
caller. The `request()` method is an authenticated escape hatch for endpoints
|
|
243
|
+
introduced before the next SDK release.
|
|
244
|
+
|
|
245
|
+
## Invoice downloads
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
download = client.download_invoice_pdf(invoice_id)
|
|
249
|
+
path = download.save(f"./{download.filename}")
|
|
250
|
+
print(path, download.content_type)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
`save()` does not overwrite an existing file unless `overwrite=True` is passed.
|
|
254
|
+
|
|
255
|
+
## Telegram service operations
|
|
256
|
+
|
|
257
|
+
Account-side Telegram operations use the client's API key. Bot service
|
|
258
|
+
operations require the service secret explicitly and never reuse the ordinary
|
|
259
|
+
Authorization header:
|
|
260
|
+
|
|
261
|
+
```python
|
|
262
|
+
from proxyrequest_sdk.models import TelegramSessionRequest
|
|
263
|
+
|
|
264
|
+
session = client.telegram_service.create_session(
|
|
265
|
+
body=TelegramSessionRequest(telegram_user_id=123456789, chat_id=123456789),
|
|
266
|
+
service_secret=os.environ["PROXYREQUEST_TELEGRAM_SECRET"],
|
|
267
|
+
)
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Webhook verification
|
|
271
|
+
|
|
272
|
+
Verify the exact raw body before decoding it:
|
|
273
|
+
|
|
274
|
+
```python
|
|
275
|
+
from proxyrequest_sdk import WebhookVerifier
|
|
276
|
+
|
|
277
|
+
payload = WebhookVerifier.decode_verified_json(
|
|
278
|
+
raw_body,
|
|
279
|
+
request.headers.get("X-Webhook-Signature", ""),
|
|
280
|
+
os.environ["PROXYREQUEST_WEBHOOK_SECRET"],
|
|
281
|
+
timestamp_header=request.headers.get("X-Webhook-Timestamp"),
|
|
282
|
+
)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Platform documentation
|
|
286
|
+
|
|
287
|
+
- [Platform documentation](https://proxyrequest.com/docs/): capabilities,
|
|
288
|
+
responsibility boundaries, deployment modes, and starting points.
|
|
289
|
+
- [Integration overview](https://proxyrequest.com/docs/integration/overview/):
|
|
290
|
+
control-plane boundary and common API flows.
|
|
291
|
+
- [API fundamentals](https://proxyrequest.com/docs/integration/api-fundamentals/)
|
|
292
|
+
and [API resource map](https://proxyrequest.com/docs/integration/api-resource-map/):
|
|
293
|
+
authentication, errors, pagination, and resource relationships.
|
|
294
|
+
- [Billing and growth](https://proxyrequest.com/docs/integration/billing-and-growth/):
|
|
295
|
+
invoices, payment links, coupons, and entitlement reconciliation.
|
|
296
|
+
- [Reseller workflow](https://proxyrequest.com/docs/integration/reseller-workflow/)
|
|
297
|
+
and [users and data](https://proxyrequest.com/docs/integration/users-and-data/):
|
|
298
|
+
sub-user provisioning and safe byte allocation.
|
|
299
|
+
- [Catalog and proxy generation](https://proxyrequest.com/docs/integration/catalog-and-proxies/):
|
|
300
|
+
packages, orders, locations, and credentials.
|
|
301
|
+
- [Webhooks](https://proxyrequest.com/docs/integration/webhooks/) and
|
|
302
|
+
[usage accounting](https://proxyrequest.com/docs/proxy/usage-accounting/):
|
|
303
|
+
event handling, root ledgers, child limits, and reconciliation.
|
|
304
|
+
- [API reference](https://proxyrequest.com/docs/api/): exact endpoints,
|
|
305
|
+
request schemas, responses, and examples.
|
|
306
|
+
|
|
307
|
+
## Development
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
uv sync --all-groups
|
|
311
|
+
make quality
|
|
312
|
+
make generate-check
|
|
313
|
+
make build
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
The vendored schema is pinned in `openapi/source.json`. Run
|
|
317
|
+
`make sync-openapi SOURCE=/path/to/openapi.yml`, followed by `make generate`, to
|
|
318
|
+
update it. Generation is pinned and CI rejects uncommitted contract changes.
|
|
319
|
+
|
|
320
|
+
## License
|
|
321
|
+
|
|
322
|
+
MIT
|