(Quick Reference) Service: Create an operation (exchange, cancellation or return)

Description: Returns the created operation in json format when successful. Returns a json response, describing the failure condition when unsuccessful.

URL:

https://BASE_URL/api/VERSION/returns

Method: POST

Request content type: application/x-www-form-urlencoded or multipart/form-data

Parameters:

NameDescriptionTypeRequiredExample values
reference Stringyes 
returnType StringyesEXCHANGE, CANCELLATION, RETURN
customerIdThe ID of customerLong/Stringyes 
dateCreated Dateno2016-09-27T11:12:00Z
userIdThe ID of user. By default, it is set to the current connected userLong/Stringno 
latitude Doubleno 
longitude Doubleno10.590584
checkInDate Dateno2016-09-15T11:30:00Z
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , false

to add a geolocationData related to our return operation we must at least have one of this inputs : latitude, longitude or checkInDate

Return operation lines parameter:

Parameter name: returnLines

Parameter type: a json structure

NameDescriptionTypeRequiredExample values
reasonIdThe numerical ID of the reason to do a return operationLongyes 
itemUnitIdThe numerical ID unit of itemsLongyes 
quantity IntegerYes 
picture multipart/form-datano 
commentIt contains some comments related to the operationStringno 

Success Output

Success case: response.status=201

{
    "id": 24,
    "reference": "R-R-E-00910",
    "latitude": 15.3931,
    "longitude": 56.123,
    "checkinDate": "2016-09-15T10:30:00Z",
    "type": "EXCHANGE",
    "userId": 3,
    "user": {
      "id": 3,
      "reference": "RE-002",
      "href": "/api/v1.0/users/3"
    },
    "customerId": 1,
    "customer": {
      "id": 1,
      "reference": "R001",
      "name": "CUS1",
      "href": "/api/v1.0/customers/1"
    },
    "returnLines": [
      {
        "id": 1,
        "serialNumber": "serialNumber",
        "quantity": 2,
        "itemUnitId": 2,
        "picture": null,
        "href": "/api/v1.0/returnDetails/1"
      }
    ],
    "organization": "entity1",
    "dateCreated": "2016-09-28T09:32:45Z"
  }

Failure Output

Failure case:response.status = 400
{
  "error": "missing_param",
  "error_description": "reference parameter is missing"
}
{
  "error": "save_failed",
  "error_description": "Failed to save instance."
}

{
  "error": "not_unique",
  "error_description": "reference already used"
}

{
  "error": "invalid_param_type",
  "error_description": "An invalid value was specified for parameter: quantity (must be an Integer)"
}

{
  "error": "quantity_not_available",
  "error_description": "Quantity should be less than or equal to the available quantity: [[quantity:16944, item:497, unit:1, itemUnit:2]]"
}
{
  "error": "not_in_list_error",
  "error_description": "Failed to add the Return with the reference R-R-E-00919: returnType can have only these values [ EXCHANGE,CANCELLATION,RETURN ]"
}
Failure case:response.status = 404
{
  "error": "not_found",
  "error_description": "The Customer with the id 10 doesn't exist."
}
{
  "error": "not_found",
  "error_description": "The User with the id 1 doesn't exist."
}

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