Find the answer to your question
While executing ReviseInventoryStatus api request, I am getting the following error. Why and how to get rid of it ?
<LongMessage>SKU does not exist in Non-ManageBySKU item specified by ItemID.</LongMessage>
One of the reason that you may be getting this error is that you may be trying to revise the variation that has already being removed i.e. when you try to execute ReviseInventoryStatus api request on a SKU whose quantity has been already set to 0, this error may be returned. This is an expected behavior because once the variation/SKU has been set to 0, the variation doesn't exist anymore and trying to revise quantity of a variation which doesn't exist, will throw an error.
For example :
1. Lets say, you originally listed an item with SKU-282 with quantity-17 . If you execute a GetItem api request, you will see SKU-282 being returned in the response.
2. Then you made a ReviseInventoryStatus request with quantity-0.
Note : When you updated the quantity as 0, the SKU is removed. You must also received this warning in the ReviseInventoryStatus api response.
<ShortMessage>Variations with quantity '0' will be removed.</ShortMessage>
<LongMessage>Variations with quantity '0' will be removed.</LongMessage>
Also if you execute a GetItem api request now, you will NOT see SKU- 282 being returned in the response anymore.
3. If you try to update the same SKU-282 with any quantity, you will now get error-21916799 because the SKU doesn't exist anymore. It was removed in the previous step.
How to get rid of the error :
In order to get rid of the error and update quantity to the SKU, you should make a ReviseItem api request to add the SKU first. For example : to add the above SKU, ReviseItem api request should have the following information:
<SKU> SKU- 282 </SKU>
<Quantity>17</Quantity> ---- Make sure you are passing the Quantity field for the variations that you are adding
<Value>L UK 10/12 • US 8/10 • EU 38/40</Value>
Once you get a success response, it means the SKU has been added back. If you execute a GetItem api request, you will again see SKU- 282 being returned in the response.
Now since the variation has ben added back, you can make ReviseInventoryStatus to update this SKU without any issue.