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,339 @@
|
|
|
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.order import Order
|
|
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
|
+
page: Optional[int] = None
|
|
18
|
+
"""Page
|
|
19
|
+
頁數(第n頁)
|
|
20
|
+
(Default: 1)"""
|
|
21
|
+
per_page: Optional[int] = None
|
|
22
|
+
"""Numbers of Orders per page
|
|
23
|
+
每頁顯示 n 筆資料
|
|
24
|
+
(Default: 24, Max: 999)
|
|
25
|
+
-
|
|
26
|
+
*If there're many orders, it's suggested to set per_page number to 50
|
|
27
|
+
如果訂單眾多,建議per_page至多設定50"""
|
|
28
|
+
order_number: Optional[str] = None
|
|
29
|
+
"""訂單號碼 (order_number, merchant_order_number)"""
|
|
30
|
+
customer_id: Optional[str] = None
|
|
31
|
+
"""顧客 ID"""
|
|
32
|
+
customer_email: Optional[str] = None
|
|
33
|
+
"""顧客電郵"""
|
|
34
|
+
name: Optional[str] = None
|
|
35
|
+
"""顧客、收件人名稱 (customer_name, delivery_address.recipient_name, delivery_data.recipient_name)"""
|
|
36
|
+
phone_number: Optional[str] = None
|
|
37
|
+
"""電話號碼 (customer_phone, delivery_data.recipient_phone)"""
|
|
38
|
+
delivery_data_tracking_number: Optional[str] = None
|
|
39
|
+
"""配送資料追蹤編號"""
|
|
40
|
+
promotion_id: Optional[str] = None
|
|
41
|
+
"""促銷活動 ID"""
|
|
42
|
+
item_id: Optional[str] = None
|
|
43
|
+
"""訂單項目 ID"""
|
|
44
|
+
previous_id: Optional[str] = None
|
|
45
|
+
"""To fetch data for the next page, include the ID of the last order from the previous page.
|
|
46
|
+
用於拿取下一分頁資料,請帶入前一分頁的最後一筆訂單 ID
|
|
47
|
+
|
|
48
|
+
When fetching orders for the first page, this parameter is not required.
|
|
49
|
+
拿取第一頁訂單時,可以不用帶此參數"""
|
|
50
|
+
query: Optional[str] = None
|
|
51
|
+
"""Support query order fields
|
|
52
|
+
支援搜尋以下欄位
|
|
53
|
+
product_name
|
|
54
|
+
order_number
|
|
55
|
+
customer_id
|
|
56
|
+
customer_name
|
|
57
|
+
customer_phone
|
|
58
|
+
customer_email
|
|
59
|
+
delivery_address.recipient_name
|
|
60
|
+
delivery_data.recipient_name
|
|
61
|
+
delivery_data.recipient_phone
|
|
62
|
+
delivery_data.tracking_number
|
|
63
|
+
promotion_id
|
|
64
|
+
item_id*"""
|
|
65
|
+
search_fields: Optional[str] = None
|
|
66
|
+
"""Targeted search fields
|
|
67
|
+
搜尋欄位
|
|
68
|
+
Default to 'default'
|
|
69
|
+
Values allow
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
<b>default</b>
|
|
73
|
+
Support query order fields
|
|
74
|
+
支援搜尋以下欄位
|
|
75
|
+
product_name
|
|
76
|
+
order_number
|
|
77
|
+
customer_id
|
|
78
|
+
customer_name
|
|
79
|
+
customer_phone
|
|
80
|
+
customer_email
|
|
81
|
+
delivery_address.recipient_name
|
|
82
|
+
delivery_data.recipient_name
|
|
83
|
+
delivery_data.recipient_phone
|
|
84
|
+
delivery_data.tracking_number
|
|
85
|
+
promotion_id
|
|
86
|
+
item_id*
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<b>phone_number</b>
|
|
90
|
+
Support query order fields
|
|
91
|
+
支援搜尋以下欄位
|
|
92
|
+
customer_phone
|
|
93
|
+
delivery_data.recipient_phone
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<b>order_number</b>
|
|
97
|
+
Support query order fields
|
|
98
|
+
支援搜尋以下欄位
|
|
99
|
+
order_number
|
|
100
|
+
merchant_order_number
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<b>customize_customer_info</b>
|
|
104
|
+
Support query order fields
|
|
105
|
+
支援搜尋以下欄位
|
|
106
|
+
customer_info.value
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<b>social_user_name</b>
|
|
110
|
+
Support query order fields
|
|
111
|
+
支援搜尋以下欄位
|
|
112
|
+
social_user_name"""
|
|
113
|
+
shipped_before: Optional[str] = None
|
|
114
|
+
"""Filter orders by those shipped before specific time.
|
|
115
|
+
取得 shipped_at 小於指定時間的訂單(包含指定時間)
|
|
116
|
+
-
|
|
117
|
+
*should use UTC time"""
|
|
118
|
+
shipped_after: Optional[str] = None
|
|
119
|
+
"""Filter orders by those shipped after specific time.
|
|
120
|
+
取得 shipped_at 大於指定時間的訂單(包含指定時間)
|
|
121
|
+
-
|
|
122
|
+
*should use UTC time"""
|
|
123
|
+
arrived_before: Optional[str] = None
|
|
124
|
+
"""Filter orders by those arrived before specific time.
|
|
125
|
+
取得 arrived_at 小於指定時間的訂單(包含指定時間)
|
|
126
|
+
-
|
|
127
|
+
*should use UTC time"""
|
|
128
|
+
arrived_after: Optional[str] = None
|
|
129
|
+
"""Filter orders by those arrived after specific time.
|
|
130
|
+
取得 arrived_at 大於指定時間的訂單(包含指定時間)
|
|
131
|
+
-
|
|
132
|
+
*should use UTC time"""
|
|
133
|
+
collected_before: Optional[str] = None
|
|
134
|
+
"""Filter orders by those collected before specific time.
|
|
135
|
+
取得 collected_at 小於指定時間的訂單(包含指定時間)
|
|
136
|
+
-
|
|
137
|
+
*should use UTC time"""
|
|
138
|
+
collected_after: Optional[str] = None
|
|
139
|
+
"""Filter orders by those collected after specific time.
|
|
140
|
+
取得 collected_at 大於指定時間的訂單(包含指定時間)
|
|
141
|
+
-
|
|
142
|
+
*should use UTC time"""
|
|
143
|
+
returned_before: Optional[str] = None
|
|
144
|
+
"""Filter orders by those returned before specific time.
|
|
145
|
+
取得 returned_at 小於指定時間的訂單(包含指定時間)
|
|
146
|
+
-
|
|
147
|
+
should use UTC time
|
|
148
|
+
|
|
149
|
+
Note: Will only show returned status updated after 2019-06-01
|
|
150
|
+
在2019/06/01之後產生的退貨狀態才能被搜尋出來"""
|
|
151
|
+
returned_after: Optional[str] = None
|
|
152
|
+
"""Filter orders by those returned after specific time.
|
|
153
|
+
取得 returned_at 大於指定時間的訂單(包含指定時間)
|
|
154
|
+
-
|
|
155
|
+
should use UTC time
|
|
156
|
+
|
|
157
|
+
Note: Will only show returned status updated after 2019-06-01
|
|
158
|
+
在2019/06/01之後產生的退貨狀態才能被搜尋出來"""
|
|
159
|
+
cancelled_before: Optional[str] = None
|
|
160
|
+
"""Filter orders by those cancelled before specific time.
|
|
161
|
+
取得 cancelled_at 小於指定時間的訂單(包含指定時間)
|
|
162
|
+
-
|
|
163
|
+
*should use UTC time"""
|
|
164
|
+
cancelled_after: Optional[str] = None
|
|
165
|
+
"""Filter orders by those cancelled after specific time.
|
|
166
|
+
取得 cancelled_at 大於指定時間的訂單(包含指定時間)
|
|
167
|
+
-
|
|
168
|
+
*should use UTC time"""
|
|
169
|
+
paid_before: Optional[str] = None
|
|
170
|
+
"""Filter orders by those paid before specific time.
|
|
171
|
+
取得 paid_at 小於指定時間的訂單(包含指定時間)
|
|
172
|
+
-
|
|
173
|
+
*should use UTC time"""
|
|
174
|
+
paid_after: Optional[str] = None
|
|
175
|
+
"""Filter orders by those paid after specific time.
|
|
176
|
+
取得 paid_at 大於指定時間的訂單(包含指定時間)
|
|
177
|
+
-
|
|
178
|
+
*should use UTC time"""
|
|
179
|
+
updated_before: Optional[str] = None
|
|
180
|
+
"""Filter orders by those updated before specific time.
|
|
181
|
+
取得 updated_at 小於指定時間的訂單(包含指定時間)
|
|
182
|
+
-
|
|
183
|
+
*should use UTC time"""
|
|
184
|
+
updated_after: Optional[str] = None
|
|
185
|
+
"""Filter orders by those updated after specific time.
|
|
186
|
+
取得 updated_at 大於指定時間的訂單(包含指定時間)
|
|
187
|
+
-
|
|
188
|
+
*should use UTC time"""
|
|
189
|
+
status: Optional[Literal['pending', 'removed', 'confirmed', 'completed', 'cancelled']] = None
|
|
190
|
+
"""Status
|
|
191
|
+
訂單狀態
|
|
192
|
+
-
|
|
193
|
+
Status allow
|
|
194
|
+
pending 處理中
|
|
195
|
+
removed 已刪除
|
|
196
|
+
confirmed 已確認
|
|
197
|
+
completed 已完成
|
|
198
|
+
cancelled 已取消"""
|
|
199
|
+
statuses: Optional[List[Literal['pending', 'removed', 'confirmed', 'completed', 'cancelled']]] = None
|
|
200
|
+
"""Statuses
|
|
201
|
+
多個訂單狀態
|
|
202
|
+
-
|
|
203
|
+
Status allow
|
|
204
|
+
pending 處理中
|
|
205
|
+
removed 已刪除
|
|
206
|
+
confirmed 已確認
|
|
207
|
+
completed 已完成
|
|
208
|
+
cancelled 已取消"""
|
|
209
|
+
payment_id: Optional[str] = None
|
|
210
|
+
"""Payment Method ID
|
|
211
|
+
付款方式ID"""
|
|
212
|
+
payment_status: Optional[Literal['pending', 'failed', 'expired', 'completed', 'refunding', 'refunded', 'partially_refunded']] = None
|
|
213
|
+
"""Payment Status
|
|
214
|
+
付款狀態
|
|
215
|
+
-
|
|
216
|
+
Payment status allows
|
|
217
|
+
pending 未付款(包含 temp 暫存狀態)
|
|
218
|
+
failed 付款失敗
|
|
219
|
+
expired 超過付款時間
|
|
220
|
+
completed 已付款
|
|
221
|
+
refunding 退款中
|
|
222
|
+
refunded 已退款
|
|
223
|
+
partially refunded 已部分退款"""
|
|
224
|
+
delivery_option_id: Optional[str] = None
|
|
225
|
+
"""Delivery Option ID
|
|
226
|
+
物流方式ID"""
|
|
227
|
+
delivery_status: Optional[Literal['pending', 'shipping', 'shipped', 'arrived', 'collected', 'returned', 'returning']] = None
|
|
228
|
+
"""Delivery Status
|
|
229
|
+
物流狀態
|
|
230
|
+
-
|
|
231
|
+
Delivery status allows
|
|
232
|
+
pending 備貨中
|
|
233
|
+
shipping 發貨中
|
|
234
|
+
shipped 已發貨
|
|
235
|
+
arrived 已到達
|
|
236
|
+
collected 已取貨
|
|
237
|
+
returned 已退貨
|
|
238
|
+
* returning 退貨中"""
|
|
239
|
+
delivery_statuses: Optional[List[Literal['pending', 'shipping', 'shipped', 'arrived', 'collected', 'returned', 'returning']]] = None
|
|
240
|
+
"""Delivery Statuses
|
|
241
|
+
多個物流狀態
|
|
242
|
+
-
|
|
243
|
+
Delivery status allows
|
|
244
|
+
pending 備貨中
|
|
245
|
+
shipping 發貨中
|
|
246
|
+
shipped 已發貨
|
|
247
|
+
arrived 已到達
|
|
248
|
+
collected 已取貨
|
|
249
|
+
returned 已退貨
|
|
250
|
+
returning 退貨中"""
|
|
251
|
+
affiliate_data_affiliate_source: Optional[str] = None
|
|
252
|
+
"""Keys allow to search:
|
|
253
|
+
* affiliate_source(String)訂單來源
|
|
254
|
+
(第三方夥伴適用)"""
|
|
255
|
+
created_before: Optional[str] = None
|
|
256
|
+
"""Filter orders by those updated before specific time.
|
|
257
|
+
取得 created_at 小於指定時間的訂單(包含指定時間)
|
|
258
|
+
-
|
|
259
|
+
*should use UTC time"""
|
|
260
|
+
created_after: Optional[str] = None
|
|
261
|
+
"""Filter orders by those created after specific time.
|
|
262
|
+
取得 created_at 大於指定時間的訂單(包含指定時間)
|
|
263
|
+
-
|
|
264
|
+
*should use UTC time"""
|
|
265
|
+
created_by: Optional[str] = None
|
|
266
|
+
"""Filter orders by those created by specific channel.
|
|
267
|
+
取得特定由渠道建立的訂單"""
|
|
268
|
+
order_by: Optional[Literal['asc', 'desc']] = None
|
|
269
|
+
"""Order responses items by created time in ascending/descending order.
|
|
270
|
+
訂單按訂單創造日期順序或倒序排序。
|
|
271
|
+
If sort_by is passed, Order the record by the sort_by value in asc/desc order.
|
|
272
|
+
如果傳入sort_by,則按照sort_by的參數順序或倒序排序。"""
|
|
273
|
+
sort_by: Optional[Literal['created_at', 'total']] = None
|
|
274
|
+
"""Sort responses items by created_at or total.
|
|
275
|
+
訂單按訂單創造日期或商品總價排序。 If order_by is not passed, by default showing records in descending order.
|
|
276
|
+
如果沒有傳入order_by, 則按倒序排序。"""
|
|
277
|
+
include_fields: Optional[List[Literal['affiliate_campaign']]] = None
|
|
278
|
+
"""Provide additional attributes in the response
|
|
279
|
+
結果添加哪些參數"""
|
|
280
|
+
|
|
281
|
+
class Response(BaseModel):
|
|
282
|
+
"""响应体模型"""
|
|
283
|
+
items: Optional[List[Order]] = None
|
|
284
|
+
pagination: Optional[Paginatable] = None
|
|
285
|
+
|
|
286
|
+
async def call(
|
|
287
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
288
|
+
) -> Response:
|
|
289
|
+
"""
|
|
290
|
+
Search Orders
|
|
291
|
+
|
|
292
|
+
To search orders with specific conditions.
|
|
293
|
+
利用特殊條件搜尋訂單列表。
|
|
294
|
+
|
|
295
|
+
Path: GET /orders/search
|
|
296
|
+
"""
|
|
297
|
+
# 构建请求 URL
|
|
298
|
+
url = "orders/search"
|
|
299
|
+
|
|
300
|
+
# 构建查询参数
|
|
301
|
+
params = {}
|
|
302
|
+
if request:
|
|
303
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
304
|
+
for key, value in request_dict.items():
|
|
305
|
+
if value is not None:
|
|
306
|
+
params[key] = value
|
|
307
|
+
|
|
308
|
+
# 构建请求头
|
|
309
|
+
headers = {"Content-Type": "application/json"}
|
|
310
|
+
|
|
311
|
+
# 发起 HTTP 请求
|
|
312
|
+
async with session.get(
|
|
313
|
+
url, params=params, headers=headers
|
|
314
|
+
) as response:
|
|
315
|
+
if response.status >= 400:
|
|
316
|
+
error_data = await response.json()
|
|
317
|
+
if response.status == 422:
|
|
318
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
319
|
+
raise ShoplineAPIError(
|
|
320
|
+
status_code=422,
|
|
321
|
+
error=error_model,
|
|
322
|
+
**error_data
|
|
323
|
+
)
|
|
324
|
+
if response.status == 500:
|
|
325
|
+
error_model = ServerError(**error_data)
|
|
326
|
+
raise ShoplineAPIError(
|
|
327
|
+
status_code=500,
|
|
328
|
+
error=error_model,
|
|
329
|
+
**error_data
|
|
330
|
+
)
|
|
331
|
+
# 默认错误处理
|
|
332
|
+
raise ShoplineAPIError(
|
|
333
|
+
status_code=response.status,
|
|
334
|
+
**error_data
|
|
335
|
+
)
|
|
336
|
+
response_data = await response.json()
|
|
337
|
+
|
|
338
|
+
# 验证并返回响应数据
|
|
339
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,84 @@
|
|
|
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.order import Order
|
|
11
|
+
from ...models.server_error import ServerError
|
|
12
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class OrderItemsItem(BaseModel):
|
|
16
|
+
"""Item model for order_items"""
|
|
17
|
+
id: str
|
|
18
|
+
quantity: float
|
|
19
|
+
|
|
20
|
+
class Request(BaseModel):
|
|
21
|
+
"""请求体模型"""
|
|
22
|
+
order_items: List[OrderItemsItem]
|
|
23
|
+
"""The order_items of the order would like to be split to a new order.
|
|
24
|
+
想要拆單的訂單項目"""
|
|
25
|
+
updated_at: str
|
|
26
|
+
"""The updated_at of the order would like to be split.
|
|
27
|
+
欲被拆單的訂單更新時間
|
|
28
|
+
* Should use UTC time"""
|
|
29
|
+
send_child_email: Optional[bool] = None
|
|
30
|
+
"""Do you want to notify the customer that the child order already created by email?
|
|
31
|
+
是否發送拆單成立通知(新訂單)給顧客"""
|
|
32
|
+
send_parent_email: Optional[bool] = None
|
|
33
|
+
"""Do you want to notify the customer that the parent order already split by email?
|
|
34
|
+
是否發送拆單成立通知(原訂單)給顧客"""
|
|
35
|
+
|
|
36
|
+
async def call(
|
|
37
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
38
|
+
) -> Order:
|
|
39
|
+
"""
|
|
40
|
+
Split Order
|
|
41
|
+
|
|
42
|
+
To split an order with open API
|
|
43
|
+
透過 open API 進行拆單
|
|
44
|
+
|
|
45
|
+
Path: POST /orders/{id}/split
|
|
46
|
+
"""
|
|
47
|
+
# 构建请求 URL
|
|
48
|
+
url = f"orders/{id}/split"
|
|
49
|
+
|
|
50
|
+
# 构建请求头
|
|
51
|
+
headers = {"Content-Type": "application/json"}
|
|
52
|
+
|
|
53
|
+
# 构建请求体
|
|
54
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
55
|
+
|
|
56
|
+
# 发起 HTTP 请求
|
|
57
|
+
async with session.post(
|
|
58
|
+
url, json=json_data, headers=headers
|
|
59
|
+
) as response:
|
|
60
|
+
if response.status >= 400:
|
|
61
|
+
error_data = await response.json()
|
|
62
|
+
if response.status == 422:
|
|
63
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
64
|
+
raise ShoplineAPIError(
|
|
65
|
+
status_code=422,
|
|
66
|
+
error=error_model,
|
|
67
|
+
**error_data
|
|
68
|
+
)
|
|
69
|
+
if response.status == 500:
|
|
70
|
+
error_model = ServerError(**error_data)
|
|
71
|
+
raise ShoplineAPIError(
|
|
72
|
+
status_code=500,
|
|
73
|
+
error=error_model,
|
|
74
|
+
**error_data
|
|
75
|
+
)
|
|
76
|
+
# 默认错误处理
|
|
77
|
+
raise ShoplineAPIError(
|
|
78
|
+
status_code=response.status,
|
|
79
|
+
**error_data
|
|
80
|
+
)
|
|
81
|
+
response_data = await response.json()
|
|
82
|
+
|
|
83
|
+
# 验证并返回响应数据
|
|
84
|
+
return Order(**response_data)
|
|
@@ -0,0 +1,123 @@
|
|
|
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.order import Order
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.translatable import Translatable
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CustomDataItem(BaseModel):
|
|
17
|
+
"""Item model for custom_data"""
|
|
18
|
+
value: Optional[str] = None
|
|
19
|
+
field_id: Optional[str] = None
|
|
20
|
+
|
|
21
|
+
class Request(BaseModel):
|
|
22
|
+
"""请求体模型"""
|
|
23
|
+
tracking_number: Optional[str] = None
|
|
24
|
+
"""Delivery Tracking Number
|
|
25
|
+
物流追蹤號碼"""
|
|
26
|
+
tracking_url: Optional[str] = None
|
|
27
|
+
"""Delivery Tracking url
|
|
28
|
+
物流追蹤url"""
|
|
29
|
+
delivery_provider_name: Optional[Translatable] = None
|
|
30
|
+
ref_order_id: Optional[str] = None
|
|
31
|
+
"""For third party custom order id
|
|
32
|
+
可供儲存第三方訂單ID"""
|
|
33
|
+
custom_data: Optional[List[CustomDataItem]] = None
|
|
34
|
+
"""Custom data
|
|
35
|
+
自定義資料"""
|
|
36
|
+
delivery_data: Optional[Dict[str, Any]] = None
|
|
37
|
+
"""Delivery Data
|
|
38
|
+
運送資訊
|
|
39
|
+
|
|
40
|
+
Able to update the fields below
|
|
41
|
+
可修改以下欄位
|
|
42
|
+
- location_code
|
|
43
|
+
- location_name
|
|
44
|
+
- store_address
|
|
45
|
+
- recipient_name
|
|
46
|
+
- recipient_phone"""
|
|
47
|
+
delivery_address: Optional[Dict[str, Any]] = None
|
|
48
|
+
"""Delivery Address Information
|
|
49
|
+
運送地址資訊
|
|
50
|
+
|
|
51
|
+
Able to update the fields below
|
|
52
|
+
可修改以下欄位
|
|
53
|
+
- country
|
|
54
|
+
- country_code
|
|
55
|
+
- address_1
|
|
56
|
+
- address_2
|
|
57
|
+
- city
|
|
58
|
+
- state
|
|
59
|
+
- postcode"""
|
|
60
|
+
force_update: Optional[Literal['delivery_data']] = None
|
|
61
|
+
"""To skip filtering delivery_data fields if force_update = ['delivery_data'] is passed
|
|
62
|
+
略過delivery_data的篩選。"""
|
|
63
|
+
has_notes: Optional[bool] = None
|
|
64
|
+
"""Order has notes or not
|
|
65
|
+
訂單是否有備註"""
|
|
66
|
+
|
|
67
|
+
async def call(
|
|
68
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
69
|
+
) -> Order:
|
|
70
|
+
"""
|
|
71
|
+
Update Order
|
|
72
|
+
|
|
73
|
+
To update an order with open API
|
|
74
|
+
透過open API更新一筆訂單
|
|
75
|
+
|
|
76
|
+
Path: PATCH /orders/{id}
|
|
77
|
+
"""
|
|
78
|
+
# 构建请求 URL
|
|
79
|
+
url = f"orders/{id}"
|
|
80
|
+
|
|
81
|
+
# 构建查询参数
|
|
82
|
+
params = {}
|
|
83
|
+
if request:
|
|
84
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
85
|
+
for key, value in request_dict.items():
|
|
86
|
+
if value is not None:
|
|
87
|
+
params[key] = value
|
|
88
|
+
|
|
89
|
+
# 构建请求头
|
|
90
|
+
headers = {"Content-Type": "application/json"}
|
|
91
|
+
|
|
92
|
+
# 构建请求体
|
|
93
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
94
|
+
|
|
95
|
+
# 发起 HTTP 请求
|
|
96
|
+
async with session.patch(
|
|
97
|
+
url, params=params, json=json_data, headers=headers
|
|
98
|
+
) as response:
|
|
99
|
+
if response.status >= 400:
|
|
100
|
+
error_data = await response.json()
|
|
101
|
+
if response.status == 404:
|
|
102
|
+
error_model = NotFoundError(**error_data)
|
|
103
|
+
raise ShoplineAPIError(
|
|
104
|
+
status_code=404,
|
|
105
|
+
error=error_model,
|
|
106
|
+
**error_data
|
|
107
|
+
)
|
|
108
|
+
if response.status == 500:
|
|
109
|
+
error_model = ServerError(**error_data)
|
|
110
|
+
raise ShoplineAPIError(
|
|
111
|
+
status_code=500,
|
|
112
|
+
error=error_model,
|
|
113
|
+
**error_data
|
|
114
|
+
)
|
|
115
|
+
# 默认错误处理
|
|
116
|
+
raise ShoplineAPIError(
|
|
117
|
+
status_code=response.status,
|
|
118
|
+
**error_data
|
|
119
|
+
)
|
|
120
|
+
response_data = await response.json()
|
|
121
|
+
|
|
122
|
+
# 验证并返回响应数据
|
|
123
|
+
return Order(**response_data)
|
|
@@ -0,0 +1,88 @@
|
|
|
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.order_delivery import OrderDelivery
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""请求体模型"""
|
|
17
|
+
status: Optional[Literal['pending', 'shipping', 'shipped', 'arrived', 'collected', 'returned', 'returning']] = None
|
|
18
|
+
mail_notify: Optional[bool] = None
|
|
19
|
+
"""Do you want to notify the customer via email with the change?
|
|
20
|
+
此更新是否要以email通知顧客?
|
|
21
|
+
(Default: false)"""
|
|
22
|
+
force_update: Optional[Literal['status']] = None
|
|
23
|
+
"""To force update delivery status for third party delivery providers
|
|
24
|
+
強制更新第三方物流服務供應商訂單運送狀態"""
|
|
25
|
+
|
|
26
|
+
class Response(BaseModel):
|
|
27
|
+
"""响应体模型"""
|
|
28
|
+
order_id: Optional[str] = None
|
|
29
|
+
status: Optional[Literal['pending', 'shipping', 'shipped', 'arrived', 'collected', 'returned', 'returning']] = None
|
|
30
|
+
updated_at: Optional[str] = None
|
|
31
|
+
|
|
32
|
+
async def call(
|
|
33
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
34
|
+
) -> Response:
|
|
35
|
+
"""
|
|
36
|
+
Update Order Delivery Status
|
|
37
|
+
|
|
38
|
+
To update order's delivery status
|
|
39
|
+
更新訂單運送狀態
|
|
40
|
+
|
|
41
|
+
Path: PATCH /orders/{id}/order_delivery_status
|
|
42
|
+
"""
|
|
43
|
+
# 构建请求 URL
|
|
44
|
+
url = f"orders/{id}/order_delivery_status"
|
|
45
|
+
|
|
46
|
+
# 构建查询参数
|
|
47
|
+
params = {}
|
|
48
|
+
if request:
|
|
49
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
50
|
+
for key, value in request_dict.items():
|
|
51
|
+
if value is not None:
|
|
52
|
+
params[key] = value
|
|
53
|
+
|
|
54
|
+
# 构建请求头
|
|
55
|
+
headers = {"Content-Type": "application/json"}
|
|
56
|
+
|
|
57
|
+
# 构建请求体
|
|
58
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
59
|
+
|
|
60
|
+
# 发起 HTTP 请求
|
|
61
|
+
async with session.patch(
|
|
62
|
+
url, params=params, json=json_data, headers=headers
|
|
63
|
+
) as response:
|
|
64
|
+
if response.status >= 400:
|
|
65
|
+
error_data = await response.json()
|
|
66
|
+
if response.status == 404:
|
|
67
|
+
error_model = NotFoundError(**error_data)
|
|
68
|
+
raise ShoplineAPIError(
|
|
69
|
+
status_code=404,
|
|
70
|
+
error=error_model,
|
|
71
|
+
**error_data
|
|
72
|
+
)
|
|
73
|
+
if response.status == 500:
|
|
74
|
+
error_model = ServerError(**error_data)
|
|
75
|
+
raise ShoplineAPIError(
|
|
76
|
+
status_code=500,
|
|
77
|
+
error=error_model,
|
|
78
|
+
**error_data
|
|
79
|
+
)
|
|
80
|
+
# 默认错误处理
|
|
81
|
+
raise ShoplineAPIError(
|
|
82
|
+
status_code=response.status,
|
|
83
|
+
**error_data
|
|
84
|
+
)
|
|
85
|
+
response_data = await response.json()
|
|
86
|
+
|
|
87
|
+
# 验证并返回响应数据
|
|
88
|
+
return Response(**response_data)
|