(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:
| Name | Description | Type | Required | Example values |
|---|
| reference | | String | yes | |
| returnType | | String | yes | EXCHANGE, CANCELLATION, RETURN |
| customerId | The ID of customer | Long/String | yes | |
| dateCreated | | Date | no | 2016-09-27T11:12:00Z |
| userId | The ID of user. By default, it is set to the current connected user | Long/String | no | |
| latitude | | Double | no | |
| longitude | | Double | no | 10.590584 |
| checkInDate | | Date | no | 2016-09-15T11:30:00Z |
| useExternalId | By default, it is set to false. set it to true if you want to use external ids. | Boolean | no | true , 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
| Name | Description | Type | Required | Example values |
|---|
| reasonId | The numerical ID of the reason to do a return operation | Long | yes | |
| itemUnitId | The numerical ID unit of items | Long | yes | |
| quantity | | Integer | Yes | |
| picture | | multipart/form-data | no | |
| comment | It contains some comments related to the operation | String | no | |
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..."
}