shopline-sdk-python 0.1.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.
- shopline_sdk/__init__.py +17 -0
- shopline_sdk/apis/__init__.py +0 -0
- shopline_sdk/apis/addon_products/__init__.py +0 -0
- shopline_sdk/apis/addon_products/bulk_update_addon_product_quantity_by_sku.py +72 -0
- shopline_sdk/apis/addon_products/create_addon_product.py +69 -0
- shopline_sdk/apis/addon_products/get_addon_product.py +42 -0
- shopline_sdk/apis/addon_products/get_addon_product_stocks.py +66 -0
- shopline_sdk/apis/addon_products/get_addon_products.py +84 -0
- shopline_sdk/apis/addon_products/search_addon_products.py +113 -0
- shopline_sdk/apis/addon_products/update_addon_product.py +54 -0
- shopline_sdk/apis/addon_products/update_addon_product_quantity.py +96 -0
- shopline_sdk/apis/addon_products/update_addon_product_stock.py +86 -0
- shopline_sdk/apis/affiliate_campaigns/__init__.py +0 -0
- shopline_sdk/apis/affiliate_campaigns/create_affiliate_campaign.py +109 -0
- shopline_sdk/apis/affiliate_campaigns/delete_affiliate_campaign.py +44 -0
- shopline_sdk/apis/affiliate_campaigns/export_affiliate_campaign_report_to_partner.py +60 -0
- shopline_sdk/apis/affiliate_campaigns/get_affiliate_campaign.py +59 -0
- shopline_sdk/apis/affiliate_campaigns/get_affiliate_campaign_orders.py +75 -0
- shopline_sdk/apis/affiliate_campaigns/get_affiliate_campaign_summary.py +49 -0
- shopline_sdk/apis/affiliate_campaigns/get_affiliate_campaigns.py +84 -0
- shopline_sdk/apis/affiliate_campaigns/get_products_sales_ranking_of_campaign.py +73 -0
- shopline_sdk/apis/affiliate_campaigns/update_affiliate_campaign.py +96 -0
- shopline_sdk/apis/agents/__init__.py +0 -0
- shopline_sdk/apis/agents/get_agent.py +59 -0
- shopline_sdk/apis/agents/get_agents.py +77 -0
- shopline_sdk/apis/bulk_operations/__init__.py +0 -0
- shopline_sdk/apis/bulk_operations/get_a_bulk_operation.py +43 -0
- shopline_sdk/apis/bulk_operations/get_bulk_operations.py +57 -0
- shopline_sdk/apis/cart_item_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/cart_item_app_metafields/bulk_create_app_metafield.py +52 -0
- shopline_sdk/apis/cart_item_app_metafields/bulk_delete_app_metafield.py +61 -0
- shopline_sdk/apis/cart_item_app_metafields/bulk_update_app_metafield.py +62 -0
- shopline_sdk/apis/cart_item_app_metafields/get_app_metafields_attached_to_cart_items_of_specific_cart.py +61 -0
- shopline_sdk/apis/cart_item_metafields/__init__.py +0 -0
- shopline_sdk/apis/cart_item_metafields/bulk_create_metafield.py +52 -0
- shopline_sdk/apis/cart_item_metafields/bulk_delete_metafield.py +62 -0
- shopline_sdk/apis/cart_item_metafields/bulk_update_metafield.py +62 -0
- shopline_sdk/apis/cart_item_metafields/get_metafields_attached_to_cart_items_of_specific_cart.py +62 -0
- shopline_sdk/apis/carts/__init__.py +0 -0
- shopline_sdk/apis/carts/bulk_add_items_to_cart.py +80 -0
- shopline_sdk/apis/carts/bulk_delete_cart_items.py +59 -0
- shopline_sdk/apis/carts/bulk_patch_cart_items.py +61 -0
- shopline_sdk/apis/carts/get_cart.py +63 -0
- shopline_sdk/apis/carts/get_cart_id.py +74 -0
- shopline_sdk/apis/categories/__init__.py +0 -0
- shopline_sdk/apis/categories/bulk_assign.py +75 -0
- shopline_sdk/apis/categories/bulk_update_category_product_sorting.py +84 -0
- shopline_sdk/apis/categories/create_category.py +62 -0
- shopline_sdk/apis/categories/delete_category.py +62 -0
- shopline_sdk/apis/categories/get_categories.py +104 -0
- shopline_sdk/apis/categories/get_category.py +76 -0
- shopline_sdk/apis/categories/update_category.py +70 -0
- shopline_sdk/apis/channels/__init__.py +0 -0
- shopline_sdk/apis/channels/create_product_channel_price.py +45 -0
- shopline_sdk/apis/channels/get_channel.py +76 -0
- shopline_sdk/apis/channels/get_channels.py +83 -0
- shopline_sdk/apis/channels/get_product_channel_price.py +75 -0
- shopline_sdk/apis/channels/update_product_channel_price.py +45 -0
- shopline_sdk/apis/conversations/__init__.py +0 -0
- shopline_sdk/apis/conversations/create_order_message.py +91 -0
- shopline_sdk/apis/conversations/create_return_order_message.py +90 -0
- shopline_sdk/apis/conversations/create_shop_message.py +81 -0
- shopline_sdk/apis/conversations/get_conversations.py +76 -0
- shopline_sdk/apis/conversations/get_messages.py +76 -0
- shopline_sdk/apis/custom_fields/__init__.py +0 -0
- shopline_sdk/apis/custom_fields/get_custom_fields.py +42 -0
- shopline_sdk/apis/customer_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/customer_app_metafields/create_specific_app_metafield.py +44 -0
- shopline_sdk/apis/customer_app_metafields/delete_specific_app_metafield.py +42 -0
- shopline_sdk/apis/customer_app_metafields/get_app_metafields_attached_to_specific_customer.py +61 -0
- shopline_sdk/apis/customer_app_metafields/get_specific_app_metafield.py +41 -0
- shopline_sdk/apis/customer_app_metafields/update_specific_app_metafield.py +44 -0
- shopline_sdk/apis/customer_group_children/__init__.py +0 -0
- shopline_sdk/apis/customer_group_children/get_children_group_of_the_customer_group.py +89 -0
- shopline_sdk/apis/customer_groups/__init__.py +0 -0
- shopline_sdk/apis/customer_groups/get_customer_group.py +65 -0
- shopline_sdk/apis/customer_groups/get_customer_groups.py +108 -0
- shopline_sdk/apis/customer_groups/get_customer_ids_of_the_specific_customer_group.py +84 -0
- shopline_sdk/apis/customer_groups/search_customer_groups.py +92 -0
- shopline_sdk/apis/customer_metafields/__init__.py +0 -0
- shopline_sdk/apis/customer_metafields/create_specific_metafield.py +44 -0
- shopline_sdk/apis/customer_metafields/delete_specific_metafield.py +42 -0
- shopline_sdk/apis/customer_metafields/get_metafields_attached_to_specific_customer.py +62 -0
- shopline_sdk/apis/customer_metafields/get_specific_metafield.py +41 -0
- shopline_sdk/apis/customer_metafields/update_specific_metafield.py +44 -0
- shopline_sdk/apis/customers/__init__.py +0 -0
- shopline_sdk/apis/customers/add_or_remove_customer_tags.py +93 -0
- shopline_sdk/apis/customers/create_customer.py +87 -0
- shopline_sdk/apis/customers/delete_customer.py +62 -0
- shopline_sdk/apis/customers/get_customer.py +94 -0
- shopline_sdk/apis/customers/get_customer_member_points_history.py +92 -0
- shopline_sdk/apis/customers/get_customer_store_credit_history.py +98 -0
- shopline_sdk/apis/customers/get_customers.py +127 -0
- shopline_sdk/apis/customers/get_line_customer.py +67 -0
- shopline_sdk/apis/customers/getcustomers_smembershipinfo.py +93 -0
- shopline_sdk/apis/customers/search_customers.py +216 -0
- shopline_sdk/apis/customers/update_customer.py +87 -0
- shopline_sdk/apis/customers/update_customer_member_points.py +113 -0
- shopline_sdk/apis/customers/update_customer_store_credits.py +172 -0
- shopline_sdk/apis/customers/update_customer_subscriptions.py +64 -0
- shopline_sdk/apis/customers/update_customer_tags.py +88 -0
- shopline_sdk/apis/delivery_options/__init__.py +0 -0
- shopline_sdk/apis/delivery_options/get_delivery_config.py +52 -0
- shopline_sdk/apis/delivery_options/get_delivery_option.py +42 -0
- shopline_sdk/apis/delivery_options/get_delivery_options.py +65 -0
- shopline_sdk/apis/delivery_options/get_delivery_time_slots.py +64 -0
- shopline_sdk/apis/delivery_options/updatedeliveryoption_sstoreinformation.py +67 -0
- shopline_sdk/apis/event_trackers/__init__.py +0 -0
- shopline_sdk/apis/event_trackers/create_an_event_tracker.py +83 -0
- shopline_sdk/apis/event_trackers/delete_an_event_tracker.py +57 -0
- shopline_sdk/apis/event_trackers/get_an_event_tracker.py +64 -0
- shopline_sdk/apis/event_trackers/get_event_trackers.py +97 -0
- shopline_sdk/apis/event_trackers/update_event_tracker.py +91 -0
- shopline_sdk/apis/flash_price_campaigns/__init__.py +0 -0
- shopline_sdk/apis/flash_price_campaigns/create_flash_price_campaign.py +45 -0
- shopline_sdk/apis/flash_price_campaigns/delete_flash_price_campaign.py +44 -0
- shopline_sdk/apis/flash_price_campaigns/get_a_flash_price_campaign.py +43 -0
- shopline_sdk/apis/flash_price_campaigns/get_flash_price_campaigns.py +72 -0
- shopline_sdk/apis/flash_price_campaigns/update_flash_price_campaign.py +46 -0
- shopline_sdk/apis/gifts/__init__.py +0 -0
- shopline_sdk/apis/gifts/bulk_update_quantity_by_sku.py +106 -0
- shopline_sdk/apis/gifts/create_gift.py +57 -0
- shopline_sdk/apis/gifts/get_gift_stocks.py +66 -0
- shopline_sdk/apis/gifts/get_gifts.py +86 -0
- shopline_sdk/apis/gifts/search_gifts.py +110 -0
- shopline_sdk/apis/gifts/update_gift.py +54 -0
- shopline_sdk/apis/gifts/update_gift_quantity.py +100 -0
- shopline_sdk/apis/gifts/update_gift_stock.py +86 -0
- shopline_sdk/apis/layouts/__init__.py +0 -0
- shopline_sdk/apis/layouts/get_layouts_sections.py +77 -0
- shopline_sdk/apis/medias/__init__.py +0 -0
- shopline_sdk/apis/medias/create_image.py +52 -0
- shopline_sdk/apis/member_point_rules/__init__.py +0 -0
- shopline_sdk/apis/member_point_rules/get_member_point_rules.py +55 -0
- shopline_sdk/apis/member_points/__init__.py +0 -0
- shopline_sdk/apis/member_points/bulk_update_member_points.py +87 -0
- shopline_sdk/apis/membership_tiers/__init__.py +0 -0
- shopline_sdk/apis/membership_tiers/get_customer_membership_tier_history.py +84 -0
- shopline_sdk/apis/membership_tiers/get_membership_tiers.py +65 -0
- shopline_sdk/apis/merchant_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/merchant_app_metafields/get_app_metafields_attached_to_current_merchant.py +61 -0
- shopline_sdk/apis/merchant_metafields/__init__.py +0 -0
- shopline_sdk/apis/merchant_metafields/get_metafields_attached_to_current_merchant.py +62 -0
- shopline_sdk/apis/merchants/__init__.py +0 -0
- shopline_sdk/apis/merchants/generatemerchant_sexpresscartlink.py +66 -0
- shopline_sdk/apis/merchants/get_merchant.py +56 -0
- shopline_sdk/apis/merchants/get_merchants.py +46 -0
- shopline_sdk/apis/metafield_definitions/__init__.py +0 -0
- shopline_sdk/apis/metafield_definitions/create_specific_metafield_definition.py +44 -0
- shopline_sdk/apis/metafield_definitions/get_an_array_of_metafield_definitions.py +45 -0
- shopline_sdk/apis/metafield_definitions/get_specific_metafield_definition.py +41 -0
- shopline_sdk/apis/multipass_linking/__init__.py +0 -0
- shopline_sdk/apis/multipass_linking/delete_multipass_linking_for_customer.py +61 -0
- shopline_sdk/apis/multipass_linking/get_active_multipass_linkings.py +67 -0
- shopline_sdk/apis/multipass_linking/update_multipass_linking_for_customer.py +69 -0
- shopline_sdk/apis/multipass_secret/__init__.py +0 -0
- shopline_sdk/apis/multipass_secret/create_multipass_secret.py +41 -0
- shopline_sdk/apis/multipass_secret/get_multipass_secret.py +50 -0
- shopline_sdk/apis/order_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/order_app_metafields/get_app_metafields_attached_to_specific_order.py +61 -0
- shopline_sdk/apis/order_deliveries/__init__.py +0 -0
- shopline_sdk/apis/order_deliveries/get_order_delivery.py +43 -0
- shopline_sdk/apis/order_deliveries/update_order_delivery.py +63 -0
- shopline_sdk/apis/order_item_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/order_item_app_metafields/get_app_metafields_attached_to_order_items_of_specific_order.py +61 -0
- shopline_sdk/apis/order_item_metafields/__init__.py +0 -0
- shopline_sdk/apis/order_item_metafields/get_metafields_attached_to_order_items_of_specific_order.py +62 -0
- shopline_sdk/apis/order_metafields/__init__.py +0 -0
- shopline_sdk/apis/order_metafields/get_metafields_attached_to_specific_order.py +62 -0
- shopline_sdk/apis/orders/__init__.py +0 -0
- shopline_sdk/apis/orders/bulk_execute_shipment.py +70 -0
- shopline_sdk/apis/orders/cancel_order.py +70 -0
- shopline_sdk/apis/orders/create_archived_orders_report.py +72 -0
- shopline_sdk/apis/orders/create_order.py +90 -0
- shopline_sdk/apis/orders/execute_shipment.py +63 -0
- shopline_sdk/apis/orders/get_all_orders_tags.py +54 -0
- shopline_sdk/apis/orders/get_order.py +78 -0
- shopline_sdk/apis/orders/get_order_action_logs.py +62 -0
- shopline_sdk/apis/orders/get_order_labels_of_delivery.py +94 -0
- shopline_sdk/apis/orders/get_order_transaction_by_order_ids.py +58 -0
- shopline_sdk/apis/orders/get_orders.py +111 -0
- shopline_sdk/apis/orders/search_orders.py +339 -0
- shopline_sdk/apis/orders/split_order.py +84 -0
- shopline_sdk/apis/orders/update_order.py +123 -0
- shopline_sdk/apis/orders/update_order_delivery_status.py +88 -0
- shopline_sdk/apis/orders/update_order_payment_status.py +92 -0
- shopline_sdk/apis/orders/update_order_status.py +94 -0
- shopline_sdk/apis/orders/update_order_tags.py +91 -0
- shopline_sdk/apis/payments/__init__.py +0 -0
- shopline_sdk/apis/payments/get_payment.py +59 -0
- shopline_sdk/apis/payments/get_payments.py +88 -0
- shopline_sdk/apis/product_app_metafields/__init__.py +0 -0
- shopline_sdk/apis/product_app_metafields/get_app_metafields_attached_to_specific_product.py +61 -0
- shopline_sdk/apis/product_metafields/__init__.py +0 -0
- shopline_sdk/apis/product_metafields/get_metafields_attached_to_specific_product.py +62 -0
- shopline_sdk/apis/product_review_comments/__init__.py +0 -0
- shopline_sdk/apis/product_review_comments/bulk_create_product_review_comments.py +66 -0
- shopline_sdk/apis/product_review_comments/bulk_delete_product_review_comments.py +46 -0
- shopline_sdk/apis/product_review_comments/bulk_update_product_review_comments.py +64 -0
- shopline_sdk/apis/product_review_comments/create_product_review_comments.py +45 -0
- shopline_sdk/apis/product_review_comments/delete_product_review_comment.py +37 -0
- shopline_sdk/apis/product_review_comments/get_product_review_comment.py +42 -0
- shopline_sdk/apis/product_review_comments/get_product_review_comments.py +91 -0
- shopline_sdk/apis/product_review_comments/update_product_review_comment.py +45 -0
- shopline_sdk/apis/product_subscriptions/__init__.py +0 -0
- shopline_sdk/apis/product_subscriptions/get_a_list_of_product_subscriptions.py +71 -0
- shopline_sdk/apis/product_subscriptions/get_product_subscription.py +42 -0
- shopline_sdk/apis/products/__init__.py +0 -0
- shopline_sdk/apis/products/add_product_images.py +84 -0
- shopline_sdk/apis/products/batch_update_current_product_labels.py +73 -0
- shopline_sdk/apis/products/bulk_delete_product.py +77 -0
- shopline_sdk/apis/products/bulk_update_stock.py +81 -0
- shopline_sdk/apis/products/bulkpublish_unpublishproductinonlinestore.py +64 -0
- shopline_sdk/apis/products/bulkpublish_unpublishproductinretailstore.py +64 -0
- shopline_sdk/apis/products/create_product.py +54 -0
- shopline_sdk/apis/products/create_product_variation.py +70 -0
- shopline_sdk/apis/products/delete_product.py +70 -0
- shopline_sdk/apis/products/delete_product_images.py +54 -0
- shopline_sdk/apis/products/delete_product_variation.py +70 -0
- shopline_sdk/apis/products/get_locked_inventory_count.py +53 -0
- shopline_sdk/apis/products/get_product.py +79 -0
- shopline_sdk/apis/products/get_product_stocks.py +66 -0
- shopline_sdk/apis/products/get_products.py +112 -0
- shopline_sdk/apis/products/search_products.py +58 -0
- shopline_sdk/apis/products/update_current_product_tags.py +80 -0
- shopline_sdk/apis/products/update_product.py +54 -0
- shopline_sdk/apis/products/update_product_price.py +94 -0
- shopline_sdk/apis/products/update_product_quantity.py +102 -0
- shopline_sdk/apis/products/update_product_variation.py +46 -0
- shopline_sdk/apis/products/update_product_variation_price.py +92 -0
- shopline_sdk/apis/products/update_product_variation_quantity.py +111 -0
- shopline_sdk/apis/products/update_quantity_by_sku.py +114 -0
- shopline_sdk/apis/products/update_stock.py +89 -0
- shopline_sdk/apis/promotions/__init__.py +0 -0
- shopline_sdk/apis/promotions/create_promotion.py +45 -0
- shopline_sdk/apis/promotions/delete_promotion.py +44 -0
- shopline_sdk/apis/promotions/get_customer_coupon_promotions.py +61 -0
- shopline_sdk/apis/promotions/get_customer_promotions.py +63 -0
- shopline_sdk/apis/promotions/get_promotion.py +60 -0
- shopline_sdk/apis/promotions/get_promotions.py +106 -0
- shopline_sdk/apis/promotions/search_promotions.py +108 -0
- shopline_sdk/apis/promotions/update_promotion.py +54 -0
- shopline_sdk/apis/purchase_orders/__init__.py +0 -0
- shopline_sdk/apis/purchase_orders/create_child_purchase_order.py +66 -0
- shopline_sdk/apis/purchase_orders/create_purchase_order.py +66 -0
- shopline_sdk/apis/purchase_orders/delete_the_specified_purchase_orders.py +60 -0
- shopline_sdk/apis/purchase_orders/get_purchase_orders.py +89 -0
- shopline_sdk/apis/purchase_orders/get_the_specified_purchase_order.py +59 -0
- shopline_sdk/apis/purchase_orders/update_purchase_order.py +66 -0
- shopline_sdk/apis/return_orders/__init__.py +0 -0
- shopline_sdk/apis/return_orders/create_return_order.py +62 -0
- shopline_sdk/apis/return_orders/get_return_order.py +42 -0
- shopline_sdk/apis/return_orders/get_return_orders.py +95 -0
- shopline_sdk/apis/return_orders/update_return_order.py +70 -0
- shopline_sdk/apis/sales/__init__.py +0 -0
- shopline_sdk/apis/sales/create_sale_products.py +78 -0
- shopline_sdk/apis/sales/delete_sale_products.py +44 -0
- shopline_sdk/apis/sales/get_sale_comments.py +77 -0
- shopline_sdk/apis/sales/get_sale_customers.py +69 -0
- shopline_sdk/apis/sales/get_sale_products.py +74 -0
- shopline_sdk/apis/sales/update_sale_product_status.py +71 -0
- shopline_sdk/apis/sales/update_sale_products.py +78 -0
- shopline_sdk/apis/settings/__init__.py +0 -0
- shopline_sdk/apis/settings/get_checkout_setting.py +51 -0
- shopline_sdk/apis/settings/get_domains_setting.py +51 -0
- shopline_sdk/apis/settings/get_layouts_draft_setting.py +59 -0
- shopline_sdk/apis/settings/get_layouts_setting.py +59 -0
- shopline_sdk/apis/settings/get_orders_setting.py +51 -0
- shopline_sdk/apis/settings/get_payments_setting.py +51 -0
- shopline_sdk/apis/settings/get_pos_setting.py +51 -0
- shopline_sdk/apis/settings/get_product_review_setting.py +51 -0
- shopline_sdk/apis/settings/get_products_setting.py +51 -0
- shopline_sdk/apis/settings/get_promotions_setting.py +51 -0
- shopline_sdk/apis/settings/get_setting.py +42 -0
- shopline_sdk/apis/settings/get_shop_setting.py +51 -0
- shopline_sdk/apis/settings/get_tax_setting.py +51 -0
- shopline_sdk/apis/settings/get_theme_draft_setting.py +59 -0
- shopline_sdk/apis/settings/get_theme_setting.py +59 -0
- shopline_sdk/apis/settings/get_third_party_ads_setting.py +42 -0
- shopline_sdk/apis/settings/get_users_setting.py +65 -0
- shopline_sdk/apis/settings/publish_layouts_setting.py +73 -0
- shopline_sdk/apis/settings/publish_theme_setting.py +59 -0
- shopline_sdk/apis/settings/save_layouts_draft_setting.py +67 -0
- shopline_sdk/apis/settings/save_theme_setting.py +59 -0
- shopline_sdk/apis/settings/update_domains_setting.py +85 -0
- shopline_sdk/apis/staffs/__init__.py +0 -0
- shopline_sdk/apis/staffs/get_all_staff.py +62 -0
- shopline_sdk/apis/staffs/get_staff.py +59 -0
- shopline_sdk/apis/staffs/get_staff_permissions.py +62 -0
- shopline_sdk/apis/store_credits/__init__.py +0 -0
- shopline_sdk/apis/store_credits/bulk_update_store_credits.py +90 -0
- shopline_sdk/apis/store_credits/get_store_credits.py +87 -0
- shopline_sdk/apis/storefront_oauth_applications/__init__.py +0 -0
- shopline_sdk/apis/storefront_oauth_applications/create_storefront_o_auth_application.py +52 -0
- shopline_sdk/apis/storefront_oauth_applications/delete_storefront_oauth_application_by_id.py +47 -0
- shopline_sdk/apis/storefront_oauth_applications/get_storefront_o_auth_application.py +41 -0
- shopline_sdk/apis/storefront_oauth_applications/get_storefront_o_auth_application_by_id.py +50 -0
- shopline_sdk/apis/storefront_tokens/__init__.py +0 -0
- shopline_sdk/apis/storefront_tokens/create_storefront_token.py +60 -0
- shopline_sdk/apis/storefront_tokens/delete_storefront_token_by_id.py +54 -0
- shopline_sdk/apis/storefront_tokens/get_storefront_token_by_id.py +51 -0
- shopline_sdk/apis/storefront_tokens/list_all_storefront_tokens.py +46 -0
- shopline_sdk/apis/taxes/__init__.py +0 -0
- shopline_sdk/apis/taxes/get_taxes.py +65 -0
- shopline_sdk/apis/themes/__init__.py +0 -0
- shopline_sdk/apis/themes/get_theme_by_theme_key.py +63 -0
- shopline_sdk/apis/themes/getthethemesectionsbytheme_key.py +76 -0
- shopline_sdk/apis/token/__init__.py +0 -0
- shopline_sdk/apis/token/get_token_info.py +44 -0
- shopline_sdk/apis/user_coupons/__init__.py +0 -0
- shopline_sdk/apis/user_coupons/claim_user_coupon.py +45 -0
- shopline_sdk/apis/user_coupons/create_user_coupon.py +40 -0
- shopline_sdk/apis/user_coupons/get_user_coupons.py +55 -0
- shopline_sdk/apis/user_coupons/get_user_coupons_with_cursor.py +57 -0
- shopline_sdk/apis/user_coupons/redeem_user_coupon.py +45 -0
- shopline_sdk/apis/warehouses/__init__.py +0 -0
- shopline_sdk/apis/warehouses/get_warehouses.py +92 -0
- shopline_sdk/apis/webhooks/__init__.py +0 -0
- shopline_sdk/apis/webhooks/create_webhook.py +45 -0
- shopline_sdk/apis/webhooks/delete_webhook.py +37 -0
- shopline_sdk/apis/webhooks/get_webhook.py +42 -0
- shopline_sdk/apis/webhooks/get_webhooks.py +59 -0
- shopline_sdk/apis/webhooks/update_webhook.py +45 -0
- shopline_sdk/apis/wish_list_items/__init__.py +0 -0
- shopline_sdk/apis/wish_list_items/create_wish_list_item.py +68 -0
- shopline_sdk/apis/wish_list_items/delete_wish_list_item.py +89 -0
- shopline_sdk/apis/wish_list_items/get_wish_list_items.py +88 -0
- shopline_sdk/client.py +15 -0
- shopline_sdk/exceptions.py +48 -0
- shopline_sdk/helper.py +84 -0
- shopline_sdk/models/__init__.py +610 -0
- shopline_sdk/models/addon_product.py +50 -0
- shopline_sdk/models/addon_products.py +14 -0
- shopline_sdk/models/addon_products_cursor_based.py +15 -0
- shopline_sdk/models/address_node.py +27 -0
- shopline_sdk/models/address_nodes.py +20 -0
- shopline_sdk/models/address_preference.py +46 -0
- shopline_sdk/models/address_preference_layout_data.py +15 -0
- shopline_sdk/models/address_preferences.py +16 -0
- shopline_sdk/models/affiliate.py +32 -0
- shopline_sdk/models/affiliate_campaign.py +53 -0
- shopline_sdk/models/affiliate_campaign_order.py +75 -0
- shopline_sdk/models/affiliate_campaign_orders.py +16 -0
- shopline_sdk/models/affiliate_campaigns.py +20 -0
- shopline_sdk/models/agent.py +20 -0
- shopline_sdk/models/agent_work_log.py +30 -0
- shopline_sdk/models/agent_work_logs.py +12 -0
- shopline_sdk/models/agents.py +14 -0
- shopline_sdk/models/analytics.py +12 -0
- shopline_sdk/models/app_metafield_value.py +26 -0
- shopline_sdk/models/app_setting.py +9 -0
- shopline_sdk/models/bad_request_error.py +14 -0
- shopline_sdk/models/bearer_auth.py +9 -0
- shopline_sdk/models/bulk_delete_metafield_body.py +15 -0
- shopline_sdk/models/bulk_update_app_metafield_body.py +16 -0
- shopline_sdk/models/bulk_update_metafield_body.py +17 -0
- shopline_sdk/models/campaign_product.py +18 -0
- shopline_sdk/models/cart.py +128 -0
- shopline_sdk/models/cart_delivery.py +24 -0
- shopline_sdk/models/cart_item.py +51 -0
- shopline_sdk/models/cart_product.py +83 -0
- shopline_sdk/models/cart_product_variation.py +36 -0
- shopline_sdk/models/cart_promotion.py +19 -0
- shopline_sdk/models/categories.py +14 -0
- shopline_sdk/models/categories_cursor_based.py +15 -0
- shopline_sdk/models/category.py +45 -0
- shopline_sdk/models/category_layout.py +23 -0
- shopline_sdk/models/change_payment_method_response.py +14 -0
- shopline_sdk/models/channel.py +49 -0
- shopline_sdk/models/channel_param.py +11 -0
- shopline_sdk/models/channels.py +14 -0
- shopline_sdk/models/checkout_setting.py +37 -0
- shopline_sdk/models/corporate_info.py +34 -0
- shopline_sdk/models/coupon_item.py +53 -0
- shopline_sdk/models/create_agent_body.py +17 -0
- shopline_sdk/models/create_agent_work_log_request_body.py +18 -0
- shopline_sdk/models/create_app_metafield_body.py +15 -0
- shopline_sdk/models/create_bulk_operation_body.py +22 -0
- shopline_sdk/models/create_category_body.py +27 -0
- shopline_sdk/models/create_channel_price_body.py +21 -0
- shopline_sdk/models/create_customer_body.py +63 -0
- shopline_sdk/models/create_customer_group_activity_body.py +24 -0
- shopline_sdk/models/create_delivery_option_body.py +38 -0
- shopline_sdk/models/create_event_tracker_body.py +23 -0
- shopline_sdk/models/create_flash_price_campaign_body.py +22 -0
- shopline_sdk/models/create_metafield_body.py +16 -0
- shopline_sdk/models/create_metafield_definition_body.py +18 -0
- shopline_sdk/models/create_page_body.py +25 -0
- shopline_sdk/models/create_product_body.py +84 -0
- shopline_sdk/models/create_product_feed_setting_body.py +31 -0
- shopline_sdk/models/create_product_review_comment_body.py +21 -0
- shopline_sdk/models/create_product_variation_body.py +13 -0
- shopline_sdk/models/create_promotion_body.py +56 -0
- shopline_sdk/models/create_return_order_body.py +49 -0
- shopline_sdk/models/create_sub_res_app_metafield_body.py +16 -0
- shopline_sdk/models/create_sub_res_metafield_body.py +17 -0
- shopline_sdk/models/create_user_coupon_body.py +18 -0
- shopline_sdk/models/create_webhook_body.py +14 -0
- shopline_sdk/models/create_wish_list_item_body.py +27 -0
- shopline_sdk/models/cursor_based_paginatable.py +12 -0
- shopline_sdk/models/custom_field.py +18 -0
- shopline_sdk/models/customer.py +200 -0
- shopline_sdk/models/customer_coupon_promotions.py +12 -0
- shopline_sdk/models/customer_group.py +33 -0
- shopline_sdk/models/customer_group_activity.py +28 -0
- shopline_sdk/models/customer_groups.py +14 -0
- shopline_sdk/models/customer_promotion.py +54 -0
- shopline_sdk/models/customer_viewed_categories.py +14 -0
- shopline_sdk/models/customer_viewed_category.py +14 -0
- shopline_sdk/models/customer_viewed_product.py +14 -0
- shopline_sdk/models/customer_viewed_products.py +14 -0
- shopline_sdk/models/delivery_option.py +74 -0
- shopline_sdk/models/delivery_rate.py +17 -0
- shopline_sdk/models/delivery_time_slot.py +27 -0
- shopline_sdk/models/domains_setting.py +13 -0
- shopline_sdk/models/domains_setting_webmaster.py +20 -0
- shopline_sdk/models/end_date_param.py +10 -0
- shopline_sdk/models/entity_render_error.py +11 -0
- shopline_sdk/models/event_tracker.py +35 -0
- shopline_sdk/models/event_trackers.py +14 -0
- shopline_sdk/models/extend_promotion.py +25 -0
- shopline_sdk/models/facebook_business_extension_domains_entity.py +16 -0
- shopline_sdk/models/filter_tag.py +14 -0
- shopline_sdk/models/flash_price_campaign.py +39 -0
- shopline_sdk/models/flash_price_campaigns.py +16 -0
- shopline_sdk/models/forbidden_error.py +14 -0
- shopline_sdk/models/gift.py +54 -0
- shopline_sdk/models/gifts.py +14 -0
- shopline_sdk/models/gifts_cursor_based.py +15 -0
- shopline_sdk/models/global_section.py +12 -0
- shopline_sdk/models/global_section_settings.py +27 -0
- shopline_sdk/models/gross_amount_analytics.py +28 -0
- shopline_sdk/models/gross_orders_analytics.py +29 -0
- shopline_sdk/models/individual_info.py +14 -0
- shopline_sdk/models/interval_param.py +11 -0
- shopline_sdk/models/invoice.py +17 -0
- shopline_sdk/models/is_real_time_param.py +10 -0
- shopline_sdk/models/job.py +48 -0
- shopline_sdk/models/jobs.py +14 -0
- shopline_sdk/models/layout_sections.py +12 -0
- shopline_sdk/models/layouts_setting.py +14 -0
- shopline_sdk/models/limit_exceeded_error.py +14 -0
- shopline_sdk/models/link.py +39 -0
- shopline_sdk/models/lock_inventory.py +9 -0
- shopline_sdk/models/lock_inventory_count.py +14 -0
- shopline_sdk/models/max_applicable_member_point.py +16 -0
- shopline_sdk/models/media.py +16 -0
- shopline_sdk/models/media_upload_error.py +10 -0
- shopline_sdk/models/member_point.py +28 -0
- shopline_sdk/models/member_point_fulfillment.py +23 -0
- shopline_sdk/models/member_point_rule.py +40 -0
- shopline_sdk/models/member_point_rules.py +12 -0
- shopline_sdk/models/member_points.py +14 -0
- shopline_sdk/models/member_registration_analytics.py +29 -0
- shopline_sdk/models/membership_info.py +56 -0
- shopline_sdk/models/membership_tier.py +26 -0
- shopline_sdk/models/membership_tier_action_log.py +19 -0
- shopline_sdk/models/membership_tier_action_logs.py +14 -0
- shopline_sdk/models/membership_tier_rule.py +53 -0
- shopline_sdk/models/merchant.py +78 -0
- shopline_sdk/models/merchant_kyc.py +24 -0
- shopline_sdk/models/merchant_tax.py +50 -0
- shopline_sdk/models/metafield_definition.py +28 -0
- shopline_sdk/models/metafield_value.py +28 -0
- shopline_sdk/models/money.py +13 -0
- shopline_sdk/models/multipass_linking.py +22 -0
- shopline_sdk/models/multipass_linkings.py +16 -0
- shopline_sdk/models/multipass_secret.py +20 -0
- shopline_sdk/models/net_amount_analytics.py +28 -0
- shopline_sdk/models/net_orders_analytics.py +29 -0
- shopline_sdk/models/not_found_error.py +12 -0
- shopline_sdk/models/order.py +218 -0
- shopline_sdk/models/order_action_log.py +16 -0
- shopline_sdk/models/order_action_logs.py +12 -0
- shopline_sdk/models/order_agent.py +16 -0
- shopline_sdk/models/order_campaign_item.py +27 -0
- shopline_sdk/models/order_comment.py +28 -0
- shopline_sdk/models/order_conversation.py +39 -0
- shopline_sdk/models/order_conversations.py +14 -0
- shopline_sdk/models/order_conversations_message.py +32 -0
- shopline_sdk/models/order_conversations_messages.py +16 -0
- shopline_sdk/models/order_customer_info.py +24 -0
- shopline_sdk/models/order_delivery.py +57 -0
- shopline_sdk/models/order_delivery_address.py +37 -0
- shopline_sdk/models/order_delivery_data.py +28 -0
- shopline_sdk/models/order_inspect_item.py +18 -0
- shopline_sdk/models/order_invoice.py +32 -0
- shopline_sdk/models/order_item.py +93 -0
- shopline_sdk/models/order_payment.py +38 -0
- shopline_sdk/models/order_promotion_item.py +24 -0
- shopline_sdk/models/order_source.py +16 -0
- shopline_sdk/models/order_tag.py +10 -0
- shopline_sdk/models/order_transaction.py +32 -0
- shopline_sdk/models/orders_setting.py +25 -0
- shopline_sdk/models/page.py +49 -0
- shopline_sdk/models/page_block_settings.py +12 -0
- shopline_sdk/models/page_section.py +14 -0
- shopline_sdk/models/page_section_schema.py +37 -0
- shopline_sdk/models/page_section_settings.py +29 -0
- shopline_sdk/models/page_sections.py +12 -0
- shopline_sdk/models/paginatable.py +16 -0
- shopline_sdk/models/pagination.py +12 -0
- shopline_sdk/models/payment.py +33 -0
- shopline_sdk/models/payment_config_data.py +14 -0
- shopline_sdk/models/payment_fee_item.py +31 -0
- shopline_sdk/models/payment_settlement.py +47 -0
- shopline_sdk/models/payments_setting.py +17 -0
- shopline_sdk/models/pos_payment.py +19 -0
- shopline_sdk/models/pos_setting.py +15 -0
- shopline_sdk/models/price_detail.py +15 -0
- shopline_sdk/models/price_set.py +29 -0
- shopline_sdk/models/price_sets.py +12 -0
- shopline_sdk/models/product.py +201 -0
- shopline_sdk/models/product_feed_setting.py +45 -0
- shopline_sdk/models/product_feed_settings.py +14 -0
- shopline_sdk/models/product_ids_param.py +10 -0
- shopline_sdk/models/product_price_tier.py +26 -0
- shopline_sdk/models/product_related_theme_settings.py +23 -0
- shopline_sdk/models/product_revenue.py +26 -0
- shopline_sdk/models/product_revenues.py +14 -0
- shopline_sdk/models/product_review.py +28 -0
- shopline_sdk/models/product_review_comment.py +31 -0
- shopline_sdk/models/product_review_comments.py +14 -0
- shopline_sdk/models/product_review_comments_cursor_based.py +15 -0
- shopline_sdk/models/product_review_setting.py +32 -0
- shopline_sdk/models/product_reviews.py +14 -0
- shopline_sdk/models/product_stock.py +34 -0
- shopline_sdk/models/product_subscription.py +34 -0
- shopline_sdk/models/product_variation.py +56 -0
- shopline_sdk/models/products_cursor_based.py +17 -0
- shopline_sdk/models/products_setting.py +28 -0
- shopline_sdk/models/promotion.py +104 -0
- shopline_sdk/models/promotion_condition.py +27 -0
- shopline_sdk/models/promotion_excluded_hints.py +16 -0
- shopline_sdk/models/promotions_setting.py +28 -0
- shopline_sdk/models/purchase_order.py +63 -0
- shopline_sdk/models/purchase_order_item.py +66 -0
- shopline_sdk/models/purchase_orders.py +14 -0
- shopline_sdk/models/quantity_update_not_allowed_error.py +14 -0
- shopline_sdk/models/retail_status.py +11 -0
- shopline_sdk/models/return_order.py +75 -0
- shopline_sdk/models/return_order_delivery.py +26 -0
- shopline_sdk/models/return_order_delivery_address.py +37 -0
- shopline_sdk/models/return_order_delivery_data.py +28 -0
- shopline_sdk/models/return_order_item.py +33 -0
- shopline_sdk/models/return_order_payment.py +28 -0
- shopline_sdk/models/return_order_promotion_item.py +22 -0
- shopline_sdk/models/return_order_ref_data.py +10 -0
- shopline_sdk/models/return_orders.py +14 -0
- shopline_sdk/models/sale_comment.py +30 -0
- shopline_sdk/models/sale_customer.py +31 -0
- shopline_sdk/models/sale_product.py +21 -0
- shopline_sdk/models/save_draft_body.py +25 -0
- shopline_sdk/models/sc_conversation.py +31 -0
- shopline_sdk/models/sc_conversations.py +14 -0
- shopline_sdk/models/sc_conversations_message.py +30 -0
- shopline_sdk/models/sc_conversations_messages.py +16 -0
- shopline_sdk/models/search_products_body.py +71 -0
- shopline_sdk/models/server_error.py +12 -0
- shopline_sdk/models/service_unavailable_error.py +12 -0
- shopline_sdk/models/settings.py +30 -0
- shopline_sdk/models/settlement_terminal_list.py +9 -0
- shopline_sdk/models/shop_conversation.py +31 -0
- shopline_sdk/models/shop_conversations.py +14 -0
- shopline_sdk/models/shop_conversations_message.py +30 -0
- shopline_sdk/models/shop_conversations_messages.py +16 -0
- shopline_sdk/models/shop_crm_setting.py +24 -0
- shopline_sdk/models/shop_setting.py +10 -0
- shopline_sdk/models/staff.py +61 -0
- shopline_sdk/models/staff_performance.py +9 -0
- shopline_sdk/models/start_date_param.py +10 -0
- shopline_sdk/models/status.py +11 -0
- shopline_sdk/models/stock.py +12 -0
- shopline_sdk/models/store_credit.py +50 -0
- shopline_sdk/models/store_credit_fulfillment.py +27 -0
- shopline_sdk/models/storefront_o_auth_application.py +18 -0
- shopline_sdk/models/storefront_o_auth_applications.py +12 -0
- shopline_sdk/models/storefront_token.py +26 -0
- shopline_sdk/models/storefront_token_merchant.py +17 -0
- shopline_sdk/models/storefront_token_staff.py +15 -0
- shopline_sdk/models/storefront_tokens.py +12 -0
- shopline_sdk/models/supplier.py +24 -0
- shopline_sdk/models/tag.py +16 -0
- shopline_sdk/models/taggable.py +9 -0
- shopline_sdk/models/tax.py +57 -0
- shopline_sdk/models/tax_info.py +22 -0
- shopline_sdk/models/tax_region.py +20 -0
- shopline_sdk/models/tax_setting.py +10 -0
- shopline_sdk/models/theme.py +44 -0
- shopline_sdk/models/theme_schema.py +19 -0
- shopline_sdk/models/theme_setting.py +16 -0
- shopline_sdk/models/third_party_ads_setting.py +38 -0
- shopline_sdk/models/token_scopes.py +10 -0
- shopline_sdk/models/top_products_analytics.py +19 -0
- shopline_sdk/models/top_products_analytics_record.py +30 -0
- shopline_sdk/models/top_products_analytics_record_variation.py +34 -0
- shopline_sdk/models/total_sessions_analytics.py +35 -0
- shopline_sdk/models/total_views_analytics.py +29 -0
- shopline_sdk/models/transaction.py +65 -0
- shopline_sdk/models/translatable.py +28 -0
- shopline_sdk/models/translatable_array.py +28 -0
- shopline_sdk/models/unauthorized_error.py +14 -0
- shopline_sdk/models/unprocessable_entity_error.py +16 -0
- shopline_sdk/models/update_addon_product_body.py +36 -0
- shopline_sdk/models/update_agent_body.py +15 -0
- shopline_sdk/models/update_app_metafield_body.py +14 -0
- shopline_sdk/models/update_category_body.py +28 -0
- shopline_sdk/models/update_channel_price_body.py +21 -0
- shopline_sdk/models/update_customer_body.py +62 -0
- shopline_sdk/models/update_customer_group_activity_body.py +22 -0
- shopline_sdk/models/update_event_tracker_body.py +27 -0
- shopline_sdk/models/update_flash_price_campaign_body.py +22 -0
- shopline_sdk/models/update_gift_body.py +20 -0
- shopline_sdk/models/update_lock_inventory_body.py +21 -0
- shopline_sdk/models/update_metafield_body.py +14 -0
- shopline_sdk/models/update_product_body.py +66 -0
- shopline_sdk/models/update_product_feed_setting_body.py +27 -0
- shopline_sdk/models/update_product_review_comment_body.py +18 -0
- shopline_sdk/models/update_product_variation_body.py +34 -0
- shopline_sdk/models/update_promotion_body.py +71 -0
- shopline_sdk/models/update_return_order_body.py +17 -0
- shopline_sdk/models/update_webhook_body.py +14 -0
- shopline_sdk/models/user_coupon.py +12 -0
- shopline_sdk/models/user_coupons.py +14 -0
- shopline_sdk/models/user_credit_rule.py +40 -0
- shopline_sdk/models/users_setting.py +83 -0
- shopline_sdk/models/utm_data.py +20 -0
- shopline_sdk/models/warehouse.py +14 -0
- shopline_sdk/models/warehouses_cursor_based.py +17 -0
- shopline_sdk/models/webhook.py +23 -0
- shopline_sdk/models/webhooks.py +14 -0
- shopline_sdk/models/wish_list_item.py +41 -0
- shopline_sdk/models/wish_list_items.py +15 -0
- shopline_sdk_python-0.1.0.dist-info/METADATA +265 -0
- shopline_sdk_python-0.1.0.dist-info/RECORD +638 -0
- shopline_sdk_python-0.1.0.dist-info/WHEEL +5 -0
- shopline_sdk_python-0.1.0.dist-info/licenses/LICENSE +674 -0
- shopline_sdk_python-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.not_found_error import NotFoundError
|
|
11
|
+
from ...models.storefront_token import StorefrontToken
|
|
12
|
+
|
|
13
|
+
async def call(
|
|
14
|
+
session: aiohttp.ClientSession, id: str
|
|
15
|
+
) -> StorefrontToken:
|
|
16
|
+
"""
|
|
17
|
+
Get storefront token by id
|
|
18
|
+
|
|
19
|
+
Get storefront token by id
|
|
20
|
+
以ID獲取店面令牌
|
|
21
|
+
|
|
22
|
+
Path: GET /storefront_tokens/{id}
|
|
23
|
+
"""
|
|
24
|
+
# 构建请求 URL
|
|
25
|
+
url = f"storefront_tokens/{id}"
|
|
26
|
+
|
|
27
|
+
# 构建请求头
|
|
28
|
+
headers = {"Content-Type": "application/json"}
|
|
29
|
+
|
|
30
|
+
# 发起 HTTP 请求
|
|
31
|
+
async with session.get(
|
|
32
|
+
url, headers=headers
|
|
33
|
+
) as response:
|
|
34
|
+
if response.status >= 400:
|
|
35
|
+
error_data = await response.json()
|
|
36
|
+
if response.status == 404:
|
|
37
|
+
error_model = NotFoundError(**error_data)
|
|
38
|
+
raise ShoplineAPIError(
|
|
39
|
+
status_code=404,
|
|
40
|
+
error=error_model,
|
|
41
|
+
**error_data
|
|
42
|
+
)
|
|
43
|
+
# 默认错误处理
|
|
44
|
+
raise ShoplineAPIError(
|
|
45
|
+
status_code=response.status,
|
|
46
|
+
**error_data
|
|
47
|
+
)
|
|
48
|
+
response_data = await response.json()
|
|
49
|
+
|
|
50
|
+
# 验证并返回响应数据
|
|
51
|
+
return StorefrontToken(**response_data)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.storefront_token import StorefrontToken
|
|
11
|
+
|
|
12
|
+
class Response(BaseModel):
|
|
13
|
+
"""响应体模型"""
|
|
14
|
+
items: Optional[List[StorefrontToken]] = None
|
|
15
|
+
|
|
16
|
+
async def call(
|
|
17
|
+
session: aiohttp.ClientSession
|
|
18
|
+
) -> Response:
|
|
19
|
+
"""
|
|
20
|
+
List all storefront tokens
|
|
21
|
+
|
|
22
|
+
List all storefront tokens
|
|
23
|
+
列出所有店面令牌
|
|
24
|
+
|
|
25
|
+
Path: GET /storefront_tokens
|
|
26
|
+
"""
|
|
27
|
+
# 构建请求 URL
|
|
28
|
+
url = "storefront_tokens"
|
|
29
|
+
|
|
30
|
+
# 构建请求头
|
|
31
|
+
headers = {"Content-Type": "application/json"}
|
|
32
|
+
|
|
33
|
+
# 发起 HTTP 请求
|
|
34
|
+
async with session.get(
|
|
35
|
+
url, headers=headers
|
|
36
|
+
) as response:
|
|
37
|
+
if response.status >= 400:
|
|
38
|
+
error_data = await response.json()
|
|
39
|
+
raise ShoplineAPIError(
|
|
40
|
+
status_code=response.status,
|
|
41
|
+
**error_data
|
|
42
|
+
)
|
|
43
|
+
response_data = await response.json()
|
|
44
|
+
|
|
45
|
+
# 验证并返回响应数据
|
|
46
|
+
return Response(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.server_error import ServerError
|
|
11
|
+
from ...models.tax import Tax
|
|
12
|
+
|
|
13
|
+
class Request(BaseModel):
|
|
14
|
+
"""查询参数模型"""
|
|
15
|
+
show_all_regions: Optional[bool] = None
|
|
16
|
+
"""Get all regions
|
|
17
|
+
是否顯示各地區稅金"""
|
|
18
|
+
|
|
19
|
+
async def call(
|
|
20
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
21
|
+
) -> Tax:
|
|
22
|
+
"""
|
|
23
|
+
Get Taxes
|
|
24
|
+
|
|
25
|
+
Get Taxes
|
|
26
|
+
獲取稅金設定列表
|
|
27
|
+
|
|
28
|
+
Path: GET /taxes
|
|
29
|
+
"""
|
|
30
|
+
# 构建请求 URL
|
|
31
|
+
url = "taxes"
|
|
32
|
+
|
|
33
|
+
# 构建查询参数
|
|
34
|
+
params = {}
|
|
35
|
+
if request:
|
|
36
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
37
|
+
for key, value in request_dict.items():
|
|
38
|
+
if value is not None:
|
|
39
|
+
params[key] = value
|
|
40
|
+
|
|
41
|
+
# 构建请求头
|
|
42
|
+
headers = {"Content-Type": "application/json"}
|
|
43
|
+
|
|
44
|
+
# 发起 HTTP 请求
|
|
45
|
+
async with session.get(
|
|
46
|
+
url, params=params, headers=headers
|
|
47
|
+
) as response:
|
|
48
|
+
if response.status >= 400:
|
|
49
|
+
error_data = await response.json()
|
|
50
|
+
if response.status == 500:
|
|
51
|
+
error_model = ServerError(**error_data)
|
|
52
|
+
raise ShoplineAPIError(
|
|
53
|
+
status_code=500,
|
|
54
|
+
error=error_model,
|
|
55
|
+
**error_data
|
|
56
|
+
)
|
|
57
|
+
# 默认错误处理
|
|
58
|
+
raise ShoplineAPIError(
|
|
59
|
+
status_code=response.status,
|
|
60
|
+
**error_data
|
|
61
|
+
)
|
|
62
|
+
response_data = await response.json()
|
|
63
|
+
|
|
64
|
+
# 验证并返回响应数据
|
|
65
|
+
return Tax(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.server_error import ServerError
|
|
11
|
+
from ...models.theme import Theme
|
|
12
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
13
|
+
|
|
14
|
+
class Response(BaseModel):
|
|
15
|
+
"""响应体模型"""
|
|
16
|
+
items: Optional[Theme] = None
|
|
17
|
+
|
|
18
|
+
async def call(
|
|
19
|
+
session: aiohttp.ClientSession, theme_key: str
|
|
20
|
+
) -> Response:
|
|
21
|
+
"""
|
|
22
|
+
Get Theme by theme key
|
|
23
|
+
|
|
24
|
+
To get theme with the theme_key
|
|
25
|
+
用theme_key請求該主題
|
|
26
|
+
|
|
27
|
+
Path: GET /themes/{theme_key}
|
|
28
|
+
"""
|
|
29
|
+
# 构建请求 URL
|
|
30
|
+
url = f"themes/{theme_key}"
|
|
31
|
+
|
|
32
|
+
# 构建请求头
|
|
33
|
+
headers = {"Content-Type": "application/json"}
|
|
34
|
+
|
|
35
|
+
# 发起 HTTP 请求
|
|
36
|
+
async with session.get(
|
|
37
|
+
url, headers=headers
|
|
38
|
+
) as response:
|
|
39
|
+
if response.status >= 400:
|
|
40
|
+
error_data = await response.json()
|
|
41
|
+
if response.status == 401:
|
|
42
|
+
error_model = UnauthorizedError(**error_data)
|
|
43
|
+
raise ShoplineAPIError(
|
|
44
|
+
status_code=401,
|
|
45
|
+
error=error_model,
|
|
46
|
+
**error_data
|
|
47
|
+
)
|
|
48
|
+
if response.status == 500:
|
|
49
|
+
error_model = ServerError(**error_data)
|
|
50
|
+
raise ShoplineAPIError(
|
|
51
|
+
status_code=500,
|
|
52
|
+
error=error_model,
|
|
53
|
+
**error_data
|
|
54
|
+
)
|
|
55
|
+
# 默认错误处理
|
|
56
|
+
raise ShoplineAPIError(
|
|
57
|
+
status_code=response.status,
|
|
58
|
+
**error_data
|
|
59
|
+
)
|
|
60
|
+
response_data = await response.json()
|
|
61
|
+
|
|
62
|
+
# 验证并返回响应数据
|
|
63
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.server_error import ServerError
|
|
11
|
+
from ...models.theme_schema import ThemeSchema
|
|
12
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
13
|
+
|
|
14
|
+
class Request(BaseModel):
|
|
15
|
+
"""查询参数模型"""
|
|
16
|
+
template_key: Optional[str] = None
|
|
17
|
+
"""Template Key"""
|
|
18
|
+
|
|
19
|
+
class Response(BaseModel):
|
|
20
|
+
"""响应体模型"""
|
|
21
|
+
items: Optional[ThemeSchema] = None
|
|
22
|
+
|
|
23
|
+
async def call(
|
|
24
|
+
session: aiohttp.ClientSession, theme_key: str, request: Optional[Request] = None
|
|
25
|
+
) -> Response:
|
|
26
|
+
"""
|
|
27
|
+
Get the theme sections by theme_key
|
|
28
|
+
|
|
29
|
+
To get the page sections of the theme with the theme_key
|
|
30
|
+
用theme_key請求該主題有的頁面sections
|
|
31
|
+
|
|
32
|
+
Path: GET /themes/{theme_key}/sections
|
|
33
|
+
"""
|
|
34
|
+
# 构建请求 URL
|
|
35
|
+
url = f"themes/{theme_key}/sections"
|
|
36
|
+
|
|
37
|
+
# 构建查询参数
|
|
38
|
+
params = {}
|
|
39
|
+
if request:
|
|
40
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
41
|
+
for key, value in request_dict.items():
|
|
42
|
+
if value is not None:
|
|
43
|
+
params[key] = value
|
|
44
|
+
|
|
45
|
+
# 构建请求头
|
|
46
|
+
headers = {"Content-Type": "application/json"}
|
|
47
|
+
|
|
48
|
+
# 发起 HTTP 请求
|
|
49
|
+
async with session.get(
|
|
50
|
+
url, params=params, headers=headers
|
|
51
|
+
) as response:
|
|
52
|
+
if response.status >= 400:
|
|
53
|
+
error_data = await response.json()
|
|
54
|
+
if response.status == 401:
|
|
55
|
+
error_model = UnauthorizedError(**error_data)
|
|
56
|
+
raise ShoplineAPIError(
|
|
57
|
+
status_code=401,
|
|
58
|
+
error=error_model,
|
|
59
|
+
**error_data
|
|
60
|
+
)
|
|
61
|
+
if response.status == 500:
|
|
62
|
+
error_model = ServerError(**error_data)
|
|
63
|
+
raise ShoplineAPIError(
|
|
64
|
+
status_code=500,
|
|
65
|
+
error=error_model,
|
|
66
|
+
**error_data
|
|
67
|
+
)
|
|
68
|
+
# 默认错误处理
|
|
69
|
+
raise ShoplineAPIError(
|
|
70
|
+
status_code=response.status,
|
|
71
|
+
**error_data
|
|
72
|
+
)
|
|
73
|
+
response_data = await response.json()
|
|
74
|
+
|
|
75
|
+
# 验证并返回响应数据
|
|
76
|
+
return Response(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
class Response(BaseModel):
|
|
10
|
+
"""响应体模型"""
|
|
11
|
+
staff: Optional[Dict[str, Any]] = None
|
|
12
|
+
merchant: Optional[Dict[str, Any]] = None
|
|
13
|
+
|
|
14
|
+
async def call(
|
|
15
|
+
session: aiohttp.ClientSession
|
|
16
|
+
) -> Response:
|
|
17
|
+
"""
|
|
18
|
+
Get Token Info
|
|
19
|
+
|
|
20
|
+
Retrieve information of the access token
|
|
21
|
+
抓取access token的信息
|
|
22
|
+
|
|
23
|
+
Path: GET /token/info
|
|
24
|
+
"""
|
|
25
|
+
# 构建请求 URL
|
|
26
|
+
url = "token/info"
|
|
27
|
+
|
|
28
|
+
# 构建请求头
|
|
29
|
+
headers = {"Content-Type": "application/json"}
|
|
30
|
+
|
|
31
|
+
# 发起 HTTP 请求
|
|
32
|
+
async with session.get(
|
|
33
|
+
url, headers=headers
|
|
34
|
+
) as response:
|
|
35
|
+
if response.status >= 400:
|
|
36
|
+
error_data = await response.json()
|
|
37
|
+
raise ShoplineAPIError(
|
|
38
|
+
status_code=response.status,
|
|
39
|
+
**error_data
|
|
40
|
+
)
|
|
41
|
+
response_data = await response.json()
|
|
42
|
+
|
|
43
|
+
# 验证并返回响应数据
|
|
44
|
+
return Response(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
class Request(BaseModel):
|
|
10
|
+
"""请求体模型"""
|
|
11
|
+
customer_id: str
|
|
12
|
+
locale: Optional[str] = None
|
|
13
|
+
|
|
14
|
+
async def call(
|
|
15
|
+
session: aiohttp.ClientSession, coupon_code: str, request: Optional[Request] = None
|
|
16
|
+
) -> Dict[str, Any]:
|
|
17
|
+
"""
|
|
18
|
+
Claim User Coupon
|
|
19
|
+
|
|
20
|
+
To claim user coupon
|
|
21
|
+
領取優惠券
|
|
22
|
+
|
|
23
|
+
Path: POST /user_coupons/{coupon_code}/claim
|
|
24
|
+
"""
|
|
25
|
+
# 构建请求 URL
|
|
26
|
+
url = f"user_coupons/{coupon_code}/claim"
|
|
27
|
+
|
|
28
|
+
# 构建请求头
|
|
29
|
+
headers = {"Content-Type": "application/json"}
|
|
30
|
+
|
|
31
|
+
# 构建请求体
|
|
32
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
33
|
+
|
|
34
|
+
# 发起 HTTP 请求
|
|
35
|
+
async with session.post(
|
|
36
|
+
url, json=json_data, headers=headers
|
|
37
|
+
) as response:
|
|
38
|
+
if response.status >= 400:
|
|
39
|
+
error_data = await response.json()
|
|
40
|
+
raise ShoplineAPIError(
|
|
41
|
+
status_code=response.status,
|
|
42
|
+
**error_data
|
|
43
|
+
)
|
|
44
|
+
response_data = await response.json()
|
|
45
|
+
return response_data
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
async def call(
|
|
10
|
+
session: aiohttp.ClientSession, data: Optional[Dict[str, Any]] = None
|
|
11
|
+
) -> None:
|
|
12
|
+
"""
|
|
13
|
+
Create User Coupon
|
|
14
|
+
|
|
15
|
+
To create user coupon
|
|
16
|
+
創建優惠券
|
|
17
|
+
|
|
18
|
+
Path: POST /user_coupons
|
|
19
|
+
"""
|
|
20
|
+
# 构建请求 URL
|
|
21
|
+
url = "user_coupons"
|
|
22
|
+
|
|
23
|
+
# 构建请求头
|
|
24
|
+
headers = {"Content-Type": "application/json"}
|
|
25
|
+
|
|
26
|
+
# 构建请求体
|
|
27
|
+
json_data = data if data else None
|
|
28
|
+
|
|
29
|
+
# 发起 HTTP 请求
|
|
30
|
+
async with session.post(
|
|
31
|
+
url, json=json_data, headers=headers
|
|
32
|
+
) as response:
|
|
33
|
+
if response.status >= 400:
|
|
34
|
+
error_data = await response.json()
|
|
35
|
+
raise ShoplineAPIError(
|
|
36
|
+
status_code=response.status,
|
|
37
|
+
**error_data
|
|
38
|
+
)
|
|
39
|
+
# 无响应体,返回 None
|
|
40
|
+
return None
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.user_coupons import UserCoupons
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""查询参数模型"""
|
|
14
|
+
promotion_id: str
|
|
15
|
+
"""Promotion ID"""
|
|
16
|
+
|
|
17
|
+
async def call(
|
|
18
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
19
|
+
) -> UserCoupons:
|
|
20
|
+
"""
|
|
21
|
+
Get User Coupons
|
|
22
|
+
|
|
23
|
+
Get user coupons
|
|
24
|
+
獲取已領取的列表
|
|
25
|
+
|
|
26
|
+
Path: GET /user_coupons
|
|
27
|
+
"""
|
|
28
|
+
# 构建请求 URL
|
|
29
|
+
url = "user_coupons"
|
|
30
|
+
|
|
31
|
+
# 构建查询参数
|
|
32
|
+
params = {}
|
|
33
|
+
if request:
|
|
34
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
35
|
+
for key, value in request_dict.items():
|
|
36
|
+
if value is not None:
|
|
37
|
+
params[key] = value
|
|
38
|
+
|
|
39
|
+
# 构建请求头
|
|
40
|
+
headers = {"Content-Type": "application/json"}
|
|
41
|
+
|
|
42
|
+
# 发起 HTTP 请求
|
|
43
|
+
async with session.get(
|
|
44
|
+
url, params=params, headers=headers
|
|
45
|
+
) as response:
|
|
46
|
+
if response.status >= 400:
|
|
47
|
+
error_data = await response.json()
|
|
48
|
+
raise ShoplineAPIError(
|
|
49
|
+
status_code=response.status,
|
|
50
|
+
**error_data
|
|
51
|
+
)
|
|
52
|
+
response_data = await response.json()
|
|
53
|
+
|
|
54
|
+
# 验证并返回响应数据
|
|
55
|
+
return UserCoupons(**response_data)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.user_coupons import UserCoupons
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""查询参数模型"""
|
|
14
|
+
promotion_id: str
|
|
15
|
+
"""Promotion ID"""
|
|
16
|
+
next_cursor_id: Optional[str] = None
|
|
17
|
+
"""Next Cursor ID"""
|
|
18
|
+
|
|
19
|
+
async def call(
|
|
20
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
21
|
+
) -> UserCoupons:
|
|
22
|
+
"""
|
|
23
|
+
Get User Coupons With Cursor
|
|
24
|
+
|
|
25
|
+
Get User Coupons by Cursor
|
|
26
|
+
獲取已領取的列表 By Cursor
|
|
27
|
+
|
|
28
|
+
Path: GET /user_coupons/list
|
|
29
|
+
"""
|
|
30
|
+
# 构建请求 URL
|
|
31
|
+
url = "user_coupons/list"
|
|
32
|
+
|
|
33
|
+
# 构建查询参数
|
|
34
|
+
params = {}
|
|
35
|
+
if request:
|
|
36
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
37
|
+
for key, value in request_dict.items():
|
|
38
|
+
if value is not None:
|
|
39
|
+
params[key] = value
|
|
40
|
+
|
|
41
|
+
# 构建请求头
|
|
42
|
+
headers = {"Content-Type": "application/json"}
|
|
43
|
+
|
|
44
|
+
# 发起 HTTP 请求
|
|
45
|
+
async with session.get(
|
|
46
|
+
url, params=params, headers=headers
|
|
47
|
+
) as response:
|
|
48
|
+
if response.status >= 400:
|
|
49
|
+
error_data = await response.json()
|
|
50
|
+
raise ShoplineAPIError(
|
|
51
|
+
status_code=response.status,
|
|
52
|
+
**error_data
|
|
53
|
+
)
|
|
54
|
+
response_data = await response.json()
|
|
55
|
+
|
|
56
|
+
# 验证并返回响应数据
|
|
57
|
+
return UserCoupons(**response_data)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
class Request(BaseModel):
|
|
10
|
+
"""请求体模型"""
|
|
11
|
+
customer_id: Optional[str] = None
|
|
12
|
+
channel_id: Optional[str] = None
|
|
13
|
+
|
|
14
|
+
async def call(
|
|
15
|
+
session: aiohttp.ClientSession, couponCode: str, request: Optional[Request] = None
|
|
16
|
+
) -> Dict[str, Any]:
|
|
17
|
+
"""
|
|
18
|
+
Redeem User Coupon
|
|
19
|
+
|
|
20
|
+
To redeem user coupon
|
|
21
|
+
核銷優惠券
|
|
22
|
+
|
|
23
|
+
Path: POST /user_coupons/{couponCode}/redeem
|
|
24
|
+
"""
|
|
25
|
+
# 构建请求 URL
|
|
26
|
+
url = f"user_coupons/{couponCode}/redeem"
|
|
27
|
+
|
|
28
|
+
# 构建请求头
|
|
29
|
+
headers = {"Content-Type": "application/json"}
|
|
30
|
+
|
|
31
|
+
# 构建请求体
|
|
32
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
33
|
+
|
|
34
|
+
# 发起 HTTP 请求
|
|
35
|
+
async with session.post(
|
|
36
|
+
url, json=json_data, headers=headers
|
|
37
|
+
) as response:
|
|
38
|
+
if response.status >= 400:
|
|
39
|
+
error_data = await response.json()
|
|
40
|
+
raise ShoplineAPIError(
|
|
41
|
+
status_code=response.status,
|
|
42
|
+
**error_data
|
|
43
|
+
)
|
|
44
|
+
response_data = await response.json()
|
|
45
|
+
return response_data
|
|
File without changes
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.paginatable import Paginatable
|
|
11
|
+
from ...models.server_error import ServerError
|
|
12
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
13
|
+
from ...models.warehouse import Warehouse
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
previous_id: Optional[str] = None
|
|
18
|
+
"""The last ID of the warehouse in the previous request.
|
|
19
|
+
前一筆倉庫的 ID
|
|
20
|
+
beta 測試中,僅開放部分店家使用,如無法使用功能請聯絡客服窗口"""
|
|
21
|
+
page: Optional[int] = None
|
|
22
|
+
"""Page Number
|
|
23
|
+
頁數"""
|
|
24
|
+
per_page: Optional[int] = None
|
|
25
|
+
"""Numbers of Orders per Page
|
|
26
|
+
每頁顯示 n 筆資料"""
|
|
27
|
+
excludes: Optional[List[str]] = None
|
|
28
|
+
"""Could exclude certain parameters in the response
|
|
29
|
+
結果要排除哪些參數"""
|
|
30
|
+
fields: Optional[List[str]] = None
|
|
31
|
+
"""Could only show certain parameters in the response
|
|
32
|
+
結果只顯示哪些參數"""
|
|
33
|
+
|
|
34
|
+
class Response(BaseModel):
|
|
35
|
+
"""响应体模型"""
|
|
36
|
+
items: Optional[List[Warehouse]] = None
|
|
37
|
+
pagination: Optional[Paginatable] = None
|
|
38
|
+
|
|
39
|
+
async def call(
|
|
40
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
41
|
+
) -> Response:
|
|
42
|
+
"""
|
|
43
|
+
Get Warehouses
|
|
44
|
+
|
|
45
|
+
To get merchant's warehouses information
|
|
46
|
+
獲取店家倉庫資料
|
|
47
|
+
|
|
48
|
+
Path: GET /warehouses
|
|
49
|
+
"""
|
|
50
|
+
# 构建请求 URL
|
|
51
|
+
url = "warehouses"
|
|
52
|
+
|
|
53
|
+
# 构建查询参数
|
|
54
|
+
params = {}
|
|
55
|
+
if request:
|
|
56
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
57
|
+
for key, value in request_dict.items():
|
|
58
|
+
if value is not None:
|
|
59
|
+
params[key] = value
|
|
60
|
+
|
|
61
|
+
# 构建请求头
|
|
62
|
+
headers = {"Content-Type": "application/json"}
|
|
63
|
+
|
|
64
|
+
# 发起 HTTP 请求
|
|
65
|
+
async with session.get(
|
|
66
|
+
url, params=params, headers=headers
|
|
67
|
+
) as response:
|
|
68
|
+
if response.status >= 400:
|
|
69
|
+
error_data = await response.json()
|
|
70
|
+
if response.status == 422:
|
|
71
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
72
|
+
raise ShoplineAPIError(
|
|
73
|
+
status_code=422,
|
|
74
|
+
error=error_model,
|
|
75
|
+
**error_data
|
|
76
|
+
)
|
|
77
|
+
if response.status == 500:
|
|
78
|
+
error_model = ServerError(**error_data)
|
|
79
|
+
raise ShoplineAPIError(
|
|
80
|
+
status_code=500,
|
|
81
|
+
error=error_model,
|
|
82
|
+
**error_data
|
|
83
|
+
)
|
|
84
|
+
# 默认错误处理
|
|
85
|
+
raise ShoplineAPIError(
|
|
86
|
+
status_code=response.status,
|
|
87
|
+
**error_data
|
|
88
|
+
)
|
|
89
|
+
response_data = await response.json()
|
|
90
|
+
|
|
91
|
+
# 验证并返回响应数据
|
|
92
|
+
return Response(**response_data)
|