| POST | /purchase/basket | Create Basket |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class CreateBasket
{
/**
* Brand Trigram of the intended order
*/
@ApiMember(Description="Brand Trigram of the intended order", IsRequired=true)
var brand:String? = null
/**
* Pos Code for the intended order e.g. ES03-10415-01
*/
@ApiMember(Description="Pos Code for the intended order e.g. ES03-10415-01", IsRequired=true)
var posCode:String? = null
/**
* Customer Reference
*/
@ApiMember(Description="Customer Reference", IsRequired=true)
var customerReference:String? = null
/**
* Additional Notes regarding the order
*/
@ApiMember(Description="Additional Notes regarding the order", IsRequired=true)
var notes:String? = null
/**
* List of Articles to be added in the basket
*/
@ApiMember(Description="List of Articles to be added in the basket")
var orderItems:ArrayList<BasketItem> = ArrayList<BasketItem>()
/**
* Brand Context ID
*/
@ApiMember(Description="Brand Context ID")
var boosterContextId:String? = null
}
open class BasketItem
{
/**
* Reference ID of the article/product
*/
@ApiMember(Description="Reference ID of the article/product", IsRequired=true)
var articleCode:String? = null
/**
* Desired quantity of the article
*/
@ApiMember(Description="Desired quantity of the article")
var quantity:Int? = null
/**
* Strap definition
*/
@ApiMember(Description="Strap definition")
var strap:BasketStrapItem? = null
}
open class BasketStrapItem
{
/**
* Article reference
*/
@ApiMember(Description="Article reference")
var speakingArticleCode:String? = null
/**
* Buckle type Description
*/
@ApiMember(Description="Buckle type Description")
var buckleTypeDescription:String? = null
/**
* Buckle type
*/
@ApiMember(Description="Buckle type")
var buckleTypeCode:String? = null
/**
* watch 6 Length
*/
@ApiMember(Description="watch 6 Length")
var watch6Length:Int? = null
/**
* watch 12 Length
*/
@ApiMember(Description="watch 12 Length")
var watch12Length:Int? = null
/**
* Article Material Code
*/
@ApiMember(Description="Article Material Code")
var materialCode:String? = null
/**
* Article Material Description
*/
@ApiMember(Description="Article Material Description")
var materialDescription:String? = null
/**
* Article Color Code
*/
@ApiMember(Description="Article Color Code")
var colorCode:String? = null
/**
* Article Color Description
*/
@ApiMember(Description="Article Color Description")
var colorDescription:String? = null
/**
* Buckle Witdh
*/
@ApiMember(Description="Buckle Witdh")
var buckleWidth:String? = null
/**
* Article Lining Code
*/
@ApiMember(Description="Article Lining Code")
var liningCode:String? = null
/**
* Article Lining Description
*/
@ApiMember(Description="Article Lining Description")
var liningDescription:String? = null
/**
* Article Stitching Code
*/
@ApiMember(Description="Article Stitching Code")
var stitchingCode:String? = null
/**
* Article Stitching Description
*/
@ApiMember(Description="Article Stitching Description")
var stitchingDescription:String? = null
/**
* Article Edge Code
*/
@ApiMember(Description="Article Edge Code")
var edgeCode:String? = null
/**
* Article Edge Description
*/
@ApiMember(Description="Article Edge Description")
var edgeDescription:String? = null
/**
* Article Padding Code
*/
@ApiMember(Description="Article Padding Code")
var paddingCode:String? = null
/**
* Article Padding Description
*/
@ApiMember(Description="Article Padding Description")
var paddingDescription:String? = null
/**
* Article Speciality Code
*/
@ApiMember(Description="Article Speciality Code")
var specialtyCode:String? = null
/**
* Article Speciality Description
*/
@ApiMember(Description="Article Speciality Description")
var specialtyDescription:String? = null
/**
* Nuancier Code
*/
@ApiMember(Description="Nuancier Code")
var nuancierCode:String? = null
/**
* Strap Vip Order
*/
@ApiMember(Description="Strap Vip Order")
var isStrapVipOrder:Boolean? = null
}
open class CreateBasketResponse
{
/**
* ID of the newly created Purchase Order / Basket
*/
@ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true)
var purchaseOrderId:Int? = null
/**
* Validation results of each basket item
*/
@ApiMember(Description="Validation results of each basket item")
var validationResults:ArrayList<BasketItemResponse> = ArrayList<BasketItemResponse>()
}
open class BasketItemResponse
{
/**
* Line number of the article
*/
@ApiMember(Description="Line number of the article")
var line:Int? = null
/**
* Reference ID of the article/product
*/
@ApiMember(Description="Reference ID of the article/product")
var articleCode:String? = null
/**
* Old reference ID of the article/product
*/
@ApiMember(Description="Old reference ID of the article/product")
var oldArticleCode:String? = null
/**
* Quantity of the article
*/
@ApiMember(Description="Quantity of the article")
var quantity:Int? = null
/**
* Delivery date of the article
*/
@ApiMember(Description="Delivery date of the article")
var deliveryDate:Date? = null
/**
* Strap definition
*/
@ApiMember(Description="Strap definition")
var strap:BasketStrapItem? = null
/**
* Errors for the article
*/
@ApiMember(Description="Errors for the article")
var errors:ArrayList<String> = ArrayList<String>()
/**
* Warnings for the article
*/
@ApiMember(Description="Warnings for the article")
var warnings:ArrayList<String> = ArrayList<String>()
}
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 /purchase/basket HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
brand: String,
posCode: String,
customerReference: String,
notes: String,
orderItems:
[
{
articleCode: String,
quantity: 0,
strap:
{
speakingArticleCode: String,
buckleTypeDescription: String,
buckleTypeCode: String,
watch6Length: 0,
watch12Length: 0,
materialCode: String,
materialDescription: String,
colorCode: String,
colorDescription: String,
buckleWidth: String,
liningCode: String,
liningDescription: String,
stitchingCode: String,
stitchingDescription: String,
edgeCode: String,
edgeDescription: String,
paddingCode: String,
paddingDescription: String,
specialtyCode: String,
specialtyDescription: String,
nuancierCode: String,
isStrapVipOrder: False
}
}
],
boosterContextId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
purchaseOrderId: 0,
validationResults:
[
{
line: 0,
articleCode: String,
oldArticleCode: String,
quantity: 0,
deliveryDate: 0001-01-01,
strap:
{
speakingArticleCode: String,
buckleTypeDescription: String,
buckleTypeCode: String,
watch6Length: 0,
watch12Length: 0,
materialCode: String,
materialDescription: String,
colorCode: String,
colorDescription: String,
buckleWidth: String,
liningCode: String,
liningDescription: String,
stitchingCode: String,
stitchingDescription: String,
edgeCode: String,
edgeDescription: String,
paddingCode: String,
paddingDescription: String,
specialtyCode: String,
specialtyDescription: String,
nuancierCode: String,
isStrapVipOrder: False
},
errors:
[
String
],
warnings:
[
String
]
}
]
}