【问题标题】:Microservice of Commercetools cart APICommercetools 购物车 API 的微服务
【发布时间】:2018-04-27 12:24:57
【问题描述】:

根据 commercetools 的文档,所有微服务(购物车、订单、运输方式等)都是相互独立的。

在 POSTMAN 中调用以下 API: https://api.sphere.io/{{myproject-key}}/carts/{{cartId}}

身体部位:

    {
      "version": 5,
      "actions": [{
        "action": "addLineItem",
        "productId": "6d22957d-7c42-4663-95c3-099c11016999",
        "variantId": 1
      }]
    }

每当我从 commercetools 平台目录中提供 productID 时,上述内容都会为我提供正确的响应。 但是,如果我尝试提供自己的产品 ID(来自 Localhost 托管的数据库),我无法将商品添加到购物车。

相反,它给了我以下错误: 错误日志:"The referenced object of type 'product' with identifier '6d22957d-7c42-4663-95c3-099c11016999' not found."

这意味着产品目录和购物车等服务是紧密耦合的。 这是否意味着微服务不能单独使用?

问题: 我可以在现有电子商务网站中单独使用 commercetools 个人服务,例如购物车、运输方式、订单吗?

【问题讨论】:

    标签: api e-commerce microservices commercetools


    【解决方案1】:

    Commercetools 平台的服务可用于不同的场景,例如

    1. 由 commercetools 提供核心电子商务服务的架构。
    2. 微服务架构由不同服务提供商提供的多种不同服务组成,其中只有一个是商务工具。

    因此,commercetools 服务提供不同的概念和适合不同集成级别的操作。对于更像 1 的场景,commercetools 平台可以选择以高度集成的方式执行验证或计算,这很方便。对于更类似于 2 的场景,commercetools 提供了可选概念,允许您以松散耦合方式使用所有服务。

    一些例子:

    将订单项添加到购物车

    • Cart 的 addLineItem 操作旨在与 commercetools Products 端点结合使用。如果您同时使用两者,commercetools 可以自动验证您要添加到购物车的产品。
    • Cart 的addCustomLineItem 操作适用于存储在 commercetools 之外的产品或动态生成的 lineItems,不一定是传统产品。因此,它允许您添加自己的产品,而商务工具不需要知道。

    计算运费

    • 如果您使用 commercetools 的购物车和 shippingMethods 服务,commercetools setShippingMethod 操作可以根据区域、国家和 shippingMethods 甚至更复杂的规则自动计算运费。
    • 如果您想使用 commercetools 购物车服务,但又想使用自己的 shippingRate 服务,您可以使用 commercetools Carts setCustomShippingMethod 提供您从外部计算的 shippingRate。

    创建订单

    • 如果您使用 commercetools 的购物车和订单服务,如果您执行 createOrderFromCart 操作,commercetools 会在将其转换为订单之前自动验证您的购物车。
    • 如果您想使用 commercetools 订单但又想使用自己的购物车服务,您可以使用 commercetools orderImport 服务。

    这些只是在不同场景中使用 commercetools 服务的不同方式的三个示例。通常只要有意义,您就会找到一种将 commercetools 服务松散集成到您的整体架构中的方法。

    Commercetools API 有一个 unofficial postman collection,它涵盖了大部分端点和更新操作(目前超过 400 个操作)。

    【讨论】:

    • 感谢@Valentin 的澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多