| POST | /warranty | Create a Sell-Out | Create a sell-out in a POS you are authorised for |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class CreateSellOut
{
/**
* Brand Trigram, e.g. CAR, IWC; compulsory only if articleCode is not provided
*/
@ApiMember(Description="Brand Trigram, e.g. CAR, IWC; compulsory only if articleCode is not provided")
var brand:String? = null
/**
* Richemont POS code
*/
@ApiMember(Description="Richemont POS code", IsRequired=true)
var posCode:String? = null
/**
* Receipt or Invoice Number
*/
@ApiMember(Description="Receipt or Invoice Number")
var documentNumber:String? = null
/**
* Date of the Sell-out
*/
@ApiMember(Description="Date of the Sell-out", IsRequired=true)
var documentDate:Date? = null
/**
* Position Number
*/
@ApiMember(Description="Position Number")
var documentLineNumber:Int? = null
/**
* Richemont Reference Code of the item
*/
@ApiMember(Description="Richemont Reference Code of the item", IsRequired=true)
var articleCode:String? = null
/**
* Serial Number of the item
*/
@ApiMember(Description="Serial Number of the item")
var serialNumber:String? = null
/**
* Use positive for standard Sell-out and negative quantity for return
*/
@ApiMember(Description="Use positive for standard Sell-out and negative quantity for return", IsRequired=true)
var quantity:Int? = null
/**
* Sold Price
*/
@ApiMember(Description="Sold Price")
var unitPrice:BigDecimal? = null
/**
* Currency of the sold price
*/
@ApiMember(Description="Currency of the sold price")
var currencyCode:String? = null
/**
* Booster Customer Id
*/
@ApiMember(Description="Booster Customer Id")
var boosterCustomerId:Int? = null
/**
* Sale Representative Email e.g. rauf.aliyev@richemont.com
*/
@ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com")
var saleRepresentativeEmails:ArrayList<String> = ArrayList<String>()
/**
* Promoter Type ID, e.g. DAI, FIT, GRT
*/
@ApiMember(Description="Promoter Type ID, e.g. DAI, FIT, GRT")
var promoterTypeId:String? = null
/**
* Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH
*/
@ApiMember(Description="Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH")
var returnReasonId:String? = null
/**
* Sale related comments
*/
@ApiMember(Description="Sale related comments")
var comments:String? = null
/**
* Original Sale Detail Id
*/
@ApiMember(Description="Original Sale Detail Id")
var originalSaleDetailId:Int? = null
/**
* To have the piece back in stock as consignment in case of consignment sellout return
*/
@ApiMember(Description="To have the piece back in stock as consignment in case of consignment sellout return")
var consSelloutReturnInStock:Boolean? = null
}
open class CreateSellOutResponse
{
/**
* Unique Identifier of the Sell-out item created in Booster
*/
@ApiMember(Description="Unique Identifier of the Sell-out item created in Booster")
var saleDetailId:Int? = null
/**
* Unique Identifiers of the Sell-out items created in Booster if more than one
*/
@ApiMember(Description="Unique Identifiers of the Sell-out items created in Booster if more than one")
var saleDetailIds:ArrayList<Int> = ArrayList<Int>()
/**
* Unique Identifier of the Sell-out header created in Booster
*/
@ApiMember(Description="Unique Identifier of the Sell-out header created in Booster", IsRequired=true)
var saleId:Int? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /warranty HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
brand: String,
posCode: String,
documentNumber: String,
documentDate: 0001-01-01,
documentLineNumber: 0,
articleCode: String,
serialNumber: String,
quantity: 0,
unitPrice: 0,
currencyCode: String,
boosterCustomerId: 0,
saleRepresentativeEmails:
[
String
],
promoterTypeId: String,
returnReasonId: String,
comments: String,
originalSaleDetailId: 0,
consSelloutReturnInStock: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
saleDetailId: 0,
saleDetailIds:
[
0
],
saleId: 0
}