| POST | /purchase/basket | Create Basket |
|---|
"use strict";
export class BasketStrapItem {
/** @param {{speakingArticleCode?:string,buckleTypeDescription?:string,buckleTypeCode?:string,watch6Length?:number,watch12Length?:number,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?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Article reference */
speakingArticleCode;
/**
* @type {string}
* @description Buckle type Description */
buckleTypeDescription;
/**
* @type {string}
* @description Buckle type */
buckleTypeCode;
/**
* @type {?number}
* @description watch 6 Length */
watch6Length;
/**
* @type {?number}
* @description watch 12 Length */
watch12Length;
/**
* @type {string}
* @description Article Material Code */
materialCode;
/**
* @type {string}
* @description Article Material Description */
materialDescription;
/**
* @type {string}
* @description Article Color Code */
colorCode;
/**
* @type {string}
* @description Article Color Description */
colorDescription;
/**
* @type {string}
* @description Buckle Witdh */
buckleWidth;
/**
* @type {string}
* @description Article Lining Code */
liningCode;
/**
* @type {string}
* @description Article Lining Description */
liningDescription;
/**
* @type {string}
* @description Article Stitching Code */
stitchingCode;
/**
* @type {string}
* @description Article Stitching Description */
stitchingDescription;
/**
* @type {string}
* @description Article Edge Code */
edgeCode;
/**
* @type {string}
* @description Article Edge Description */
edgeDescription;
/**
* @type {string}
* @description Article Padding Code */
paddingCode;
/**
* @type {string}
* @description Article Padding Description */
paddingDescription;
/**
* @type {string}
* @description Article Speciality Code */
specialtyCode;
/**
* @type {string}
* @description Article Speciality Description */
specialtyDescription;
/**
* @type {string}
* @description Nuancier Code */
nuancierCode;
/**
* @type {?boolean}
* @description Strap Vip Order */
isStrapVipOrder;
}
export class BasketItemResponse {
/** @param {{line?:number,articleCode?:string,oldArticleCode?:string,quantity?:number,deliveryDate?:string,strap?:BasketStrapItem,errors?:string[],warnings?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description Line number of the article */
line;
/**
* @type {string}
* @description Reference ID of the article/product */
articleCode;
/**
* @type {string}
* @description Old reference ID of the article/product */
oldArticleCode;
/**
* @type {number}
* @description Quantity of the article */
quantity;
/**
* @type {string}
* @description Delivery date of the article */
deliveryDate;
/**
* @type {BasketStrapItem}
* @description Strap definition */
strap;
/**
* @type {string[]}
* @description Errors for the article */
errors;
/**
* @type {string[]}
* @description Warnings for the article */
warnings;
}
export class CreateBasketResponse {
/** @param {{purchaseOrderId?:number,validationResults?:BasketItemResponse[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description ID of the newly created Purchase Order / Basket */
purchaseOrderId;
/**
* @type {BasketItemResponse[]}
* @description Validation results of each basket item */
validationResults;
}
export class BasketItem {
/** @param {{articleCode?:string,quantity?:number,strap?:BasketStrapItem}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Reference ID of the article/product */
articleCode;
/**
* @type {number}
* @description Desired quantity of the article */
quantity;
/**
* @type {BasketStrapItem}
* @description Strap definition */
strap;
}
export class CreateBasket {
/** @param {{brand?:string,posCode?:string,customerReference?:string,notes?:string,orderItems?:BasketItem[],boosterContextId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Brand Trigram of the intended order */
brand;
/**
* @type {string}
* @description Pos Code for the intended order e.g. ES03-10415-01 */
posCode;
/**
* @type {string}
* @description Customer Reference */
customerReference;
/**
* @type {string}
* @description Additional Notes regarding the order */
notes;
/**
* @type {BasketItem[]}
* @description List of Articles to be added in the basket */
orderItems;
/**
* @type {string}
* @description Brand Context ID */
boosterContextId;
}
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
]
}
]
}