stock.unreserve
This method is used to increment the Stock that was previously reserved.
Arguments
This method has the path /catalog/<version>/stock.unreserve and
follows the MicroBase API calling conventions.
| Argument | Required | Type | Example | Description |
|---|---|---|---|---|
| reserveId | yes | String | H1ugxlYO | The Reserve id. |
| unreserveQuantity | yes | Number | 1 | The quantity to unreserve. |
Response
Returns a Reserve object if the System is configured to make reservations (The Stock is decremented and a Reserve is created):
{
"ok": true,
"reserve": {
"id": "H1ugxlYO",
"warehouseId": "001",
"quantity": 1,
"expirationTime": "2016-07-29T15:22:08.285Z"
}
}Returns a warning if the System is not configured to make reservations (The Stock is decremented, but no Reserve is created):
{
"ok": true,
"warning": "stock_verified_but_not_reserved"
}Errors
Expected errors that this method could return. Some errors return additional data.
| Error | Data | Description |
|---|---|---|
| reserve_not_found | The reserveId not found | The Reserve was not found |
| reserve_expired | - | The Reserve was already expired |
| not_enough_stock | - | There is not enough stock in the reserve |
| wrong_quantity | - | The quantity is < 1 |
| concurrency_error | - | There was a concurrency error and the Stock was not unreserved |
Example
curl --request GET \
--url http://localhost:3000/services/catalog/v1/stock.unreserve?reserveId=H1ugxlYO \
--header 'authorization: Bearer xxxxx...' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"unreserveQuantity": 1}' 