We are finalizing our switch to the Shopify graphql connector and I am trying to find the best way to set the variant positions WITHOUT touching each child item in NS. We create products that could have dozens or hundreds of variants so setting a value on each child is not practical.
Variant position is currently the easiest way to control the order that optionValue appear on the product in Shopify (ie Small, Medium, Large) so I am looking for a solution to handling this. Preferably from the parent level or in Celigo itself.
This is a great question. I haven't encountered this before.
It looks like you do have the option to pass the "position" value when using the productSet Mutation.
What mutation type were you thinking of using?
If you can describe the use case (What your flow is meant to do) I might be able to suggest a flow structure that could work.
In Netsuite when we create a Matrix item, it creates all the children based on the options and option values.
The position value in the productSet mutation (this is what the Celigo connector uses) would do what we want but it would require us adding that position value to each child item in Netsuite. We cannot practically edit each child like that. There are hundreds on many products.
Also, obviously we can't just edit the order in Shopify because the next time the sync runs it resets the order.
Best case scenario that is most likely not possible would be to have a field or way to set the variant order on the parent and have that generate the position value I guess.
Trying to use handlebars or lookups seemed to be not possible or way to cumbersome to set up and accomadate for different circumstances.
Just hoping that there might be someone else here who has needed to come up with a solution to this as well.
Based on your post it seems you are already using the Position feature in REST based product flows. Would you please let me know if you have followed the steps mentioned in the KB article to set position mapping under variant and still unable to get to the desired results.
The mapping would look like: