(Quick Reference) Service: Update an operation

Description: This web service is used for changing operation status, payment details and order delivery details.

URL:

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

URL with external_id:

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

Method: POST

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

Parameters:

NameDescriptionTypeRequiredExample values
idThe ID of the desired itemLong/Stringyes123
statusADVANCE status is allowed , only if user can apply partial paymentStringyesNOT_PAID,ADVANCE,PAID,IN_PROCESS
deliveryDateIf order and isDeliveryDateMandatoryDate-2016-08-15T14:52:48Z
deliveryStatus StringnoPENDING,DELIVERED,REJECTED

Payments parameter:

Parameter name: orderPayments

Parameter type: a json structure

Payments parameter is mandatory if order status is equal to ADVANCE or PAID
NameDescriptionTypeRequiredExample values
paymentDate Dateno2016-08-15T14:52:48Z
paymentTypeIdThe numerical ID of payment typeIntegerno 
advanceAmountRequired if status is ADVANCEDoubleno 
desiredPaymentDateUsed when payment is by CHEQUEDateno2016-08-15
chequeImageName of image parameter to upload. It's used when payment is by CHEQUEStringno 
bankThe bank name. It's used when payment is by CHEQUEStringno 

Example:

orderPayments=[{"paymentReference": "5_8_2014_09_17","paymentDate":"2014-12-20T23:00:00Z","paymentTypeId":8,"chequeImage":checkFile}]

Add checkFile parameter to upload image file

$ curl -i -H "Content-Type: multipart/form-data" -X POST  -F 'checkFile=<@filename>;type=<mime type>' <url>

Prepayments parameter:

Parameter name: orderPayments

Parameter type: a json structure

Prepayments are accepted only if operation type is equal to ORDER

NameDescriptionTypeRequiredExample values
prepaymentIdThe ID of prepaymentLong/Stringyes 
amountToCredit Doubleyes 

Example:

prepaymentPayment=[{"prepaymentId": 524,"amountToCredit":8}]

Success Output

Success case: response.status=200

{
  "id": 5,
  "operationType": "ORDER",
  "reference": "marie_order_2014_12_20",
  "status": "PAID",
  "latitude": 29.932,
  "longitude": 12.101,
  "checkInDate": null,
  "total": 155,
  "totalExclTax": 1572,
  "totalDiscounted": 1572,
  "discount": null,
  "taxAmount": null,
  "shippingFee" : 7,
  "paymentDate": "2014-12-20T23:00:00Z",
  "paymentTypeId": 8,
  "paymentType": {
    "id": 8,
    "reference": "CHEQUE",
    "name": "Cheque",
    "href": "/api/v1.0/paymentTypes/8"
  },
  "advanceAmount": null,
  "orderPayments": [
    {
      "id": 908,
      "reference": "5_8_2014_12_20",
      "href": "/api/v1.0/orderPayments/908"
    }
  ],
  "orderPrepayments": [
    {
      "id": 252,
      "reference": "L-aa-1505382365189",
      "href": "/valomniav2/api/v2.1/orderPayments/252"
    }
  ],
  "dueDate": null,
  "customerReference": "cust_A6",
  "customer": {
    "id": 5,
    "reference": "cust_A6",
    "reference2": null,
    "name": "Marie's Jewelry",
    "href": "/api/v1.0/customers/5"
  },
  "currency": "EUR",
  "exchangeRate": 1,
  "employeeReference": "emp-04",
  "user": {
    "id": 4,
    "reference": "emp-04",
    "href": "/api/v1.0/users/4"
  },
  "billingCountry": null,
  "billingCity": null,
  "billingPostalCode": null,
  "billingAddress": null,
  "deliveryStatus": "DELIVERED",
  "deliveryDate": "2014-12-20T23:00:00Z",
  "deliveryComment": "Delivered on 20/12/2014",
  "deliveryCountry": "FR",
  "deliveryCity": "Paris",
  "deliveryPostalCode": null,
  "deliveryAddress": null,
  "orderLines": [
    {
      "id": 5,
      "href": "/api/v1.0/orderDetails/5"
    }
  ],
  "pdfUrl": "https://BASE_URL/entity1-1450169988465/orderPDF/4_marie_order_2014_12_20.pdf",
  "organization": "entity1",
  "dateCreated": "2014-12-20T23:00:00Z",
  "lastUpdated": "2015-08-16T23:00:00Z",
  "deliveredBy": {
        "id": 5,
        "reference": "emp-06",
        "href": "/api/v1.0/users/5"
   },
   "desiredDeliveryDate" : "2015-08-16T23:00:00Z",
   "deliveredOn" : "2015-05-18T21:00:00Z",
   "assignmentDate" : "2015-03-21T23:00:00Z"
}

Failure Output

Failure case:response.status = 400

{
  "error": "missing_param",
  "error_description": "advanceAmount parameter is missing"
}
{
  "error": "unsupported_file_type",
  "error_description": "image format not supported."
}
{
  "error": "invalid_paid_amount",
  "error_description": "The sum of amounts should be equal to the total."
}
{
  "error": "invalid_advance_amount",
  "error_description": "The sum of advance amounts can not exceed the total amount of the order."
}
Failure case:response.status = 404

{
  "error": "not_found",
  "error_description": "The order with the id 5 doesn't exist."
}
{
  "error": "not_found",
  "error_description": "The payment type with the id 8000 doesn't exist."
}