跳转到主要内容

SendCloud物流提供商集成方案用于django-shop

项目描述

SendCloud物流提供商集成方案用于django-SHOP

此方案集成了SendCloud API,适用于django-SHOP版本1.0及以上。

安装

对于django-SHOP版本1.0及更高版本

pip install djangoshop-sendcloud<1.1

准备

SendCloud创建一个账户。

在您的个人账户设置中,点击设置。在那里

  • 添加一个寄件地址
  • 财务 > 直接借记中添加您的定期付款设置。在那里,您的银行账户会被扣除0.01欧元,但这可能需要几个小时甚至一天时间才能完成所有检查。
  • 选定商店中选择您选择的名称的SendCloud API。在那里,提取公钥私钥(见下文)。

配置

在商家的项目settings.py

'shop_sendcloud'添加到INSTALLED_APPS

'shop_sendcloud.modifiers.SendcloudShippingModifier'添加到SHOP_CART_MODIFIERS列表中。

'shop_sendcloud.shipping.OrderWorkflowMixin'添加到SHOP_ORDER_WORKFLOWS列表中。

如果您使用的是部分配送的django-SHOP,请将OrderItemSerializer替换为提供的版本:SHOP_ORDER_ITEM_SERIALIZER = 'shop_sendcloud.serializers.OrderItemSerializer',并将工作流程更改为

SHOP_ORDER_WORKFLOWS = [
    ...
    'shop_sendcloud.workflows.CommonOrderWorkflowMixin',
    'shop.shipping.workflows.PartialDeliveryWorkflowMixin',
]

否则,如果没有部分配送,请将工作流程更改为

SHOP_ORDER_WORKFLOWS = [
    ...
    'shop_sendcloud.workflows.SingularOrderWorkflowMixin',
    'shop.shipping.workflows.CommissionGoodsWorkflowMixin',
]

添加由SendCloud提供的公钥私钥(见上文)

SHOP_SENDCLOUD = {
  'API_KEY': '<public-key-as-provided-by-SendCloud>',
  'API_SECRET': '<secret-key-as-provided-by-SendCloud>',
}

由于SendCloud为我们设置了运单ID,我们在后端禁用该字段,使用SHOP_MANUAL_SHIPPING_ID = False

SendCloud需要特定的地址模型,因此请确保您使用djangoshop-sendcloud提供的地址模型,而不是来自shop/models/defaults/address的默认值。

通常,将BillingAddressShippingAddressCustomer的替代类导入您的商家实现models.py中就足够了。

from shop_sendcloud.models.address import BillingAddress, ShippingAddress
from shop_sendcloud.models.customer import Customer

初始化

根据需要创建两个额外的数据库表,由djangoshop-sendcloud要求。

python manange.py migrate djangoshop_sendcloud

最后,将所有可能的配送选项加载到您的商店中。

python manange.py sendcloud_import

请记住定期运行此任务,例如每周一次,以更新运费价格。

使用方法

django-SHOP在结账视图中渲染配送方式表单时,将出现额外的选项。对于在SendCloud后端配置的每个承运商,都会出现一个额外的单选按钮。无论客户选择什么,都会存储在django-SHOPOrderModel中。

在Django管理后端,只有在完成订单后,才会出现名为打印运单的新按钮。点击该按钮从SendCloud API获取PDF文档,并将其转发到Django管理界面,在那里可以打印出来。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

djangoshop-sendcloud-1.2.1.tar.gz (11.5 kB 查看哈希值)

上传时间

支持