Skip to main content
Question

Bottomless commerce architecture

  • 11 July 2024
  • 6 replies
  • 169 views

Hello CommersToolers,

What I am curious about is whether certaing CommerceTools features, such as “cart” and “orders” for example could be used without the need for our product catalog being synced with CommerceTools? Does anyone have a clue? I’d appreciate any white paper, documentation reference or contact being shared with me.


Kind reagards,
Kalin.

6 replies

Userlevel 4
Badge

Hey @Obed Murillo @James Luterek @pauloamgomes do you guys know something about this topic? 🤓 

@Kalin , welcome to the Community!!

Userlevel 4
Badge

Hi @Kalin , features like “carts” and “orders” are dependant of products, somehow, they need to be available to the APIs, e.g. https://docs.commercetools.com/api/projects/carts#ctp:api:type:LineItem

But is up to you how you model your product attributes in CT, for example, you can have a minimal product model without the need to sync all your product catalog, in the FE you’ll need to consume your own APIs to retrieve any product attributes that are not part of your product model from your product catalog, this is very common for instance, when you have a PIM system. But also keep in mind that certain attributes may be relevant for performing search, applying filters, etc when using CT APIs.

Userlevel 4
Badge

Hi @Kalin 

You can use custom line items https://docs.commercetools.com/api/carts-orders-overview#line-items-and-custom-line-items 

These are items that can be added to cart and orders without being part of the Product Catalog in commercetools.

Some use cases for Custom line items can be:

  • Warranty
  • Marketplace Items
  • Additional Services
  • Shipping Surcharges
  • Special discounts (These support negative price)
  • Etc.

Custom line items can be extended with custom fields, considered for discounts, and will be persisted on the order once the cart becomes an order.

As @pauloamgomes  you can have a minimal version of the catalog in CT to be able to add regular items to the cart

 

I hope both answers help you with your question.

 

Regards,

Obed

Hi @Kalin 

You can use custom line items https://docs.commercetools.com/api/carts-orders-overview#line-items-and-custom-line-items 

These are items that can be added to cart and orders without being part of the Product Catalog in commercetools.

Some use cases for Custom line items can be:

  • Warranty
  • Marketplace Items
  • Additional Services
  • Shipping Surcharges
  • Special discounts (These support negative price)
  • Etc.

Custom line items can be extended with custom fields, considered for discounts, and will be persisted on the order once the cart becomes an order.

As @pauloamgomes  you can have a minimal version of the catalog in CT to be able to add regular items to the cart

 

I hope both answers help you with your question.

 

Regards,

Obed

Obed! Thank you for your answer! Already read about custom line items in the docs. They seem to be an interesting option, though still not very conveniet to replace the whole product catalog, which my question ismore about.

Hi @Kalin , features like “carts” and “orders” are dependant of products, somehow, they need to be available to the APIs, e.g. https://docs.commercetools.com/api/projects/carts#ctp:api:type:LineItem

But is up to you how you model your product attributes in CT, for example, you can have a minimal product model without the need to sync all your product catalog, in the FE you’ll need to consume your own APIs to retrieve any product attributes that are not part of your product model from your product catalog, this is very common for instance, when you have a PIM system. But also keep in mind that certain attributes may be relevant for performing search, applying filters, etc when using CT APIs.

Paulo!

Thank you very much for your timely response, and sorry for the delayed response from my side. (I was OOO for about a week.)

Yeah, I know my question pushes the things a bit to the limit though that is one of our pain points at the moment, and we would rather search for a solution that allows for taking advantage of cart service and orders placement withouth necesarely migrating the cathalog with the external provider of those services. We have already researched some concrete solutions that are dealing with that “issue”, they have their disadvantages as well, though I don’t want to get into details here and now. Because commercetools is also high on our radar at the moment I decided to ask around. Your answer covers what I alredy read in the commercetools documentation though I very much appreciate that you took the time.

Kind regards,
Kalin Krastev. 

Userlevel 3
Badge

Hi @Kalin,

I am not sure I fully understand why you’re trying to achieve this, but let me just throw in another option, apart from custom line items (although this was the very first thing to come to my mind as well, @Obed Murillo is absolutely right here).

 

You can create a dummy product. Depending on the type of products you’re trying to sell this might make sense. 
You probably don’t need to use the “find product” functionalities of commercetools since you have that already up and running elsewhere (why else would you want to use only cart and order?).
 

Therefore, if you have a dummy product that just mimics the basic structure of your product (or products, if you have multiple types of product, each type might be a separate dummy product).
When you add the product to the cart, you can fill in the specifics using the LineItem custom fields.

If your products are highly customizable, then this is maybe something you want to look into. (e.g. a service that you provide and you have to make it tailored to your customer for each sell, and your exiting product catalog creates a product for each of these customers). 

If you’re just hesitant from the extra work of adding every product to commercetools, let me give you my two cents here as well:
The import API is good. The hardest part is the mapping, this might take some time and require a concept. The implementation is straight forward, the process works well and the error messages you get if something fails do help most of the time. Don’t be hesitant to try it out. 

In the end, it makes it a lot easier to find, fill, analyze carts and orders if you use actual products.
But again, I totally understand if you don’t want to use them because of some customizability that comes from another product.

Kind regards,
Patrick

Reply