I’m aware this is a complicate question and task but here goes…
Shopify has product category metafields for linking metaobjects to product options. This is demonstrated most easily with color swatches. They use fields called Linked Metafields.
Basically the product option is connected to the category metafield, and that metafield has references to metaobjects for each option value. It is connected back to the product option values.
Connect the option “Shirt Color” to the category metafield ‘Color’, in that metafield reference the Colors metaobject definition and values, and then the color option ‘Orange’ matches with the Orange metaobject.
Is there a way, or a plan to be a way, to handle these in the IA?
One of the main roadblocks is that if a metaobject does not yet exist for an option value, say the product being set has a color of ‘Ocean Blue’ but you don’t have a metaobject with a color value for that, then you can’t add the option/option value to a product.
So for us to do it custom we would have to first call Shopify, check metaobjects to see if the option value exists, then if it does not, created it, if it does, return the id, then use all that to populate the productSet mutation.