(Quick Reference) Service: Upsert an item-unit

Description: This web service is used to insert an item-unit object to the database if it does not already exist, or update it.

URL with external_id:

https://BASE_URL/api/VERSION/itemUnits/reference/{itemId}/{unitId}

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringNoeliteBook_820
unitIdreference of the unitStringNoPiéce
quantityQuantity of product by unitIntegeryes 
salesQuantityQuantity used in sales operationsIntegerno 
volumeVolume of product by unit (m^3)Doubleno13.11
weightWeight of product by unit (kg)Doubleno16
barcode Stringno 
expirationDateThe expiration date field is automatically filled if the bar code meets the standard EAN 128Dateno2016-08-31
isDefaultThis parameter is required when item don't have a default unit,otherwise it is set to false by default.Booleanyestrue, false
defaultDisplay Booleannotrue, false
unpackingthis parameter is set to false by default.Booleannotrue, false

Every item must have only one default unit.

Success Output

Success case: response.status = 201

{
  "id": 92,
  "itemReference": "bracelet-GRP09062",
  "unitReference": "PACKET",
  "item": {
    "id": 497,
    "reference": "bracelet-GRP09062",
    "name": "Knot Band Bracelet",
    "href": "/api/v1.0/items/497"
  },
  "unit": {
    "id": 7,
    "reference": "PACKET",
    "name": "packet",
    "href": "/api/v1.0/units/7"
  },
  "quantity": 4,
  "unpacking": true,
  "salesQuantity": 1,
  "volume": null,
  "weight": null,
  "barcode": null,
  "expirationDate": null,
  "isDefault": false,
  "defaultDisplay": false,
  "organization": "entity1",
  "dateCreated": "2016-08-24T09:17:24Z",
  "lastUpdated": "2016-08-24T09:17:24Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "already_assigned",
  "error_description": "Item is already assigned to unit."
}
{
  "error": "is_default_error",
  "error_description": "Item has already a default unit."
}
{
  "error": "date_validation_error",
  "error_description": "incorrect expiration date Format"
}
{
  "error": "invalid_param_type",
  "error_description": "An invalid value was specified for parameter: weight (must be Positive Double)"
}
{
  "error": "refused_value",
  "error_description": "Sales quantity should be equal to 1."
}
{
  "error": "json_parsing_error",
  "error_description": "A JSON parsing error occurred while parsing request parameters."
}

Failure case:response.status = 404
{
  "error": "not_found",
  "error_description": "The item with the id 123 doesn't exist."
}
{
  "error": "not_found",
  "error_description": "The unit with the id 70 doesn't exist."
}

Failure case:response.status = 500
{
    "error": "server_error",
    "error_description": "Oops! Something went wrong..."
}