(Quick Reference) Service: Upsert a prepayment

Description: This web service is used to insert a prepayment to the database if it does not already exist, or update it.

URL:

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

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
customerIdThe numerical ID of customerLong/Stringyes 
userIdThe numerical ID of user. By default, it is set to the current connected userLong/Stringno 
total Doubleyes 
currencyISO code of configured currency. By default, it is set as the organization currency if the customer does not have currency.StringnoEUR
latitude DoubleNo12.914
longitude DoubleNo14.99
checkInDate StringNo2016-04-12T19:30:48Z
paymentDate DateYes2016-08-15T14:52:48Z
paymentTypeIdThe ID of payment typeInteger/StringNo 
desiredPaymentDateUsed when payment is by CHEQUEDateno2016-08-15
bankThe bank name. It's used when payment is by CHEQUEStringno 

Success Output

Success case: response.status=201

{
 "id": 27,
 "reference": "L-aa-1505226514088",
  "description": "",
  "total": 45,
  "paymentDate": "2017-09-12T08:25:00Z",
  "dateCreated": "2017-09-12T14:28:49Z",
  "lastUpdated": "2017-09-12T14:28:49Z",
  "status": "UNAPPLIED",
  "currency": "AUD",
  "paymentType": {
    "id": 4,
    "reference": "CASH",
    "name": "Cash",
    "href": "/valomniav2/api/v2.1/paymentTypes/4"
  },
  "bank": null,
  "chequeNumber": null,
  "desiredPaymentDate": null,
  "organization": "entity1",
  "createdBy": {
    "userId": 2,
    "reference": "emp-002",
    "href": "/valomniav2/api/v2.1/users/2"
  },
  "customer": {
    "id": 1,
    "reference": "JohnDoe",
    "reference2": "",
    "name": "John Doe",
    "href": "/valomniav2/api/v2.1/customers/1"
  }
}

Failure Output

Failure case:response.status = 400

{
  	"error": "save_failed",
  	"error_description": "Failed to save instance."
}

Failure case:response.status = 404

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

Failure case:response.status = 500

{
	"error": "server_error",
	"error_description": "Oops! Something went wrong..."
}