We've built a craft/disenchant system using stackable items. Each item is a bundle containing the disenchant price, and has a cost equal to the craft price. Pretty simple, and effective. However, I'm noticing some areas where such a system could cause an unusually high number of PlayFab calls.
The biggest case (which we really can't offer until there's a call that supports it) is "mass disenchant of all items over the deck limit". This is because there's no "consume" or "remove" item call that operates on multiple item instances. A more effective system would be one that could pass a list of itemids (not instance ids, ideall) to remove/consume.
The other case is a player deciding to manually disenchant a large portion of their collection. This will generate a large number of calls in a short amount of time (We can mitigate by gating on the client, but this creates a poor player experience). Being able to batch calls here would allow a smoother flow (with the ability to "undo" decisions, rather than force a confirmation window.
(disenchant/consume/revoke stackable items based on itemid would be valuable, as it means we don't need to worry about the item instance at all, since we can already grant items by itemId)