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,41 @@
|
|
|
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.metafield_value import MetafieldValue
|
|
11
|
+
|
|
12
|
+
async def call(
|
|
13
|
+
session: aiohttp.ClientSession, customer_id: str, metafield_id: str
|
|
14
|
+
) -> MetafieldValue:
|
|
15
|
+
"""
|
|
16
|
+
Get specific metafield
|
|
17
|
+
|
|
18
|
+
To get information of metafield attached to a customer by metafield ID
|
|
19
|
+
|
|
20
|
+
Path: GET /customers/{customer_id}/metafields/{metafield_id}
|
|
21
|
+
"""
|
|
22
|
+
# 构建请求 URL
|
|
23
|
+
url = f"customers/{customer_id}/metafields/{metafield_id}"
|
|
24
|
+
|
|
25
|
+
# 构建请求头
|
|
26
|
+
headers = {"Content-Type": "application/json"}
|
|
27
|
+
|
|
28
|
+
# 发起 HTTP 请求
|
|
29
|
+
async with session.get(
|
|
30
|
+
url, headers=headers
|
|
31
|
+
) as response:
|
|
32
|
+
if response.status >= 400:
|
|
33
|
+
error_data = await response.json()
|
|
34
|
+
raise ShoplineAPIError(
|
|
35
|
+
status_code=response.status,
|
|
36
|
+
**error_data
|
|
37
|
+
)
|
|
38
|
+
response_data = await response.json()
|
|
39
|
+
|
|
40
|
+
# 验证并返回响应数据
|
|
41
|
+
return MetafieldValue(**response_data)
|
|
@@ -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
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.metafield_value import MetafieldValue
|
|
11
|
+
|
|
12
|
+
async def call(
|
|
13
|
+
session: aiohttp.ClientSession, customer_id: str, metafield_id: str, data: Optional[Dict[str, Any]] = None
|
|
14
|
+
) -> MetafieldValue:
|
|
15
|
+
"""
|
|
16
|
+
Update specific metafield
|
|
17
|
+
|
|
18
|
+
To update information of metafield attached to specify customer by metafield ID
|
|
19
|
+
|
|
20
|
+
Path: PUT /customers/{customer_id}/metafields/{metafield_id}
|
|
21
|
+
"""
|
|
22
|
+
# 构建请求 URL
|
|
23
|
+
url = f"customers/{customer_id}/metafields/{metafield_id}"
|
|
24
|
+
|
|
25
|
+
# 构建请求头
|
|
26
|
+
headers = {"Content-Type": "application/json"}
|
|
27
|
+
|
|
28
|
+
# 构建请求体
|
|
29
|
+
json_data = data if data else None
|
|
30
|
+
|
|
31
|
+
# 发起 HTTP 请求
|
|
32
|
+
async with session.put(
|
|
33
|
+
url, json=json_data, 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 MetafieldValue(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,93 @@
|
|
|
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.taggable import Taggable
|
|
12
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""请求体模型"""
|
|
17
|
+
tags: Taggable
|
|
18
|
+
update_mode: Literal['add', 'remove']
|
|
19
|
+
"""Update Mode
|
|
20
|
+
更新模式"""
|
|
21
|
+
|
|
22
|
+
class Response(BaseModel):
|
|
23
|
+
"""响应体模型"""
|
|
24
|
+
tags: Optional[Taggable] = None
|
|
25
|
+
|
|
26
|
+
async def call(
|
|
27
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
28
|
+
) -> Response:
|
|
29
|
+
"""
|
|
30
|
+
Add or remove customer tags
|
|
31
|
+
|
|
32
|
+
To add or remove customer tags with customer IDs.
|
|
33
|
+
Each tag mush have at least 3 characters and at most 40 characters.
|
|
34
|
+
When removing tags, there is no character length limit.
|
|
35
|
+
Each customer can have at most 60 customer tags.
|
|
36
|
+
When update with invalid length of tags, the update will fail and the respond will be 422.
|
|
37
|
+
When the amount of customer tags exceed 60,
|
|
38
|
+
the update will fail and return the current valid tags of that customer with status code 200.
|
|
39
|
+
使用顧客ID添加或移除顧客標籤。
|
|
40
|
+
每一個顧客標籤必須有最少3個字完及最多40個字完。
|
|
41
|
+
當移除標籤時,字元長度沒有限制。
|
|
42
|
+
每一個顧客最多只能有60個顧客標籤。
|
|
43
|
+
若需更新的顧客標籤其中之一不符字完長度規範,更新不會成功及將回傳狀態碼422。 若需更新的顧客標籤超過60個時,
|
|
44
|
+
更新將不會成功,且仍會回傳狀態碼200及當前顧客的有效顧客標籤。
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
Path: PATCH /customers/{id}/tags
|
|
48
|
+
"""
|
|
49
|
+
# 构建请求 URL
|
|
50
|
+
url = f"customers/{id}/tags"
|
|
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.patch(
|
|
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 == 401:
|
|
65
|
+
error_model = UnauthorizedError(**error_data)
|
|
66
|
+
raise ShoplineAPIError(
|
|
67
|
+
status_code=401,
|
|
68
|
+
error=error_model,
|
|
69
|
+
**error_data
|
|
70
|
+
)
|
|
71
|
+
if response.status == 422:
|
|
72
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
73
|
+
raise ShoplineAPIError(
|
|
74
|
+
status_code=422,
|
|
75
|
+
error=error_model,
|
|
76
|
+
**error_data
|
|
77
|
+
)
|
|
78
|
+
if response.status == 500:
|
|
79
|
+
error_model = ServerError(**error_data)
|
|
80
|
+
raise ShoplineAPIError(
|
|
81
|
+
status_code=500,
|
|
82
|
+
error=error_model,
|
|
83
|
+
**error_data
|
|
84
|
+
)
|
|
85
|
+
# 默认错误处理
|
|
86
|
+
raise ShoplineAPIError(
|
|
87
|
+
status_code=response.status,
|
|
88
|
+
**error_data
|
|
89
|
+
)
|
|
90
|
+
response_data = await response.json()
|
|
91
|
+
|
|
92
|
+
# 验证并返回响应数据
|
|
93
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,87 @@
|
|
|
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.customer import Customer
|
|
11
|
+
from ...models.server_error import ServerError
|
|
12
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
excludes: Optional[List[str]] = None
|
|
18
|
+
"""Exclude certain parameters in the response
|
|
19
|
+
結果要排除哪些參數"""
|
|
20
|
+
fields: Optional[List[str]] = None
|
|
21
|
+
"""Only show certain parameters in the response
|
|
22
|
+
結果只顯示哪些參數"""
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
26
|
+
) -> Customer:
|
|
27
|
+
"""
|
|
28
|
+
Create Customer
|
|
29
|
+
|
|
30
|
+
To create a customer with open API
|
|
31
|
+
透過open API創建一筆新的顧客資料
|
|
32
|
+
|
|
33
|
+
Path: POST /customers
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = "customers"
|
|
37
|
+
|
|
38
|
+
# 构建查询参数
|
|
39
|
+
params = {}
|
|
40
|
+
if request:
|
|
41
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
42
|
+
for key, value in request_dict.items():
|
|
43
|
+
if value is not None:
|
|
44
|
+
params[key] = value
|
|
45
|
+
|
|
46
|
+
# 构建请求头
|
|
47
|
+
headers = {"Content-Type": "application/json"}
|
|
48
|
+
|
|
49
|
+
# 构建请求体
|
|
50
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
51
|
+
|
|
52
|
+
# 发起 HTTP 请求
|
|
53
|
+
async with session.post(
|
|
54
|
+
url, params=params, json=json_data, headers=headers
|
|
55
|
+
) as response:
|
|
56
|
+
if response.status >= 400:
|
|
57
|
+
error_data = await response.json()
|
|
58
|
+
if response.status == 401:
|
|
59
|
+
error_model = UnauthorizedError(**error_data)
|
|
60
|
+
raise ShoplineAPIError(
|
|
61
|
+
status_code=401,
|
|
62
|
+
error=error_model,
|
|
63
|
+
**error_data
|
|
64
|
+
)
|
|
65
|
+
if response.status == 422:
|
|
66
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
67
|
+
raise ShoplineAPIError(
|
|
68
|
+
status_code=422,
|
|
69
|
+
error=error_model,
|
|
70
|
+
**error_data
|
|
71
|
+
)
|
|
72
|
+
if response.status == 500:
|
|
73
|
+
error_model = ServerError(**error_data)
|
|
74
|
+
raise ShoplineAPIError(
|
|
75
|
+
status_code=500,
|
|
76
|
+
error=error_model,
|
|
77
|
+
**error_data
|
|
78
|
+
)
|
|
79
|
+
# 默认错误处理
|
|
80
|
+
raise ShoplineAPIError(
|
|
81
|
+
status_code=response.status,
|
|
82
|
+
**error_data
|
|
83
|
+
)
|
|
84
|
+
response_data = await response.json()
|
|
85
|
+
|
|
86
|
+
# 验证并返回响应数据
|
|
87
|
+
return Customer(**response_data)
|
|
@@ -0,0 +1,62 @@
|
|
|
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.unauthorized_error import UnauthorizedError
|
|
12
|
+
|
|
13
|
+
class Response(BaseModel):
|
|
14
|
+
"""响应体模型"""
|
|
15
|
+
message: Optional[str] = None
|
|
16
|
+
|
|
17
|
+
async def call(
|
|
18
|
+
session: aiohttp.ClientSession, id: str
|
|
19
|
+
) -> Response:
|
|
20
|
+
"""
|
|
21
|
+
Delete Customer
|
|
22
|
+
|
|
23
|
+
To delete customer with open API
|
|
24
|
+
透過open API刪除客戶
|
|
25
|
+
|
|
26
|
+
Path: DELETE /customers/{id}
|
|
27
|
+
"""
|
|
28
|
+
# 构建请求 URL
|
|
29
|
+
url = f"customers/{id}"
|
|
30
|
+
|
|
31
|
+
# 构建请求头
|
|
32
|
+
headers = {"Content-Type": "application/json"}
|
|
33
|
+
|
|
34
|
+
# 发起 HTTP 请求
|
|
35
|
+
async with session.delete(
|
|
36
|
+
url, headers=headers
|
|
37
|
+
) as response:
|
|
38
|
+
if response.status >= 400:
|
|
39
|
+
error_data = await response.json()
|
|
40
|
+
if response.status == 401:
|
|
41
|
+
error_model = UnauthorizedError(**error_data)
|
|
42
|
+
raise ShoplineAPIError(
|
|
43
|
+
status_code=401,
|
|
44
|
+
error=error_model,
|
|
45
|
+
**error_data
|
|
46
|
+
)
|
|
47
|
+
if response.status == 500:
|
|
48
|
+
error_model = ServerError(**error_data)
|
|
49
|
+
raise ShoplineAPIError(
|
|
50
|
+
status_code=500,
|
|
51
|
+
error=error_model,
|
|
52
|
+
**error_data
|
|
53
|
+
)
|
|
54
|
+
# 默认错误处理
|
|
55
|
+
raise ShoplineAPIError(
|
|
56
|
+
status_code=response.status,
|
|
57
|
+
**error_data
|
|
58
|
+
)
|
|
59
|
+
response_data = await response.json()
|
|
60
|
+
|
|
61
|
+
# 验证并返回响应数据
|
|
62
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,94 @@
|
|
|
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.customer import Customer
|
|
11
|
+
from ...models.not_found_error import NotFoundError
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
excludes: Optional[List[str]] = None
|
|
18
|
+
"""Exclude certain parameters in the response
|
|
19
|
+
結果要排除哪些參數"""
|
|
20
|
+
fields: Optional[List[Literal['membership_tier_gap']]] = None
|
|
21
|
+
"""Only show certain parameters in the response
|
|
22
|
+
This field will have conflicts to the include_fields[]
|
|
23
|
+
To avoid the conflicts
|
|
24
|
+
please also input all the items included in the include_fields[] to this field
|
|
25
|
+
otherwise those fields will not be shown
|
|
26
|
+
結果只顯示哪些參數
|
|
27
|
+
這個欄位會跟include_fields[]的欄位有衝突
|
|
28
|
+
要避免衝突的話,請輸入所有也包括在include_fields[]內的項目
|
|
29
|
+
否則那些項目將不能被顯示"""
|
|
30
|
+
include_fields: Optional[List[Literal['metafields']]] = None
|
|
31
|
+
"""Provide additional attributes in the response
|
|
32
|
+
結果添加哪些參數"""
|
|
33
|
+
|
|
34
|
+
async def call(
|
|
35
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
36
|
+
) -> Customer:
|
|
37
|
+
"""
|
|
38
|
+
Get Customer
|
|
39
|
+
|
|
40
|
+
To get detailed information for a specific customer with its ID
|
|
41
|
+
使用顧客ID獲取特定一個顧客的詳細資料
|
|
42
|
+
|
|
43
|
+
Path: GET /customers/{id}
|
|
44
|
+
"""
|
|
45
|
+
# 构建请求 URL
|
|
46
|
+
url = f"customers/{id}"
|
|
47
|
+
|
|
48
|
+
# 构建查询参数
|
|
49
|
+
params = {}
|
|
50
|
+
if request:
|
|
51
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
52
|
+
for key, value in request_dict.items():
|
|
53
|
+
if value is not None:
|
|
54
|
+
params[key] = value
|
|
55
|
+
|
|
56
|
+
# 构建请求头
|
|
57
|
+
headers = {"Content-Type": "application/json"}
|
|
58
|
+
|
|
59
|
+
# 发起 HTTP 请求
|
|
60
|
+
async with session.get(
|
|
61
|
+
url, params=params, headers=headers
|
|
62
|
+
) as response:
|
|
63
|
+
if response.status >= 400:
|
|
64
|
+
error_data = await response.json()
|
|
65
|
+
if response.status == 401:
|
|
66
|
+
error_model = UnauthorizedError(**error_data)
|
|
67
|
+
raise ShoplineAPIError(
|
|
68
|
+
status_code=401,
|
|
69
|
+
error=error_model,
|
|
70
|
+
**error_data
|
|
71
|
+
)
|
|
72
|
+
if response.status == 404:
|
|
73
|
+
error_model = NotFoundError(**error_data)
|
|
74
|
+
raise ShoplineAPIError(
|
|
75
|
+
status_code=404,
|
|
76
|
+
error=error_model,
|
|
77
|
+
**error_data
|
|
78
|
+
)
|
|
79
|
+
if response.status == 500:
|
|
80
|
+
error_model = ServerError(**error_data)
|
|
81
|
+
raise ShoplineAPIError(
|
|
82
|
+
status_code=500,
|
|
83
|
+
error=error_model,
|
|
84
|
+
**error_data
|
|
85
|
+
)
|
|
86
|
+
# 默认错误处理
|
|
87
|
+
raise ShoplineAPIError(
|
|
88
|
+
status_code=response.status,
|
|
89
|
+
**error_data
|
|
90
|
+
)
|
|
91
|
+
response_data = await response.json()
|
|
92
|
+
|
|
93
|
+
# 验证并返回响应数据
|
|
94
|
+
return Customer(**response_data)
|
|
@@ -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.member_points import MemberPoints
|
|
11
|
+
from ...models.not_found_error import NotFoundError
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""查询参数模型"""
|
|
18
|
+
page: Optional[int] = None
|
|
19
|
+
"""Page Number
|
|
20
|
+
頁數"""
|
|
21
|
+
per_page: Optional[int] = None
|
|
22
|
+
"""Numbers of records per Page
|
|
23
|
+
每頁顯示 n 筆資料"""
|
|
24
|
+
|
|
25
|
+
async def call(
|
|
26
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
27
|
+
) -> MemberPoints:
|
|
28
|
+
"""
|
|
29
|
+
Get Customer member points History
|
|
30
|
+
|
|
31
|
+
To get member points history of a customer
|
|
32
|
+
獲取顧客的會員點數紀錄
|
|
33
|
+
|
|
34
|
+
Path: GET /customers/{id}/member_points
|
|
35
|
+
"""
|
|
36
|
+
# 构建请求 URL
|
|
37
|
+
url = f"customers/{id}/member_points"
|
|
38
|
+
|
|
39
|
+
# 构建查询参数
|
|
40
|
+
params = {}
|
|
41
|
+
if request:
|
|
42
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
43
|
+
for key, value in request_dict.items():
|
|
44
|
+
if value is not None:
|
|
45
|
+
params[key] = value
|
|
46
|
+
|
|
47
|
+
# 构建请求头
|
|
48
|
+
headers = {"Content-Type": "application/json"}
|
|
49
|
+
|
|
50
|
+
# 发起 HTTP 请求
|
|
51
|
+
async with session.get(
|
|
52
|
+
url, params=params, headers=headers
|
|
53
|
+
) as response:
|
|
54
|
+
if response.status >= 400:
|
|
55
|
+
error_data = await response.json()
|
|
56
|
+
if response.status == 401:
|
|
57
|
+
error_model = UnauthorizedError(**error_data)
|
|
58
|
+
raise ShoplineAPIError(
|
|
59
|
+
status_code=401,
|
|
60
|
+
error=error_model,
|
|
61
|
+
**error_data
|
|
62
|
+
)
|
|
63
|
+
if response.status == 404:
|
|
64
|
+
error_model = NotFoundError(**error_data)
|
|
65
|
+
raise ShoplineAPIError(
|
|
66
|
+
status_code=404,
|
|
67
|
+
error=error_model,
|
|
68
|
+
**error_data
|
|
69
|
+
)
|
|
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 MemberPoints(**response_data)
|
|
@@ -0,0 +1,98 @@
|
|
|
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.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.store_credit import StoreCredit
|
|
14
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
15
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
16
|
+
|
|
17
|
+
class Request(BaseModel):
|
|
18
|
+
"""查询参数模型"""
|
|
19
|
+
page: Optional[int] = None
|
|
20
|
+
"""Page Number
|
|
21
|
+
頁數"""
|
|
22
|
+
per_page: Optional[int] = None
|
|
23
|
+
"""Numbers of records per Page
|
|
24
|
+
每頁顯示 n 筆資料"""
|
|
25
|
+
|
|
26
|
+
class Response(BaseModel):
|
|
27
|
+
"""响应体模型"""
|
|
28
|
+
items: Optional[List[StoreCredit]] = None
|
|
29
|
+
pagination: Optional[Paginatable] = None
|
|
30
|
+
|
|
31
|
+
async def call(
|
|
32
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
33
|
+
) -> Response:
|
|
34
|
+
"""
|
|
35
|
+
Get Customer Store Credit History
|
|
36
|
+
|
|
37
|
+
To get store credit history of a customer
|
|
38
|
+
獲取顧客的商店購物金紀錄
|
|
39
|
+
|
|
40
|
+
Path: GET /customers/{id}/store_credits
|
|
41
|
+
"""
|
|
42
|
+
# 构建请求 URL
|
|
43
|
+
url = f"customers/{id}/store_credits"
|
|
44
|
+
|
|
45
|
+
# 构建查询参数
|
|
46
|
+
params = {}
|
|
47
|
+
if request:
|
|
48
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
49
|
+
for key, value in request_dict.items():
|
|
50
|
+
if value is not None:
|
|
51
|
+
params[key] = value
|
|
52
|
+
|
|
53
|
+
# 构建请求头
|
|
54
|
+
headers = {"Content-Type": "application/json"}
|
|
55
|
+
|
|
56
|
+
# 发起 HTTP 请求
|
|
57
|
+
async with session.get(
|
|
58
|
+
url, params=params, headers=headers
|
|
59
|
+
) as response:
|
|
60
|
+
if response.status >= 400:
|
|
61
|
+
error_data = await response.json()
|
|
62
|
+
if response.status == 401:
|
|
63
|
+
error_model = UnauthorizedError(**error_data)
|
|
64
|
+
raise ShoplineAPIError(
|
|
65
|
+
status_code=401,
|
|
66
|
+
error=error_model,
|
|
67
|
+
**error_data
|
|
68
|
+
)
|
|
69
|
+
if response.status == 404:
|
|
70
|
+
error_model = NotFoundError(**error_data)
|
|
71
|
+
raise ShoplineAPIError(
|
|
72
|
+
status_code=404,
|
|
73
|
+
error=error_model,
|
|
74
|
+
**error_data
|
|
75
|
+
)
|
|
76
|
+
if response.status == 422:
|
|
77
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
78
|
+
raise ShoplineAPIError(
|
|
79
|
+
status_code=422,
|
|
80
|
+
error=error_model,
|
|
81
|
+
**error_data
|
|
82
|
+
)
|
|
83
|
+
if response.status == 500:
|
|
84
|
+
error_model = ServerError(**error_data)
|
|
85
|
+
raise ShoplineAPIError(
|
|
86
|
+
status_code=500,
|
|
87
|
+
error=error_model,
|
|
88
|
+
**error_data
|
|
89
|
+
)
|
|
90
|
+
# 默认错误处理
|
|
91
|
+
raise ShoplineAPIError(
|
|
92
|
+
status_code=response.status,
|
|
93
|
+
**error_data
|
|
94
|
+
)
|
|
95
|
+
response_data = await response.json()
|
|
96
|
+
|
|
97
|
+
# 验证并返回响应数据
|
|
98
|
+
return Response(**response_data)
|