(Quick Reference)

63 Return Operations - Reference Documentation

Version: 2.1

Table of Contents

63 Return Operations

63.1 List

Service: List operations (exchange,cancellation and returns)

Description: This web service returns a json list of operations.

URL:

https://BASE_URL/api/VERSION/returns

Method: GET

Parameters:

Pagination parameters:

NameDescriptionTypeRequiredPossible values
maxLimits the number of resources requested to return.Integerno 
offsetTells where to start returning records from the entire set of results.Integerno 
orderOrders ascending or descending.Integernoasc,desc
sortOrders the results by the specified field.Stringno 

The max parameter is set to 100 by default.

Filters parameters:

NameDescriptionTypeRequiredExample values
dateCreated_gtFilters by the resource's creation date time and operator greater thanDateno2016-08-15T14:52:48Z
dateCreated_gteFilters by the resource's creation date time and operator greater than or equalDateno 
dateCreated_ltFilters by the resource's creation date time and operator less thanDateno 
dateCreated_lteFilters by the resource's creation date time and operator less than or equalDateno 
lastUpdated_gtFilters by the resource's last-modified date time and operator greater thanDateno 
lastUpdated_gteFilters by the resource's last-modified date time and operator greater than or equalDateno 
lastUpdated_ltFilters by the resource's last-modified date time and operator less thanDateno 
lastUpdated_lteFilters by the resource's last-modified date time and operator less than or equalDateno 
returnTypeSearch by the operation typeStringnoEXCHANGE, CANCELLATION, RETURN
refrenceWildcard search by the resource's referenceStringno 

Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)

Success Output

Success case: response.status=200

{
  "paging": {
    "total": 3,
    "max": 100,
    "offset": 0,
    "previous": null,
    "next": null
  },
  "data": [
    {
      "id": 24,
      "reference": "R-R-E-00910",
      "latitude": 35.835454,
      "longitude": 10.590584,
      "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": "serial_number",
          "quantity": 2,
          "itemUnitId": 2,
          "picture": null,
          "href": "/api/v1.0/returnDetails/1"
        }
      ],
      "organization": "entity1",
      "dateCreated": "2016-09-28T09:32:45Z",
      "lastUpdated": "2016-09-28T09:32:45Z"
    },
    {
      "id": 25,
      "reference": "R-R-E-111",
      "latitude": 36.81328,
      "longitude": 10.1331903,
      "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": 2,
          "serialNumber": null,
          "quantity": 2,
          "itemUnitId": 2,
          "picture": null,
          "href": "/api/v1.0/returnDetails/2"
        }
      ],
      "organization": "entity1",
      "dateCreated": "2016-09-28T10:20:11Z",
      "lastUpdated": "2016-09-28T10:20:12Z"
    },
    {
      "id": 26,
      "reference": "R-R-E-112",
      "latitude": 43.7111496,
      "longitude": 7.1947483,
      "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": 3,
          "serialNumber": "serial_number",
          "quantity": 2,
          "itemUnitId": 2,
          "picture": null,
          "href": "/api/v1.0/returnDetails/3"
        }
      ],
      "organization": "entity1",
      "dateCreated": "2016-09-28T10:20:35Z",
      "lastUpdated": "2016-09-28T10:20:35Z"
    }
  ]
}

Failure Output

Failure case:response.status = 400

{
  "error": "invalid_param",
  "error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
    "error": "invalid_datetime_format",
    "error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}

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

63.2 Show

Service: Show an operation (exchange, cancellation or return)

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

URL:

https://BASE_URL/api/VERSION/returns/{id}

URL with external_id:

https://BASE_URL/api/VERSION/returns/reference/{id}

Method: GET

Parameters:

NameDescriptionTypeRequiredExample values
idThe ID of the desired operationLong/Stringyes123

Success Output

Success case: response.status=200

{
  "id": 5,
  "reference": "R-E-005",
  "latitude": null,
  "longitude": null,
  "checkinDate": null,
  "type": "RETURN",
  "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": [],
  "organization": "entity1",
  "dateCreated": "2016-09-27T14:08:09Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "invalid_param_type",
  "error_description": "The type of parameter id you provided is not valid for this request."
}

Failure case:response.status = 404

{
  "error": "not_found",
  "error_description": "The returnOperation with the id 7065 doesn't exist."
}

63.3 Save

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 operationIntegeryes 
itemUnitIdThe numerical ID unit of itemsIntegeryes 
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..."
}

63.4 Delete

Service: Delete a return operation

Description: This web service is used in order to delete a return operation object from the database

URL:

https://BASE_URL/api/VERSION/returns/{id}

URL with external_id:

https://BASE_URL/api/VERSION/returns/reference/{id}

Method: DELETE

Parameters:

NameDescriptionTypeRequiredExamples values
idId of the desired operation to deleteLong/StringYes777

Success Output

Success case: response.status=200
{
    "success": "true",
    "success_description": "Instance deleted successfully"
}

Failure Output

Failure case:response.status = 400
{
    "error": "invalid_param_type",
    "error_description": "The type of parameter id you provided is not valid for this request."
}
Failure case:response.status = 404
{
  "error": "not_found",
  "error_description": "The operation with the id 999 doesn't exist."
}

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