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,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.flash_price_campaign import FlashPriceCampaign
|
|
11
|
+
|
|
12
|
+
async def call(
|
|
13
|
+
session: aiohttp.ClientSession, id: str, data: Optional[Dict[str, Any]] = None
|
|
14
|
+
) -> FlashPriceCampaign:
|
|
15
|
+
"""
|
|
16
|
+
Update Flash Price Campaign
|
|
17
|
+
|
|
18
|
+
To update new flash price campaign
|
|
19
|
+
更新商品限時促銷價活動
|
|
20
|
+
|
|
21
|
+
Path: PUT /flash_price_campaigns/{id}
|
|
22
|
+
"""
|
|
23
|
+
# 构建请求 URL
|
|
24
|
+
url = f"flash_price_campaigns/{id}"
|
|
25
|
+
|
|
26
|
+
# 构建请求头
|
|
27
|
+
headers = {"Content-Type": "application/json"}
|
|
28
|
+
|
|
29
|
+
# 构建请求体
|
|
30
|
+
json_data = data if data else None
|
|
31
|
+
|
|
32
|
+
# 发起 HTTP 请求
|
|
33
|
+
async with session.put(
|
|
34
|
+
url, json=json_data, headers=headers
|
|
35
|
+
) as response:
|
|
36
|
+
if response.status >= 400:
|
|
37
|
+
error_data = await response.json()
|
|
38
|
+
# 默认错误处理
|
|
39
|
+
raise ShoplineAPIError(
|
|
40
|
+
status_code=response.status,
|
|
41
|
+
**error_data
|
|
42
|
+
)
|
|
43
|
+
response_data = await response.json()
|
|
44
|
+
|
|
45
|
+
# 验证并返回响应数据
|
|
46
|
+
return FlashPriceCampaign(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,106 @@
|
|
|
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.bad_request_error import BadRequestError
|
|
11
|
+
from ...models.gift import Gift
|
|
12
|
+
from ...models.not_found_error import NotFoundError
|
|
13
|
+
from ...models.server_error import ServerError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""请求体模型"""
|
|
18
|
+
sku: str
|
|
19
|
+
"""Gift's SKU
|
|
20
|
+
贈品的商品貨號"""
|
|
21
|
+
quantity: int
|
|
22
|
+
"""This value should be between -9999999 and 9999999.
|
|
23
|
+
數值必須在 -9999999 和 9999999 之間。"""
|
|
24
|
+
replace: Optional[bool] = None
|
|
25
|
+
"""Whether replacing the original quantity
|
|
26
|
+
是否取代原本數量"""
|
|
27
|
+
|
|
28
|
+
class Response(BaseModel):
|
|
29
|
+
"""响应体模型"""
|
|
30
|
+
id: Optional[str] = None
|
|
31
|
+
sku: Optional[str] = None
|
|
32
|
+
quantity: Optional[float] = None
|
|
33
|
+
updated_at: Optional[str] = None
|
|
34
|
+
items: Optional[List[Dict[str, Any]]] = None
|
|
35
|
+
errors: Optional[List[Dict[str, Any]]] = None
|
|
36
|
+
|
|
37
|
+
async def call(
|
|
38
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
39
|
+
) -> Response:
|
|
40
|
+
"""
|
|
41
|
+
Bulk Update Quantity by SKU
|
|
42
|
+
|
|
43
|
+
Update all gifts quantity by input SKU
|
|
44
|
+
更新所有相同商品貨號的贈品庫存數量
|
|
45
|
+
|
|
46
|
+
Path: PUT /gifts/update_quantity
|
|
47
|
+
"""
|
|
48
|
+
# 构建请求 URL
|
|
49
|
+
url = "gifts/update_quantity"
|
|
50
|
+
|
|
51
|
+
# 构建请求头
|
|
52
|
+
headers = {"Content-Type": "application/json"}
|
|
53
|
+
|
|
54
|
+
# 构建请求体
|
|
55
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
56
|
+
|
|
57
|
+
# 发起 HTTP 请求
|
|
58
|
+
async with session.put(
|
|
59
|
+
url, json=json_data, headers=headers
|
|
60
|
+
) as response:
|
|
61
|
+
if response.status >= 400:
|
|
62
|
+
error_data = await response.json()
|
|
63
|
+
if response.status == 400:
|
|
64
|
+
error_model = BadRequestError(**error_data)
|
|
65
|
+
raise ShoplineAPIError(
|
|
66
|
+
status_code=400,
|
|
67
|
+
error=error_model,
|
|
68
|
+
**error_data
|
|
69
|
+
)
|
|
70
|
+
if response.status == 403:
|
|
71
|
+
error_model = BadRequestError(**error_data)
|
|
72
|
+
raise ShoplineAPIError(
|
|
73
|
+
status_code=403,
|
|
74
|
+
error=error_model,
|
|
75
|
+
**error_data
|
|
76
|
+
)
|
|
77
|
+
if response.status == 404:
|
|
78
|
+
error_model = NotFoundError(**error_data)
|
|
79
|
+
raise ShoplineAPIError(
|
|
80
|
+
status_code=404,
|
|
81
|
+
error=error_model,
|
|
82
|
+
**error_data
|
|
83
|
+
)
|
|
84
|
+
if response.status == 422:
|
|
85
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
86
|
+
raise ShoplineAPIError(
|
|
87
|
+
status_code=422,
|
|
88
|
+
error=error_model,
|
|
89
|
+
**error_data
|
|
90
|
+
)
|
|
91
|
+
if response.status == 500:
|
|
92
|
+
error_model = ServerError(**error_data)
|
|
93
|
+
raise ShoplineAPIError(
|
|
94
|
+
status_code=500,
|
|
95
|
+
error=error_model,
|
|
96
|
+
**error_data
|
|
97
|
+
)
|
|
98
|
+
# 默认错误处理
|
|
99
|
+
raise ShoplineAPIError(
|
|
100
|
+
status_code=response.status,
|
|
101
|
+
**error_data
|
|
102
|
+
)
|
|
103
|
+
response_data = await response.json()
|
|
104
|
+
|
|
105
|
+
# 验证并返回响应数据
|
|
106
|
+
return Response(**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.gift import Gift
|
|
11
|
+
from ...models.translatable import Translatable
|
|
12
|
+
|
|
13
|
+
class Request(BaseModel):
|
|
14
|
+
"""请求体模型"""
|
|
15
|
+
title_translations: Optional[Translatable] = None
|
|
16
|
+
unlimited_quantity: Optional[bool] = None
|
|
17
|
+
sku: Optional[str] = None
|
|
18
|
+
weight: Optional[float] = None
|
|
19
|
+
cost: Optional[Translatable] = None
|
|
20
|
+
quantity: Optional[float] = None
|
|
21
|
+
media_ids: Optional[List[str]] = None
|
|
22
|
+
product_id: Optional[str] = None
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
26
|
+
) -> Gift:
|
|
27
|
+
"""
|
|
28
|
+
Create Gift
|
|
29
|
+
|
|
30
|
+
To create gift
|
|
31
|
+
建立贈品
|
|
32
|
+
|
|
33
|
+
Path: POST /gifts
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = "gifts"
|
|
37
|
+
|
|
38
|
+
# 构建请求头
|
|
39
|
+
headers = {"Content-Type": "application/json"}
|
|
40
|
+
|
|
41
|
+
# 构建请求体
|
|
42
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
43
|
+
|
|
44
|
+
# 发起 HTTP 请求
|
|
45
|
+
async with session.post(
|
|
46
|
+
url, json=json_data, 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 Gift(**response_data)
|
|
@@ -0,0 +1,66 @@
|
|
|
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.stock import Stock
|
|
11
|
+
from ...models.translatable import Translatable
|
|
12
|
+
|
|
13
|
+
class Request(BaseModel):
|
|
14
|
+
"""查询参数模型"""
|
|
15
|
+
excludes: Optional[List[str]] = None
|
|
16
|
+
"""Could exclude certain parameters in the response
|
|
17
|
+
結果要排除哪些參數"""
|
|
18
|
+
fields: Optional[List[str]] = None
|
|
19
|
+
"""Could only show certain parameters in the response
|
|
20
|
+
結果只顯示哪些參數"""
|
|
21
|
+
|
|
22
|
+
class Response(BaseModel):
|
|
23
|
+
"""响应体模型"""
|
|
24
|
+
id: Optional[str] = None
|
|
25
|
+
title_translations: Optional[Translatable] = None
|
|
26
|
+
stocks: Optional[List[Stock]] = None
|
|
27
|
+
|
|
28
|
+
async def call(
|
|
29
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
30
|
+
) -> Response:
|
|
31
|
+
"""
|
|
32
|
+
Get Gift Stocks
|
|
33
|
+
|
|
34
|
+
To get stock information for a specific gift with its ID
|
|
35
|
+
使用商品 ID 獲取特定一個贈品的庫存資料
|
|
36
|
+
|
|
37
|
+
Path: GET /gifts/{id}/stocks
|
|
38
|
+
"""
|
|
39
|
+
# 构建请求 URL
|
|
40
|
+
url = f"gifts/{id}/stocks"
|
|
41
|
+
|
|
42
|
+
# 构建查询参数
|
|
43
|
+
params = {}
|
|
44
|
+
if request:
|
|
45
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
46
|
+
for key, value in request_dict.items():
|
|
47
|
+
if value is not None:
|
|
48
|
+
params[key] = value
|
|
49
|
+
|
|
50
|
+
# 构建请求头
|
|
51
|
+
headers = {"Content-Type": "application/json"}
|
|
52
|
+
|
|
53
|
+
# 发起 HTTP 请求
|
|
54
|
+
async with session.get(
|
|
55
|
+
url, params=params, headers=headers
|
|
56
|
+
) as response:
|
|
57
|
+
if response.status >= 400:
|
|
58
|
+
error_data = await response.json()
|
|
59
|
+
raise ShoplineAPIError(
|
|
60
|
+
status_code=response.status,
|
|
61
|
+
**error_data
|
|
62
|
+
)
|
|
63
|
+
response_data = await response.json()
|
|
64
|
+
|
|
65
|
+
# 验证并返回响应数据
|
|
66
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,86 @@
|
|
|
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.gift import Gift
|
|
11
|
+
from ...models.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
previous_id: Optional[str] = None
|
|
18
|
+
"""The last ID of the gifts in the previous request. Results are returned in descending order of creation time.
|
|
19
|
+
前一筆贈品 ID,按照創建時間降冪排序返回。
|
|
20
|
+
beta 測試中,僅開放部分店家使用,如無法使用功能請聯絡客服窗口"""
|
|
21
|
+
page: Optional[int] = None
|
|
22
|
+
"""Page Number
|
|
23
|
+
頁數"""
|
|
24
|
+
per_page: Optional[int] = None
|
|
25
|
+
"""Numbers of Gifts per page
|
|
26
|
+
每頁顯示 n 筆資料"""
|
|
27
|
+
|
|
28
|
+
class Response(BaseModel):
|
|
29
|
+
"""响应体模型"""
|
|
30
|
+
items: Optional[List[Gift]] = None
|
|
31
|
+
pagination: Optional[Paginatable] = None
|
|
32
|
+
|
|
33
|
+
async def call(
|
|
34
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
35
|
+
) -> Response:
|
|
36
|
+
"""
|
|
37
|
+
Get Gifts
|
|
38
|
+
|
|
39
|
+
To get detailed information of gifts.
|
|
40
|
+
撈取贈品的詳細資訊
|
|
41
|
+
|
|
42
|
+
Path: GET /gifts
|
|
43
|
+
"""
|
|
44
|
+
# 构建请求 URL
|
|
45
|
+
url = "gifts"
|
|
46
|
+
|
|
47
|
+
# 构建查询参数
|
|
48
|
+
params = {}
|
|
49
|
+
if request:
|
|
50
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
51
|
+
for key, value in request_dict.items():
|
|
52
|
+
if value is not None:
|
|
53
|
+
params[key] = value
|
|
54
|
+
|
|
55
|
+
# 构建请求头
|
|
56
|
+
headers = {"Content-Type": "application/json"}
|
|
57
|
+
|
|
58
|
+
# 发起 HTTP 请求
|
|
59
|
+
async with session.get(
|
|
60
|
+
url, params=params, headers=headers
|
|
61
|
+
) as response:
|
|
62
|
+
if response.status >= 400:
|
|
63
|
+
error_data = await response.json()
|
|
64
|
+
if response.status == 422:
|
|
65
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
66
|
+
raise ShoplineAPIError(
|
|
67
|
+
status_code=422,
|
|
68
|
+
error=error_model,
|
|
69
|
+
**error_data
|
|
70
|
+
)
|
|
71
|
+
if response.status == 500:
|
|
72
|
+
error_model = ServerError(**error_data)
|
|
73
|
+
raise ShoplineAPIError(
|
|
74
|
+
status_code=500,
|
|
75
|
+
error=error_model,
|
|
76
|
+
**error_data
|
|
77
|
+
)
|
|
78
|
+
# 默认错误处理
|
|
79
|
+
raise ShoplineAPIError(
|
|
80
|
+
status_code=response.status,
|
|
81
|
+
**error_data
|
|
82
|
+
)
|
|
83
|
+
response_data = await response.json()
|
|
84
|
+
|
|
85
|
+
# 验证并返回响应数据
|
|
86
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,110 @@
|
|
|
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.gift import Gift
|
|
11
|
+
from ...models.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
previous_id: Optional[str] = None
|
|
18
|
+
"""The last ID of the gifts in the previous request.
|
|
19
|
+
前一筆贈品的 ID
|
|
20
|
+
beta 測試中,僅開放部分店家使用,如無法使用功能請聯絡客服窗口"""
|
|
21
|
+
id: Optional[str] = None
|
|
22
|
+
"""Gift's ID
|
|
23
|
+
贈品 ID"""
|
|
24
|
+
page: Optional[int] = None
|
|
25
|
+
"""Page Number
|
|
26
|
+
頁數(第n頁)"""
|
|
27
|
+
per_page: Optional[int] = None
|
|
28
|
+
"""Numbers of Gifts per page
|
|
29
|
+
每頁顯示 n 筆資料"""
|
|
30
|
+
status: Optional[Literal['active', 'draft']] = None
|
|
31
|
+
"""Status
|
|
32
|
+
商品狀態"""
|
|
33
|
+
sort_by: Optional[Literal['desc', 'asc']] = None
|
|
34
|
+
"""Sort by created_at"""
|
|
35
|
+
sku: Optional[str] = None
|
|
36
|
+
"""SKU
|
|
37
|
+
貨物編號"""
|
|
38
|
+
quantity: Optional[str] = None
|
|
39
|
+
"""Quantity
|
|
40
|
+
數量
|
|
41
|
+
Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
42
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
43
|
+
updated_at: Optional[str] = None
|
|
44
|
+
"""Updated Time
|
|
45
|
+
更新時間
|
|
46
|
+
Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
47
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
48
|
+
created_at: Optional[str] = None
|
|
49
|
+
"""Created Time
|
|
50
|
+
創建時間"""
|
|
51
|
+
|
|
52
|
+
class Response(BaseModel):
|
|
53
|
+
"""响应体模型"""
|
|
54
|
+
items: Optional[List[Gift]] = None
|
|
55
|
+
pagination: Optional[Paginatable] = None
|
|
56
|
+
|
|
57
|
+
async def call(
|
|
58
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
59
|
+
) -> Response:
|
|
60
|
+
"""
|
|
61
|
+
Search Gifts
|
|
62
|
+
|
|
63
|
+
To search gifts with specific conditions.
|
|
64
|
+
利用特殊條件搜尋贈品列表。
|
|
65
|
+
|
|
66
|
+
Path: GET /gifts/search
|
|
67
|
+
"""
|
|
68
|
+
# 构建请求 URL
|
|
69
|
+
url = "gifts/search"
|
|
70
|
+
|
|
71
|
+
# 构建查询参数
|
|
72
|
+
params = {}
|
|
73
|
+
if request:
|
|
74
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
75
|
+
for key, value in request_dict.items():
|
|
76
|
+
if value is not None:
|
|
77
|
+
params[key] = value
|
|
78
|
+
|
|
79
|
+
# 构建请求头
|
|
80
|
+
headers = {"Content-Type": "application/json"}
|
|
81
|
+
|
|
82
|
+
# 发起 HTTP 请求
|
|
83
|
+
async with session.get(
|
|
84
|
+
url, params=params, headers=headers
|
|
85
|
+
) as response:
|
|
86
|
+
if response.status >= 400:
|
|
87
|
+
error_data = await response.json()
|
|
88
|
+
if response.status == 422:
|
|
89
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
90
|
+
raise ShoplineAPIError(
|
|
91
|
+
status_code=422,
|
|
92
|
+
error=error_model,
|
|
93
|
+
**error_data
|
|
94
|
+
)
|
|
95
|
+
if response.status == 500:
|
|
96
|
+
error_model = ServerError(**error_data)
|
|
97
|
+
raise ShoplineAPIError(
|
|
98
|
+
status_code=500,
|
|
99
|
+
error=error_model,
|
|
100
|
+
**error_data
|
|
101
|
+
)
|
|
102
|
+
# 默认错误处理
|
|
103
|
+
raise ShoplineAPIError(
|
|
104
|
+
status_code=response.status,
|
|
105
|
+
**error_data
|
|
106
|
+
)
|
|
107
|
+
response_data = await response.json()
|
|
108
|
+
|
|
109
|
+
# 验证并返回响应数据
|
|
110
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,54 @@
|
|
|
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.gift import Gift
|
|
11
|
+
from ...models.server_error import ServerError
|
|
12
|
+
|
|
13
|
+
async def call(
|
|
14
|
+
session: aiohttp.ClientSession, id: str, data: Optional[Dict[str, Any]] = None
|
|
15
|
+
) -> Gift:
|
|
16
|
+
"""
|
|
17
|
+
Update Gift
|
|
18
|
+
|
|
19
|
+
To update information about existing gift with open API.
|
|
20
|
+
透過open API 更新贈品
|
|
21
|
+
|
|
22
|
+
Path: PUT /gifts/{id}
|
|
23
|
+
"""
|
|
24
|
+
# 构建请求 URL
|
|
25
|
+
url = f"gifts/{id}"
|
|
26
|
+
|
|
27
|
+
# 构建请求头
|
|
28
|
+
headers = {"Content-Type": "application/json"}
|
|
29
|
+
|
|
30
|
+
# 构建请求体
|
|
31
|
+
json_data = data if data else None
|
|
32
|
+
|
|
33
|
+
# 发起 HTTP 请求
|
|
34
|
+
async with session.put(
|
|
35
|
+
url, json=json_data, headers=headers
|
|
36
|
+
) as response:
|
|
37
|
+
if response.status >= 400:
|
|
38
|
+
error_data = await response.json()
|
|
39
|
+
if response.status == 500:
|
|
40
|
+
error_model = ServerError(**error_data)
|
|
41
|
+
raise ShoplineAPIError(
|
|
42
|
+
status_code=500,
|
|
43
|
+
error=error_model,
|
|
44
|
+
**error_data
|
|
45
|
+
)
|
|
46
|
+
# 默认错误处理
|
|
47
|
+
raise ShoplineAPIError(
|
|
48
|
+
status_code=response.status,
|
|
49
|
+
**error_data
|
|
50
|
+
)
|
|
51
|
+
response_data = await response.json()
|
|
52
|
+
|
|
53
|
+
# 验证并返回响应数据
|
|
54
|
+
return Gift(**response_data)
|
|
@@ -0,0 +1,100 @@
|
|
|
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.forbidden_error import ForbiddenError
|
|
11
|
+
from ...models.gift import Gift
|
|
12
|
+
from ...models.not_found_error import NotFoundError
|
|
13
|
+
from ...models.server_error import ServerError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""请求体模型"""
|
|
18
|
+
quantity: Optional[float] = None
|
|
19
|
+
"""Quantity
|
|
20
|
+
(新增/減少)贈品數量"""
|
|
21
|
+
replace: Optional[bool] = None
|
|
22
|
+
"""Whether replacing the original quantity
|
|
23
|
+
是否取代原本數量
|
|
24
|
+
-
|
|
25
|
+
true: replace the quantity with the number you provided
|
|
26
|
+
取代原本數量
|
|
27
|
+
|
|
28
|
+
false: increase/decrease the quantity with the number you provided
|
|
29
|
+
增加/減少數量"""
|
|
30
|
+
|
|
31
|
+
class Response(BaseModel):
|
|
32
|
+
"""响应体模型"""
|
|
33
|
+
id: Optional[str] = None
|
|
34
|
+
sku: Optional[str] = None
|
|
35
|
+
quantity: Optional[float] = None
|
|
36
|
+
updated_at: Optional[str] = None
|
|
37
|
+
|
|
38
|
+
async def call(
|
|
39
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
40
|
+
) -> Response:
|
|
41
|
+
"""
|
|
42
|
+
Update Gift Quantity
|
|
43
|
+
|
|
44
|
+
To update quantity of gifts with open API
|
|
45
|
+
透過open API 更新贈品數量
|
|
46
|
+
|
|
47
|
+
Path: PUT /gifts/{id}/update_quantity
|
|
48
|
+
"""
|
|
49
|
+
# 构建请求 URL
|
|
50
|
+
url = f"gifts/{id}/update_quantity"
|
|
51
|
+
|
|
52
|
+
# 构建请求头
|
|
53
|
+
headers = {"Content-Type": "application/json"}
|
|
54
|
+
|
|
55
|
+
# 构建请求体
|
|
56
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
57
|
+
|
|
58
|
+
# 发起 HTTP 请求
|
|
59
|
+
async with session.put(
|
|
60
|
+
url, json=json_data, headers=headers
|
|
61
|
+
) as response:
|
|
62
|
+
if response.status >= 400:
|
|
63
|
+
error_data = await response.json()
|
|
64
|
+
if response.status == 403:
|
|
65
|
+
error_model = ForbiddenError(**error_data)
|
|
66
|
+
raise ShoplineAPIError(
|
|
67
|
+
status_code=403,
|
|
68
|
+
error=error_model,
|
|
69
|
+
**error_data
|
|
70
|
+
)
|
|
71
|
+
if response.status == 404:
|
|
72
|
+
error_model = NotFoundError(**error_data)
|
|
73
|
+
raise ShoplineAPIError(
|
|
74
|
+
status_code=404,
|
|
75
|
+
error=error_model,
|
|
76
|
+
**error_data
|
|
77
|
+
)
|
|
78
|
+
if response.status == 422:
|
|
79
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
80
|
+
raise ShoplineAPIError(
|
|
81
|
+
status_code=422,
|
|
82
|
+
error=error_model,
|
|
83
|
+
**error_data
|
|
84
|
+
)
|
|
85
|
+
if response.status == 500:
|
|
86
|
+
error_model = ServerError(**error_data)
|
|
87
|
+
raise ShoplineAPIError(
|
|
88
|
+
status_code=500,
|
|
89
|
+
error=error_model,
|
|
90
|
+
**error_data
|
|
91
|
+
)
|
|
92
|
+
# 默认错误处理
|
|
93
|
+
raise ShoplineAPIError(
|
|
94
|
+
status_code=response.status,
|
|
95
|
+
**error_data
|
|
96
|
+
)
|
|
97
|
+
response_data = await response.json()
|
|
98
|
+
|
|
99
|
+
# 验证并返回响应数据
|
|
100
|
+
return Response(**response_data)
|