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,43 @@
|
|
|
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_delivery import OrderDelivery
|
|
11
|
+
|
|
12
|
+
async def call(
|
|
13
|
+
session: aiohttp.ClientSession, id: str
|
|
14
|
+
) -> OrderDelivery:
|
|
15
|
+
"""
|
|
16
|
+
Get Order Delivery
|
|
17
|
+
|
|
18
|
+
To get detailed information for a specific order delivery with its ID
|
|
19
|
+
使用訂單ID配送獲取特定一筆訂單配送的詳細資料
|
|
20
|
+
|
|
21
|
+
Path: GET /order_deliveries/{id}
|
|
22
|
+
"""
|
|
23
|
+
# 构建请求 URL
|
|
24
|
+
url = f"order_deliveries/{id}"
|
|
25
|
+
|
|
26
|
+
# 构建请求头
|
|
27
|
+
headers = {"Content-Type": "application/json"}
|
|
28
|
+
|
|
29
|
+
# 发起 HTTP 请求
|
|
30
|
+
async with session.get(
|
|
31
|
+
url, headers=headers
|
|
32
|
+
) as response:
|
|
33
|
+
if response.status >= 400:
|
|
34
|
+
error_data = await response.json()
|
|
35
|
+
# 默认错误处理
|
|
36
|
+
raise ShoplineAPIError(
|
|
37
|
+
status_code=response.status,
|
|
38
|
+
**error_data
|
|
39
|
+
)
|
|
40
|
+
response_data = await response.json()
|
|
41
|
+
|
|
42
|
+
# 验证并返回响应数据
|
|
43
|
+
return OrderDelivery(**response_data)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.order_delivery import OrderDelivery
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""请求体模型"""
|
|
14
|
+
remark: Optional[str] = None
|
|
15
|
+
"""Delivery remark
|
|
16
|
+
出貨備註 Up to 255 words.
|
|
17
|
+
最多只能填寫255個字。"""
|
|
18
|
+
status: Optional[str] = None
|
|
19
|
+
"""Order delivery status
|
|
20
|
+
訂單送貨狀態 Order delivery Status only allows
|
|
21
|
+
訂單送貨狀態只可以填入 pending 備貨中
|
|
22
|
+
shipping 發貨中
|
|
23
|
+
shipped 已發貨
|
|
24
|
+
arrived 已到達
|
|
25
|
+
collected 已取貨
|
|
26
|
+
returned 已退貨
|
|
27
|
+
returning 退貨中"""
|
|
28
|
+
|
|
29
|
+
async def call(
|
|
30
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
31
|
+
) -> OrderDelivery:
|
|
32
|
+
"""
|
|
33
|
+
Update Order Delivery
|
|
34
|
+
|
|
35
|
+
To update a specific order delivery with its ID
|
|
36
|
+
使用訂單ID配送更新特定一筆訂單配送的資料
|
|
37
|
+
|
|
38
|
+
Path: PUT /order_deliveries/{id}
|
|
39
|
+
"""
|
|
40
|
+
# 构建请求 URL
|
|
41
|
+
url = f"order_deliveries/{id}"
|
|
42
|
+
|
|
43
|
+
# 构建请求头
|
|
44
|
+
headers = {"Content-Type": "application/json"}
|
|
45
|
+
|
|
46
|
+
# 构建请求体
|
|
47
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
48
|
+
|
|
49
|
+
# 发起 HTTP 请求
|
|
50
|
+
async with session.put(
|
|
51
|
+
url, json=json_data, headers=headers
|
|
52
|
+
) as response:
|
|
53
|
+
if response.status >= 400:
|
|
54
|
+
error_data = await response.json()
|
|
55
|
+
# 默认错误处理
|
|
56
|
+
raise ShoplineAPIError(
|
|
57
|
+
status_code=response.status,
|
|
58
|
+
**error_data
|
|
59
|
+
)
|
|
60
|
+
response_data = await response.json()
|
|
61
|
+
|
|
62
|
+
# 验证并返回响应数据
|
|
63
|
+
return OrderDelivery(**response_data)
|
|
File without changes
|
|
@@ -0,0 +1,61 @@
|
|
|
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.app_metafield_value import AppMetafieldValue
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""查询参数模型"""
|
|
14
|
+
filters: Optional[List[str]] = None
|
|
15
|
+
"""Search criteria
|
|
16
|
+
In format of {key}:{value}
|
|
17
|
+
{key} - required
|
|
18
|
+
{value} - optional"""
|
|
19
|
+
|
|
20
|
+
class Response(BaseModel):
|
|
21
|
+
"""响应体模型"""
|
|
22
|
+
items: Optional[List[AppMetafieldValue]] = None
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, order_id: str, request: Optional[Request] = None
|
|
26
|
+
) -> Response:
|
|
27
|
+
"""
|
|
28
|
+
Get app metafields attached to order items of specific order
|
|
29
|
+
|
|
30
|
+
To get information of app metafield attached to order items of specific order
|
|
31
|
+
|
|
32
|
+
Path: GET /orders/{order_id}/items/app_metafields
|
|
33
|
+
"""
|
|
34
|
+
# 构建请求 URL
|
|
35
|
+
url = f"orders/{order_id}/items/app_metafields"
|
|
36
|
+
|
|
37
|
+
# 构建查询参数
|
|
38
|
+
params = {}
|
|
39
|
+
if request:
|
|
40
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
41
|
+
for key, value in request_dict.items():
|
|
42
|
+
if value is not None:
|
|
43
|
+
params[key] = value
|
|
44
|
+
|
|
45
|
+
# 构建请求头
|
|
46
|
+
headers = {"Content-Type": "application/json"}
|
|
47
|
+
|
|
48
|
+
# 发起 HTTP 请求
|
|
49
|
+
async with session.get(
|
|
50
|
+
url, params=params, headers=headers
|
|
51
|
+
) as response:
|
|
52
|
+
if response.status >= 400:
|
|
53
|
+
error_data = await response.json()
|
|
54
|
+
raise ShoplineAPIError(
|
|
55
|
+
status_code=response.status,
|
|
56
|
+
**error_data
|
|
57
|
+
)
|
|
58
|
+
response_data = await response.json()
|
|
59
|
+
|
|
60
|
+
# 验证并返回响应数据
|
|
61
|
+
return Response(**response_data)
|
|
File without changes
|
shopline_sdk/apis/order_item_metafields/get_metafields_attached_to_order_items_of_specific_order.py
ADDED
|
@@ -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.metafield_value import MetafieldValue
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""查询参数模型"""
|
|
14
|
+
filters: Optional[List[str]] = None
|
|
15
|
+
"""Search criteria
|
|
16
|
+
In format of {namespace}.{key}:{value}
|
|
17
|
+
{namespace} - required
|
|
18
|
+
{key} - required
|
|
19
|
+
{value} - optional"""
|
|
20
|
+
|
|
21
|
+
class Response(BaseModel):
|
|
22
|
+
"""响应体模型"""
|
|
23
|
+
items: Optional[List[MetafieldValue]] = None
|
|
24
|
+
|
|
25
|
+
async def call(
|
|
26
|
+
session: aiohttp.ClientSession, order_id: str, request: Optional[Request] = None
|
|
27
|
+
) -> Response:
|
|
28
|
+
"""
|
|
29
|
+
Get metafields attached to order items of specific order
|
|
30
|
+
|
|
31
|
+
To get information of metafield attached to order items of specific order
|
|
32
|
+
|
|
33
|
+
Path: GET /orders/{order_id}/items/metafields
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = f"orders/{order_id}/items/metafields"
|
|
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
|
+
# 发起 HTTP 请求
|
|
50
|
+
async with session.get(
|
|
51
|
+
url, params=params, headers=headers
|
|
52
|
+
) as response:
|
|
53
|
+
if response.status >= 400:
|
|
54
|
+
error_data = await response.json()
|
|
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)
|
|
File without changes
|
|
@@ -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.metafield_value import MetafieldValue
|
|
11
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""查询参数模型"""
|
|
14
|
+
filters: Optional[List[str]] = None
|
|
15
|
+
"""Search criteria
|
|
16
|
+
In format of {namespace}.{key}:{value}
|
|
17
|
+
{namespace} - required
|
|
18
|
+
{key} - required
|
|
19
|
+
{value} - optional"""
|
|
20
|
+
|
|
21
|
+
class Response(BaseModel):
|
|
22
|
+
"""响应体模型"""
|
|
23
|
+
items: Optional[List[MetafieldValue]] = None
|
|
24
|
+
|
|
25
|
+
async def call(
|
|
26
|
+
session: aiohttp.ClientSession, order_id: str, request: Optional[Request] = None
|
|
27
|
+
) -> Response:
|
|
28
|
+
"""
|
|
29
|
+
Get metafields attached to specific order
|
|
30
|
+
|
|
31
|
+
To get information of metafield attached to specific order
|
|
32
|
+
|
|
33
|
+
Path: GET /orders/{order_id}/metafields
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = f"orders/{order_id}/metafields"
|
|
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
|
+
# 发起 HTTP 请求
|
|
50
|
+
async with session.get(
|
|
51
|
+
url, params=params, headers=headers
|
|
52
|
+
) as response:
|
|
53
|
+
if response.status >= 400:
|
|
54
|
+
error_data = await response.json()
|
|
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)
|
|
File without changes
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
|
|
12
|
+
class Request(BaseModel):
|
|
13
|
+
"""请求体模型"""
|
|
14
|
+
orderIds: Optional[List[str]] = None
|
|
15
|
+
|
|
16
|
+
class Response(BaseModel):
|
|
17
|
+
"""响应体模型"""
|
|
18
|
+
processingOrderIds: Optional[List[Any]] = None
|
|
19
|
+
processingFailedOrderIds: Optional[List[Any]] = None
|
|
20
|
+
statusErrorOrderIds: Optional[List[Any]] = None
|
|
21
|
+
platformNotSupportOrderIds: Optional[List[Any]] = None
|
|
22
|
+
notFoundOrderIds: Optional[List[Any]] = None
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
26
|
+
) -> Response:
|
|
27
|
+
"""
|
|
28
|
+
Bulk Execute Shipment
|
|
29
|
+
|
|
30
|
+
To bulk update the order delivery status. Note that any update failure will be ignored.
|
|
31
|
+
批量更新訂單送貨狀態。注意任何更新錯誤會被忽略。
|
|
32
|
+
We support order with following delivery service: 7-11 Cross Border, FMT Freeze, Tcat.
|
|
33
|
+
目前支援以下物流:7-11 跨境、全家冷凍、黑貓宅配
|
|
34
|
+
* Currently, this endpoint only support updating orders delivery status with same status.
|
|
35
|
+
* 現階段只支持批量更新相同的訂單送貨狀態。
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
Path: PATCH /orders/execute_shipment
|
|
39
|
+
"""
|
|
40
|
+
# 构建请求 URL
|
|
41
|
+
url = "orders/execute_shipment"
|
|
42
|
+
|
|
43
|
+
# 构建请求头
|
|
44
|
+
headers = {"Content-Type": "application/json"}
|
|
45
|
+
|
|
46
|
+
# 构建请求体
|
|
47
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
48
|
+
|
|
49
|
+
# 发起 HTTP 请求
|
|
50
|
+
async with session.patch(
|
|
51
|
+
url, json=json_data, headers=headers
|
|
52
|
+
) as response:
|
|
53
|
+
if response.status >= 400:
|
|
54
|
+
error_data = await response.json()
|
|
55
|
+
if response.status == 500:
|
|
56
|
+
error_model = ServerError(**error_data)
|
|
57
|
+
raise ShoplineAPIError(
|
|
58
|
+
status_code=500,
|
|
59
|
+
error=error_model,
|
|
60
|
+
**error_data
|
|
61
|
+
)
|
|
62
|
+
# 默认错误处理
|
|
63
|
+
raise ShoplineAPIError(
|
|
64
|
+
status_code=response.status,
|
|
65
|
+
**error_data
|
|
66
|
+
)
|
|
67
|
+
response_data = await response.json()
|
|
68
|
+
|
|
69
|
+
# 验证并返回响应数据
|
|
70
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
class Request(BaseModel):
|
|
10
|
+
"""请求体模型"""
|
|
11
|
+
cancelled_reason: Optional[Dict[str, Any]] = None
|
|
12
|
+
revert_credits: Optional[Dict[str, Any]] = None
|
|
13
|
+
"""revert credits information
|
|
14
|
+
回補購物金資訊"""
|
|
15
|
+
revert_member_points: Optional[Dict[str, Any]] = None
|
|
16
|
+
"""revert member points information
|
|
17
|
+
回補點數資訊"""
|
|
18
|
+
operated_by: Optional[Literal['merchant', 'customer']] = None
|
|
19
|
+
"""where to cancel the order, the default is customer
|
|
20
|
+
從哪裡取消訂單,預設是 customer"""
|
|
21
|
+
refund_order: Optional[bool] = None
|
|
22
|
+
"""Do you want to refund the order?
|
|
23
|
+
是否要退款此筆訂單
|
|
24
|
+
-
|
|
25
|
+
*Default:true"""
|
|
26
|
+
mail_notify: Optional[bool] = None
|
|
27
|
+
"""Do you want to notify the customer via email when the order is cancelled?
|
|
28
|
+
此筆訂單取消之後是否要通知顧客?
|
|
29
|
+
-
|
|
30
|
+
*Default:true"""
|
|
31
|
+
|
|
32
|
+
class Response(BaseModel):
|
|
33
|
+
"""响应体模型"""
|
|
34
|
+
order_items_stock_tag: Optional[List[Dict[str, Any]]] = None
|
|
35
|
+
|
|
36
|
+
async def call(
|
|
37
|
+
session: aiohttp.ClientSession, orderId: str, request: Optional[Request] = None
|
|
38
|
+
) -> Response:
|
|
39
|
+
"""
|
|
40
|
+
Cancel Order
|
|
41
|
+
|
|
42
|
+
To cancel order
|
|
43
|
+
取消訂單
|
|
44
|
+
|
|
45
|
+
Path: PATCH /orders/{orderId}/cancel
|
|
46
|
+
"""
|
|
47
|
+
# 构建请求 URL
|
|
48
|
+
url = f"orders/{orderId}/cancel"
|
|
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.patch(
|
|
58
|
+
url, json=json_data, headers=headers
|
|
59
|
+
) as response:
|
|
60
|
+
if response.status >= 400:
|
|
61
|
+
error_data = await response.json()
|
|
62
|
+
# 默认错误处理
|
|
63
|
+
raise ShoplineAPIError(
|
|
64
|
+
status_code=response.status,
|
|
65
|
+
**error_data
|
|
66
|
+
)
|
|
67
|
+
response_data = await response.json()
|
|
68
|
+
|
|
69
|
+
# 验证并返回响应数据
|
|
70
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,72 @@
|
|
|
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.unprocessable_entity_error import UnprocessableEntityError
|
|
12
|
+
|
|
13
|
+
class Request(BaseModel):
|
|
14
|
+
"""请求体模型"""
|
|
15
|
+
filters: Optional[List[Dict[str, Any]]] = None
|
|
16
|
+
callback_url: Optional[str] = None
|
|
17
|
+
"""merchant's callback url
|
|
18
|
+
店家提供 callback url"""
|
|
19
|
+
|
|
20
|
+
class Response(BaseModel):
|
|
21
|
+
"""响应体模型"""
|
|
22
|
+
message: Optional[List[Any]] = None
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
26
|
+
) -> Response:
|
|
27
|
+
"""
|
|
28
|
+
Create Archived Orders Report
|
|
29
|
+
|
|
30
|
+
Create Archived Orders Report
|
|
31
|
+
查詢冷區訂單資料
|
|
32
|
+
|
|
33
|
+
Path: POST /orders/archived_orders
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = "orders/archived_orders"
|
|
37
|
+
|
|
38
|
+
# 构建请求头
|
|
39
|
+
headers = {"Content-Type": "application/json"}
|
|
40
|
+
|
|
41
|
+
# 构建请求体
|
|
42
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
43
|
+
|
|
44
|
+
# 发起 HTTP 请求
|
|
45
|
+
async with session.post(
|
|
46
|
+
url, json=json_data, headers=headers
|
|
47
|
+
) as response:
|
|
48
|
+
if response.status >= 400:
|
|
49
|
+
error_data = await response.json()
|
|
50
|
+
if response.status == 422:
|
|
51
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
52
|
+
raise ShoplineAPIError(
|
|
53
|
+
status_code=422,
|
|
54
|
+
error=error_model,
|
|
55
|
+
**error_data
|
|
56
|
+
)
|
|
57
|
+
if response.status == 500:
|
|
58
|
+
error_model = ServerError(**error_data)
|
|
59
|
+
raise ShoplineAPIError(
|
|
60
|
+
status_code=500,
|
|
61
|
+
error=error_model,
|
|
62
|
+
**error_data
|
|
63
|
+
)
|
|
64
|
+
# 默认错误处理
|
|
65
|
+
raise ShoplineAPIError(
|
|
66
|
+
status_code=response.status,
|
|
67
|
+
**error_data
|
|
68
|
+
)
|
|
69
|
+
response_data = await response.json()
|
|
70
|
+
|
|
71
|
+
# 验证并返回响应数据
|
|
72
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,90 @@
|
|
|
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.order_delivery_address import OrderDeliveryAddress
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""请求体模型"""
|
|
17
|
+
order: Optional[Dict[str, Any]] = None
|
|
18
|
+
is_registering_as_member: Optional[bool] = None
|
|
19
|
+
"""Do you want to set the customer as a member?
|
|
20
|
+
是否要將此筆訂單顧客設為會員?
|
|
21
|
+
-
|
|
22
|
+
*Default: false"""
|
|
23
|
+
is_inventory_fulfillment: Optional[bool] = None
|
|
24
|
+
"""Do you want to deduct the inventory numbers after the order is created?
|
|
25
|
+
此筆訂單是否要扣掉庫存?
|
|
26
|
+
-
|
|
27
|
+
*Default:false"""
|
|
28
|
+
mail_notify: Optional[bool] = None
|
|
29
|
+
"""Do you want to notify the customer of the order creation by email ?
|
|
30
|
+
此筆訂單成立之後是否要通知顧客?
|
|
31
|
+
-
|
|
32
|
+
*Default:false"""
|
|
33
|
+
|
|
34
|
+
async def call(
|
|
35
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
36
|
+
) -> Order:
|
|
37
|
+
"""
|
|
38
|
+
Create Order
|
|
39
|
+
|
|
40
|
+
To create an order with open API
|
|
41
|
+
透過open API創建一筆新訂單
|
|
42
|
+
|
|
43
|
+
Path: POST /orders
|
|
44
|
+
"""
|
|
45
|
+
# 构建请求 URL
|
|
46
|
+
url = "orders"
|
|
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
|
+
# 构建请求体
|
|
60
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
61
|
+
|
|
62
|
+
# 发起 HTTP 请求
|
|
63
|
+
async with session.post(
|
|
64
|
+
url, params=params, json=json_data, headers=headers
|
|
65
|
+
) as response:
|
|
66
|
+
if response.status >= 400:
|
|
67
|
+
error_data = await response.json()
|
|
68
|
+
if response.status == 422:
|
|
69
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
70
|
+
raise ShoplineAPIError(
|
|
71
|
+
status_code=422,
|
|
72
|
+
error=error_model,
|
|
73
|
+
**error_data
|
|
74
|
+
)
|
|
75
|
+
if response.status == 500:
|
|
76
|
+
error_model = ServerError(**error_data)
|
|
77
|
+
raise ShoplineAPIError(
|
|
78
|
+
status_code=500,
|
|
79
|
+
error=error_model,
|
|
80
|
+
**error_data
|
|
81
|
+
)
|
|
82
|
+
# 默认错误处理
|
|
83
|
+
raise ShoplineAPIError(
|
|
84
|
+
status_code=response.status,
|
|
85
|
+
**error_data
|
|
86
|
+
)
|
|
87
|
+
response_data = await response.json()
|
|
88
|
+
|
|
89
|
+
# 验证并返回响应数据
|
|
90
|
+
return Order(**response_data)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.server_error import ServerError
|
|
11
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
12
|
+
|
|
13
|
+
class Response(BaseModel):
|
|
14
|
+
"""响应体模型"""
|
|
15
|
+
delivery_status: Optional[Literal['request_accepted', 'request_authorized', 'request_submitted']] = None
|
|
16
|
+
tracking_number: Optional[str] = None
|
|
17
|
+
|
|
18
|
+
async def call(
|
|
19
|
+
session: aiohttp.ClientSession, id: str
|
|
20
|
+
) -> Response:
|
|
21
|
+
"""
|
|
22
|
+
Execute Shipment
|
|
23
|
+
|
|
24
|
+
Execute shipment, currently we support order with following delivery service: 7-11 B2C/7-11 C2C/FMT B2C/FMT C2C/T-cat/SF/HCT
|
|
25
|
+
Only applicable to order in pending delivery status.
|
|
26
|
+
|
|
27
|
+
Path: PATCH /orders/{id}/execute_shipment
|
|
28
|
+
"""
|
|
29
|
+
# 构建请求 URL
|
|
30
|
+
url = f"orders/{id}/execute_shipment"
|
|
31
|
+
|
|
32
|
+
# 构建请求头
|
|
33
|
+
headers = {"Content-Type": "application/json"}
|
|
34
|
+
|
|
35
|
+
# 发起 HTTP 请求
|
|
36
|
+
async with session.patch(
|
|
37
|
+
url, headers=headers
|
|
38
|
+
) as response:
|
|
39
|
+
if response.status >= 400:
|
|
40
|
+
error_data = await response.json()
|
|
41
|
+
if response.status == 422:
|
|
42
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
43
|
+
raise ShoplineAPIError(
|
|
44
|
+
status_code=422,
|
|
45
|
+
error=error_model,
|
|
46
|
+
**error_data
|
|
47
|
+
)
|
|
48
|
+
if response.status == 500:
|
|
49
|
+
error_model = ServerError(**error_data)
|
|
50
|
+
raise ShoplineAPIError(
|
|
51
|
+
status_code=500,
|
|
52
|
+
error=error_model,
|
|
53
|
+
**error_data
|
|
54
|
+
)
|
|
55
|
+
# 默认错误处理
|
|
56
|
+
raise ShoplineAPIError(
|
|
57
|
+
status_code=response.status,
|
|
58
|
+
**error_data
|
|
59
|
+
)
|
|
60
|
+
response_data = await response.json()
|
|
61
|
+
|
|
62
|
+
# 验证并返回响应数据
|
|
63
|
+
return Response(**response_data)
|