Advice For Custom Products


#1

To briefly describe the type of products being sold by the store, they will be custom user generated imagery. Stickers, posters, etc.

My question is regarding how to model the data that makes the most sense. Perhaps I am thinking about it wrong or there is a more standard way to approach the issue. I have tried the following two schemes which are each having issues:

First Scheme with Parent Product:

  1. Setup one parent SKU for a product – let’s say stickers.
  2. A user designs a sticker and adds the product to the cart. This adds one quantity of the parent SKU to the cart.
  3. I populate custom fields on the specific cart_item with a flow and PUT call that contain the href links for the user create image on S3.

This is fine for a single sticker in the cart, but suppose a user creates a second sticker and adds it to the cart. The new sticker would increase the quantity of the SKU and modifying the custom fields will overwrite the values I already have.

Second Scheme Custom Cart Items

  1. For each sticker added to the cart there is no associated product. Each cart item has a unique SKU
  2. For each custom item added there are custom url fields for S3 links.

Again for one item this works okay and seems like a solid solution with the unique SKUs to keep track of things. However modifying the cart at all creates issues. If I update the quantity of the cart item the response which includes cart items omits my custom fields.

Additionally if I add a new sticker to the cart it overwrites the entries for the custom fields on the first custom item in the cart and sets the custom fields to null for the new items. I have confirmed in the dashboard entries for my flow it is simply updating the first item in the cart. The following images show the call being made as well as the custom item being added to the cart for reference:

If there is any guidance on the ‘right’ or ‘standard’ way to approach how to manage unique custom products / cart items it would be much appreciated!

Thanks!


#2

Hey @bclynch

Thank you for getting in touch, it is quite an involved question so I will need a little time to look into this and see if we can come up with a solution that fits you.

With regards to the issues you are seeing on carts can you send me the calls and payloads you are sending to the API for me to inspect?

Thanks

Drew


#3

@drew

Thanks for looking into the matter. It certainly is a somewhat atypical use case, but given the flexibility of the Moltin API I suspect there is a solution.

Here is the custom cart item information:

Cart item being passed into the API call that has a few simple properties as well as one custom property thumbnail_url:

11%20AM

Here is the call being made the AddCustomItem endpoint with the JS SDK:

The following was returned by the API after a successful custom cart item creation:

I added a second new custom item to the cart successfully with this item passed in

On receiving my cart back you’ll notice the problem. It changed the custom field “thumbnail_url” in my original cart item to the new custom field from the second custom cart item and returned null for the second cart item’s custom field.

If you need further information please let me know. Appreciate you looking into it!


#5

Hi @bclynch

I brought this up with some of my colleagues and this is a known bug that exists at the moment. The good news is that it is being actively worked on by our engineering team and a patch is due to go out shortly. This should stop any fields being overwritten going forward. I will get back to you as soon as this has been deployed :slight_smile:

Thanks

Drew


#6

@drew

Thanks for following up. I think once that fix is deployed I ought to be able to tweak things to work as required. Look forward to the fix soon.

Brendan