2

根据 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 个人服务,例如购物车、运输方式、订单吗?

4

1 回答 1

2

Commercetools 平台的服务可以在不同的场景中使用,例如

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

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

一些例子:

将订单项添加到购物车

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

计算运费

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

创建订单

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

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

commercetools API有一个非官方的邮递员集合,涵盖了他们的大部分端点和更新操作(目前超过 400 个操作)。

于 2017-11-14T17:08:32.590 回答