As best as we can tell, there's no workaround for this issue. If we're overlooking something in the APIs (or elsewhere) please point us in the right direction. 🙂
The problem: The Inventory Item webhook payloads are missing an immutable connection to the parent item (the product variant).
Example Use Case: I'd like to send an email when the inventory level at a particular location gets below a threshold. The webhook will fire on each update, but unless the SKU is set, it's a dead end with no path back to the product that triggered the event.
The current API structure only sends the SKU of the product. Since SKU is not a required data point in the interface, this creates a significant hole that can't be solved by app developers. If a merchant doesn't enter a SKU, there's no way to get to the parent item and the entire payload has little use or meaning since there's no path back to the product it is referring to.
As best as we can tell, the InventoryItem and InventoryLevel webhooks need to be updated to include a permanent mapping back to the parent item, i.e. the product variant ID, and ideally, the product ID as well.