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,127 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.customer import Customer
|
|
11
|
+
from ...models.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""查询参数模型"""
|
|
18
|
+
updated_after: Optional[str] = None
|
|
19
|
+
"""Filter data by those updated after specific time.
|
|
20
|
+
取得 updated_at 大於指定時間的顧客(包含指定時間)
|
|
21
|
+
*Should use UTC time"""
|
|
22
|
+
updated_before: Optional[str] = None
|
|
23
|
+
"""Filter data by those updated before specific time.
|
|
24
|
+
取得 updated_at 小於指定時間的顧客(包含指定時間)
|
|
25
|
+
*Should use UTC time"""
|
|
26
|
+
created_after: Optional[str] = None
|
|
27
|
+
"""Filter data by those created after specific time.
|
|
28
|
+
取得 created_at 大於指定時間的顧客(包含指定時間)
|
|
29
|
+
*Should use UTC time"""
|
|
30
|
+
created_before: Optional[str] = None
|
|
31
|
+
"""Filter data by those created before specific time.
|
|
32
|
+
取得 created_at 小於指定時間的顧客(包含指定時間)
|
|
33
|
+
*Should use UTC time"""
|
|
34
|
+
page: Optional[int] = None
|
|
35
|
+
"""Page Number
|
|
36
|
+
頁數"""
|
|
37
|
+
per_page: Optional[int] = None
|
|
38
|
+
"""Numbers of records per Page
|
|
39
|
+
每頁顯示 n 筆資料"""
|
|
40
|
+
sort_by: Optional[Literal['asc', 'desc']] = None
|
|
41
|
+
"""Setting sort by created time
|
|
42
|
+
設定創建時間排序"""
|
|
43
|
+
previous_id: Optional[str] = None
|
|
44
|
+
"""Customer id before the first record of the target records as pagination cursor
|
|
45
|
+
目標資料的第一個顧客的前一個顧客ID,同作分頁標記。
|
|
46
|
+
* If "previous_id" is provided, this operation will ignore "page" param.
|
|
47
|
+
* 如果使用param "previous_id",這次操作會忽略param "page" """
|
|
48
|
+
include_fields: Optional[List[Literal['metafields']]] = None
|
|
49
|
+
"""Provide additional attributes in the response
|
|
50
|
+
結果添加哪些參數"""
|
|
51
|
+
fields: Optional[List[str]] = None
|
|
52
|
+
"""Only show certain parameters in the response
|
|
53
|
+
This field will have conflicts to the include_fields[]
|
|
54
|
+
To avoid the conflicts
|
|
55
|
+
please also input all the items included in the include_fields[] to this field
|
|
56
|
+
otherwise those fields will not be shown
|
|
57
|
+
結果只顯示哪些參數
|
|
58
|
+
這個欄位會跟include_fields[]的欄位有衝突
|
|
59
|
+
要避免衝突的話,請輸入所有也包括在include_fields[]內的項目
|
|
60
|
+
否則那些項目將不能被顯示"""
|
|
61
|
+
|
|
62
|
+
class Response(BaseModel):
|
|
63
|
+
"""响应体模型"""
|
|
64
|
+
items: Optional[List[Customer]] = None
|
|
65
|
+
pagination: Optional[Paginatable] = None
|
|
66
|
+
|
|
67
|
+
async def call(
|
|
68
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
69
|
+
) -> Response:
|
|
70
|
+
"""
|
|
71
|
+
Get Customers
|
|
72
|
+
|
|
73
|
+
To get detailed information of couple customers sorted by time
|
|
74
|
+
利用時間範圍選取與排序獲取數筆顧客資料
|
|
75
|
+
|
|
76
|
+
Path: GET /customers
|
|
77
|
+
"""
|
|
78
|
+
# 构建请求 URL
|
|
79
|
+
url = "customers"
|
|
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
|
+
# 发起 HTTP 请求
|
|
93
|
+
async with session.get(
|
|
94
|
+
url, params=params, headers=headers
|
|
95
|
+
) as response:
|
|
96
|
+
if response.status >= 400:
|
|
97
|
+
error_data = await response.json()
|
|
98
|
+
if response.status == 401:
|
|
99
|
+
error_model = UnauthorizedError(**error_data)
|
|
100
|
+
raise ShoplineAPIError(
|
|
101
|
+
status_code=401,
|
|
102
|
+
error=error_model,
|
|
103
|
+
**error_data
|
|
104
|
+
)
|
|
105
|
+
if response.status == 422:
|
|
106
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
107
|
+
raise ShoplineAPIError(
|
|
108
|
+
status_code=422,
|
|
109
|
+
error=error_model,
|
|
110
|
+
**error_data
|
|
111
|
+
)
|
|
112
|
+
if response.status == 500:
|
|
113
|
+
error_model = ServerError(**error_data)
|
|
114
|
+
raise ShoplineAPIError(
|
|
115
|
+
status_code=500,
|
|
116
|
+
error=error_model,
|
|
117
|
+
**error_data
|
|
118
|
+
)
|
|
119
|
+
# 默认错误处理
|
|
120
|
+
raise ShoplineAPIError(
|
|
121
|
+
status_code=response.status,
|
|
122
|
+
**error_data
|
|
123
|
+
)
|
|
124
|
+
response_data = await response.json()
|
|
125
|
+
|
|
126
|
+
# 验证并返回响应数据
|
|
127
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.customer import Customer
|
|
11
|
+
from ...models.not_found_error import NotFoundError
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
|
|
15
|
+
async def call(
|
|
16
|
+
session: aiohttp.ClientSession, lineId: str
|
|
17
|
+
) -> Customer:
|
|
18
|
+
"""
|
|
19
|
+
Get Line Customer
|
|
20
|
+
|
|
21
|
+
To get detailed information for a specific customer with its Line ID
|
|
22
|
+
使用顧客用來註冊的Line ID獲取特定一個顧客的詳細資料
|
|
23
|
+
|
|
24
|
+
Path: GET /customers/line/{lineId}
|
|
25
|
+
"""
|
|
26
|
+
# 构建请求 URL
|
|
27
|
+
url = f"customers/line/{lineId}"
|
|
28
|
+
|
|
29
|
+
# 构建请求头
|
|
30
|
+
headers = {"Content-Type": "application/json"}
|
|
31
|
+
|
|
32
|
+
# 发起 HTTP 请求
|
|
33
|
+
async with session.get(
|
|
34
|
+
url, headers=headers
|
|
35
|
+
) as response:
|
|
36
|
+
if response.status >= 400:
|
|
37
|
+
error_data = await response.json()
|
|
38
|
+
if response.status == 401:
|
|
39
|
+
error_model = UnauthorizedError(**error_data)
|
|
40
|
+
raise ShoplineAPIError(
|
|
41
|
+
status_code=401,
|
|
42
|
+
error=error_model,
|
|
43
|
+
**error_data
|
|
44
|
+
)
|
|
45
|
+
if response.status == 404:
|
|
46
|
+
error_model = NotFoundError(**error_data)
|
|
47
|
+
raise ShoplineAPIError(
|
|
48
|
+
status_code=404,
|
|
49
|
+
error=error_model,
|
|
50
|
+
**error_data
|
|
51
|
+
)
|
|
52
|
+
if response.status == 500:
|
|
53
|
+
error_model = ServerError(**error_data)
|
|
54
|
+
raise ShoplineAPIError(
|
|
55
|
+
status_code=500,
|
|
56
|
+
error=error_model,
|
|
57
|
+
**error_data
|
|
58
|
+
)
|
|
59
|
+
# 默认错误处理
|
|
60
|
+
raise ShoplineAPIError(
|
|
61
|
+
status_code=response.status,
|
|
62
|
+
**error_data
|
|
63
|
+
)
|
|
64
|
+
response_data = await response.json()
|
|
65
|
+
|
|
66
|
+
# 验证并返回响应数据
|
|
67
|
+
return Customer(**response_data)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.membership_info import MembershipInfo
|
|
11
|
+
from ...models.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""查询参数模型"""
|
|
18
|
+
page: Optional[int] = None
|
|
19
|
+
"""Page Number
|
|
20
|
+
頁數"""
|
|
21
|
+
per_page: Optional[int] = None
|
|
22
|
+
"""Numbers of records per Page
|
|
23
|
+
每頁顯示 n 筆資料"""
|
|
24
|
+
customer_ids: Optional[List[str]] = None
|
|
25
|
+
"""The result only shows the selected customers
|
|
26
|
+
結果只顯示指定的顧客群"""
|
|
27
|
+
|
|
28
|
+
class Response(BaseModel):
|
|
29
|
+
"""响应体模型"""
|
|
30
|
+
items: Optional[List[MembershipInfo]] = None
|
|
31
|
+
pagination: Optional[Paginatable] = None
|
|
32
|
+
|
|
33
|
+
async def call(
|
|
34
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
35
|
+
) -> Response:
|
|
36
|
+
"""
|
|
37
|
+
Get Customers's Membership Info
|
|
38
|
+
|
|
39
|
+
To get detailed information of the membership of the customers
|
|
40
|
+
獲取顧客的會員資料
|
|
41
|
+
|
|
42
|
+
Path: GET /customers/membership_info
|
|
43
|
+
"""
|
|
44
|
+
# 构建请求 URL
|
|
45
|
+
url = "customers/membership_info"
|
|
46
|
+
|
|
47
|
+
# 构建查询参数
|
|
48
|
+
params = {}
|
|
49
|
+
if request:
|
|
50
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
51
|
+
for key, value in request_dict.items():
|
|
52
|
+
if value is not None:
|
|
53
|
+
params[key] = value
|
|
54
|
+
|
|
55
|
+
# 构建请求头
|
|
56
|
+
headers = {"Content-Type": "application/json"}
|
|
57
|
+
|
|
58
|
+
# 发起 HTTP 请求
|
|
59
|
+
async with session.get(
|
|
60
|
+
url, params=params, headers=headers
|
|
61
|
+
) as response:
|
|
62
|
+
if response.status >= 400:
|
|
63
|
+
error_data = await response.json()
|
|
64
|
+
if response.status == 401:
|
|
65
|
+
error_model = UnauthorizedError(**error_data)
|
|
66
|
+
raise ShoplineAPIError(
|
|
67
|
+
status_code=401,
|
|
68
|
+
error=error_model,
|
|
69
|
+
**error_data
|
|
70
|
+
)
|
|
71
|
+
if response.status == 422:
|
|
72
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
73
|
+
raise ShoplineAPIError(
|
|
74
|
+
status_code=422,
|
|
75
|
+
error=error_model,
|
|
76
|
+
**error_data
|
|
77
|
+
)
|
|
78
|
+
if response.status == 500:
|
|
79
|
+
error_model = ServerError(**error_data)
|
|
80
|
+
raise ShoplineAPIError(
|
|
81
|
+
status_code=500,
|
|
82
|
+
error=error_model,
|
|
83
|
+
**error_data
|
|
84
|
+
)
|
|
85
|
+
# 默认错误处理
|
|
86
|
+
raise ShoplineAPIError(
|
|
87
|
+
status_code=response.status,
|
|
88
|
+
**error_data
|
|
89
|
+
)
|
|
90
|
+
response_data = await response.json()
|
|
91
|
+
|
|
92
|
+
# 验证并返回响应数据
|
|
93
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.customer import Customer
|
|
11
|
+
from ...models.paginatable import Paginatable
|
|
12
|
+
from ...models.server_error import ServerError
|
|
13
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
14
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
15
|
+
|
|
16
|
+
class Request(BaseModel):
|
|
17
|
+
"""查询参数模型"""
|
|
18
|
+
page: Optional[int] = None
|
|
19
|
+
"""Page
|
|
20
|
+
頁數
|
|
21
|
+
(Default: 1)"""
|
|
22
|
+
per_page: Optional[int] = None
|
|
23
|
+
"""Numbers of Customers per page
|
|
24
|
+
每頁顯示 n 筆資料
|
|
25
|
+
(Default: 24, Max: 999)"""
|
|
26
|
+
query: Optional[str] = None
|
|
27
|
+
"""Support searching fields below:
|
|
28
|
+
支援搜尋以下欄位:
|
|
29
|
+
name
|
|
30
|
+
email
|
|
31
|
+
phones
|
|
32
|
+
mobile_phone"""
|
|
33
|
+
search_fields: Optional[List[str]] = None
|
|
34
|
+
"""To specify searching fields
|
|
35
|
+
指定搜尋欄位:
|
|
36
|
+
name
|
|
37
|
+
email
|
|
38
|
+
phones
|
|
39
|
+
mobile_phone"""
|
|
40
|
+
id: Optional[List[str]] = None
|
|
41
|
+
"""Customer's ID list
|
|
42
|
+
顧客編號列表"""
|
|
43
|
+
name: Optional[str] = None
|
|
44
|
+
"""Customer's Name
|
|
45
|
+
顧客姓名
|
|
46
|
+
-
|
|
47
|
+
*Support equal or not equal.
|
|
48
|
+
支援 等於 或 不等於"""
|
|
49
|
+
email: Optional[str] = None
|
|
50
|
+
"""Customer's Email
|
|
51
|
+
顧客Email
|
|
52
|
+
-
|
|
53
|
+
*Support equal or not equal.
|
|
54
|
+
支援 等於 或 不等於"""
|
|
55
|
+
phone: Optional[str] = None
|
|
56
|
+
"""Customer's Phone
|
|
57
|
+
顧客電話
|
|
58
|
+
-
|
|
59
|
+
Support equal or not equal.
|
|
60
|
+
支援 等於 或 不等於"""
|
|
61
|
+
phones: Optional[str] = None
|
|
62
|
+
"""Customer's Phones
|
|
63
|
+
顧客電話
|
|
64
|
+
-
|
|
65
|
+
Support equal or not equal.
|
|
66
|
+
支援 等於 或 不等於"""
|
|
67
|
+
mobile_phone: Optional[str] = None
|
|
68
|
+
"""Customer's Mobile Phone
|
|
69
|
+
顧客手機
|
|
70
|
+
-
|
|
71
|
+
Support equal or not equal.
|
|
72
|
+
支援 等於 或 不等於."""
|
|
73
|
+
gender: Optional[Literal['male', 'female', 'other']] = None
|
|
74
|
+
"""Customer's Gender
|
|
75
|
+
顧客性別
|
|
76
|
+
-
|
|
77
|
+
Gender allows
|
|
78
|
+
male 男性
|
|
79
|
+
female 女性
|
|
80
|
+
other 其他
|
|
81
|
+
|
|
82
|
+
Support equal or not equal.
|
|
83
|
+
支援 等於 或 不等於."""
|
|
84
|
+
membership_tier_id: Optional[str] = None
|
|
85
|
+
"""Membership Tier
|
|
86
|
+
顧客等級
|
|
87
|
+
-
|
|
88
|
+
With blank will return customers without membership tier
|
|
89
|
+
當帶入空值,將回傳無會員等級之顧客
|
|
90
|
+
|
|
91
|
+
With not: will return customers with membership tier
|
|
92
|
+
當帶入not:,將回傳有會員等級之顧客
|
|
93
|
+
|
|
94
|
+
*Support equal or not equal.
|
|
95
|
+
支援 等於 或 不等於."""
|
|
96
|
+
created_at: Optional[str] = None
|
|
97
|
+
"""Filter customers by created time
|
|
98
|
+
以顧客創造時間作為搜尋依據
|
|
99
|
+
-
|
|
100
|
+
Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
101
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於
|
|
102
|
+
|
|
103
|
+
Please fill in to the second level. Default value is 00:00:00 if only fill in dates.
|
|
104
|
+
請輸入至秒數,若只輸入日期,則會自動帶入當天00:00:00"""
|
|
105
|
+
updated_at: Optional[str] = None
|
|
106
|
+
"""Filter customers by created time
|
|
107
|
+
以顧客更新時間作為搜尋依據
|
|
108
|
+
-
|
|
109
|
+
*Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
110
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
111
|
+
registered_at: Optional[str] = None
|
|
112
|
+
"""Filter customers by registered time
|
|
113
|
+
以顧客註冊時間作為搜尋依據
|
|
114
|
+
-
|
|
115
|
+
*Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
116
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
117
|
+
birthday: Optional[str] = None
|
|
118
|
+
"""Filter customers by birthday
|
|
119
|
+
以顧客生日作為搜尋依據
|
|
120
|
+
-
|
|
121
|
+
*Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
122
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
123
|
+
birth_month: Optional[str] = None
|
|
124
|
+
"""Filter customers by birth month
|
|
125
|
+
以顧客生日月份作為搜尋依據
|
|
126
|
+
-
|
|
127
|
+
*Support equal or not equal or less than or less than or equal or not equal or greater than or greater than or equal
|
|
128
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
129
|
+
credit_balance: Optional[str] = None
|
|
130
|
+
"""Filter customers by credit balance
|
|
131
|
+
以購物金作為搜尋依據
|
|
132
|
+
-
|
|
133
|
+
*Support equal or not equal or less than or less than or equal or greater than or greater than or equal
|
|
134
|
+
支援 等於 或 不等於 或 小於 或 小於等於 或 大於 或 大於等於"""
|
|
135
|
+
is_member: Optional[bool] = None
|
|
136
|
+
"""Filter member customers.
|
|
137
|
+
搜尋是會員的顧客"""
|
|
138
|
+
is_blacklisted: Optional[bool] = None
|
|
139
|
+
"""Filter Blacklisted Customers.
|
|
140
|
+
搜尋是黑名單的顧客"""
|
|
141
|
+
is_subscribed_marketing_email: Optional[bool] = None
|
|
142
|
+
"""Filter Customers by Marketing Acceptance.
|
|
143
|
+
搜尋接受優惠宣傳的顧客"""
|
|
144
|
+
ref_user_id: Optional[str] = None
|
|
145
|
+
"""Third party custom customer id
|
|
146
|
+
第三方儲存之顧客ID"""
|
|
147
|
+
tags: Optional[str] = None
|
|
148
|
+
"""Custom tags
|
|
149
|
+
自定義標籤"""
|
|
150
|
+
|
|
151
|
+
class Response(BaseModel):
|
|
152
|
+
"""响应体模型"""
|
|
153
|
+
items: Optional[List[Customer]] = None
|
|
154
|
+
pagination: Optional[Paginatable] = None
|
|
155
|
+
|
|
156
|
+
async def call(
|
|
157
|
+
session: aiohttp.ClientSession, request: Optional[Request] = None
|
|
158
|
+
) -> Response:
|
|
159
|
+
"""
|
|
160
|
+
Search Customers
|
|
161
|
+
|
|
162
|
+
To search customers with specific conditions.
|
|
163
|
+
利用特殊條件搜尋顧客列表。
|
|
164
|
+
|
|
165
|
+
Path: GET /customers/search
|
|
166
|
+
"""
|
|
167
|
+
# 构建请求 URL
|
|
168
|
+
url = "customers/search"
|
|
169
|
+
|
|
170
|
+
# 构建查询参数
|
|
171
|
+
params = {}
|
|
172
|
+
if request:
|
|
173
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
174
|
+
for key, value in request_dict.items():
|
|
175
|
+
if value is not None:
|
|
176
|
+
params[key] = value
|
|
177
|
+
|
|
178
|
+
# 构建请求头
|
|
179
|
+
headers = {"Content-Type": "application/json"}
|
|
180
|
+
|
|
181
|
+
# 发起 HTTP 请求
|
|
182
|
+
async with session.get(
|
|
183
|
+
url, params=params, headers=headers
|
|
184
|
+
) as response:
|
|
185
|
+
if response.status >= 400:
|
|
186
|
+
error_data = await response.json()
|
|
187
|
+
if response.status == 401:
|
|
188
|
+
error_model = UnauthorizedError(**error_data)
|
|
189
|
+
raise ShoplineAPIError(
|
|
190
|
+
status_code=401,
|
|
191
|
+
error=error_model,
|
|
192
|
+
**error_data
|
|
193
|
+
)
|
|
194
|
+
if response.status == 422:
|
|
195
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
196
|
+
raise ShoplineAPIError(
|
|
197
|
+
status_code=422,
|
|
198
|
+
error=error_model,
|
|
199
|
+
**error_data
|
|
200
|
+
)
|
|
201
|
+
if response.status == 500:
|
|
202
|
+
error_model = ServerError(**error_data)
|
|
203
|
+
raise ShoplineAPIError(
|
|
204
|
+
status_code=500,
|
|
205
|
+
error=error_model,
|
|
206
|
+
**error_data
|
|
207
|
+
)
|
|
208
|
+
# 默认错误处理
|
|
209
|
+
raise ShoplineAPIError(
|
|
210
|
+
status_code=response.status,
|
|
211
|
+
**error_data
|
|
212
|
+
)
|
|
213
|
+
response_data = await response.json()
|
|
214
|
+
|
|
215
|
+
# 验证并返回响应数据
|
|
216
|
+
return Response(**response_data)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Optional, Union
|
|
2
|
+
import aiohttp
|
|
3
|
+
from pydantic import BaseModel, ValidationError, Field
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
# 导入异常类
|
|
7
|
+
from ...exceptions import ShoplineAPIError
|
|
8
|
+
|
|
9
|
+
# 导入需要的模型
|
|
10
|
+
from ...models.customer import Customer
|
|
11
|
+
from ...models.server_error import ServerError
|
|
12
|
+
from ...models.unauthorized_error import UnauthorizedError
|
|
13
|
+
from ...models.unprocessable_entity_error import UnprocessableEntityError
|
|
14
|
+
|
|
15
|
+
class Request(BaseModel):
|
|
16
|
+
"""查询参数模型"""
|
|
17
|
+
excludes: Optional[List[str]] = None
|
|
18
|
+
"""Exclude certain parameters in the response
|
|
19
|
+
結果要排除哪些參數"""
|
|
20
|
+
fields: Optional[List[str]] = None
|
|
21
|
+
"""Only show certain parameters in the response
|
|
22
|
+
結果只顯示哪些參數"""
|
|
23
|
+
|
|
24
|
+
async def call(
|
|
25
|
+
session: aiohttp.ClientSession, id: str, request: Optional[Request] = None
|
|
26
|
+
) -> Customer:
|
|
27
|
+
"""
|
|
28
|
+
Update Customer
|
|
29
|
+
|
|
30
|
+
To update information for a specific customer
|
|
31
|
+
更新顧客資料
|
|
32
|
+
|
|
33
|
+
Path: PUT /customers/{id}
|
|
34
|
+
"""
|
|
35
|
+
# 构建请求 URL
|
|
36
|
+
url = f"customers/{id}"
|
|
37
|
+
|
|
38
|
+
# 构建查询参数
|
|
39
|
+
params = {}
|
|
40
|
+
if request:
|
|
41
|
+
request_dict = request.model_dump(exclude_none=True)
|
|
42
|
+
for key, value in request_dict.items():
|
|
43
|
+
if value is not None:
|
|
44
|
+
params[key] = value
|
|
45
|
+
|
|
46
|
+
# 构建请求头
|
|
47
|
+
headers = {"Content-Type": "application/json"}
|
|
48
|
+
|
|
49
|
+
# 构建请求体
|
|
50
|
+
json_data = request.model_dump(exclude_none=True) if request else None
|
|
51
|
+
|
|
52
|
+
# 发起 HTTP 请求
|
|
53
|
+
async with session.put(
|
|
54
|
+
url, params=params, json=json_data, headers=headers
|
|
55
|
+
) as response:
|
|
56
|
+
if response.status >= 400:
|
|
57
|
+
error_data = await response.json()
|
|
58
|
+
if response.status == 401:
|
|
59
|
+
error_model = UnauthorizedError(**error_data)
|
|
60
|
+
raise ShoplineAPIError(
|
|
61
|
+
status_code=401,
|
|
62
|
+
error=error_model,
|
|
63
|
+
**error_data
|
|
64
|
+
)
|
|
65
|
+
if response.status == 422:
|
|
66
|
+
error_model = UnprocessableEntityError(**error_data)
|
|
67
|
+
raise ShoplineAPIError(
|
|
68
|
+
status_code=422,
|
|
69
|
+
error=error_model,
|
|
70
|
+
**error_data
|
|
71
|
+
)
|
|
72
|
+
if response.status == 500:
|
|
73
|
+
error_model = ServerError(**error_data)
|
|
74
|
+
raise ShoplineAPIError(
|
|
75
|
+
status_code=500,
|
|
76
|
+
error=error_model,
|
|
77
|
+
**error_data
|
|
78
|
+
)
|
|
79
|
+
# 默认错误处理
|
|
80
|
+
raise ShoplineAPIError(
|
|
81
|
+
status_code=response.status,
|
|
82
|
+
**error_data
|
|
83
|
+
)
|
|
84
|
+
response_data = await response.json()
|
|
85
|
+
|
|
86
|
+
# 验证并返回响应数据
|
|
87
|
+
return Customer(**response_data)
|