| GET | /stock/{brand}/{posCode}/{articleCode} | Get stock details |
|---|
"use strict";
export class Pos {
/** @param {{name?:string,posCode?:string,posCodeToBeDisplayed?:string,country?:string,city?:string,postalCode?:string,state?:string,street?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Name of the POS */
name;
/**
* @type {string}
* @description POS Code */
posCode;
/**
* @type {string}
* @description Pos Code To Be Displayed */
posCodeToBeDisplayed;
/**
* @type {string}
* @description Country of the POS */
country;
/**
* @type {string}
* @description City of the POS */
city;
/**
* @type {string}
* @description Postal Code */
postalCode;
/**
* @type {string}
* @description State */
state;
/**
* @type {string}
* @description Street */
street;
}
export class UnitNetAmount {
/** @param {{currencyIsoCode?:string,value?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Currency Iso Code */
currencyIsoCode;
/**
* @type {number}
* @description Value */
value;
}
export class StockPositionItem {
/** @param {{quantity?:number,serialNumber?:string,stockDate?:string,loadedOnDate?:string,type?:string,isConsignmentSellable?:boolean,unitNetAmount?:UnitNetAmount,retailSalesPrice?:UnitNetAmount}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description Quantity */
quantity;
/**
* @type {string}
* @description Serial Number */
serialNumber;
/**
* @type {string}
* @description Stock Date */
stockDate;
/**
* @type {string}
* @description Loaded On Date */
loadedOnDate;
/**
* @type {string}
* @description Type e.g. consignment or standard */
type;
/**
* @type {boolean}
* @description Is Consignment Sellable */
isConsignmentSellable;
/**
* @type {UnitNetAmount}
* @description Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase. */
unitNetAmount;
/**
* @type {UnitNetAmount}
* @description Retail Sales Price */
retailSalesPrice;
}
export class GetStockDetailResponse {
/** @param {{articleCode?:string,brand?:string,posCode?:string,currentStockQuantity?:number,sharedStockLocation?:Pos,stockPositions?:StockPositionItem[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Article code */
articleCode;
/**
* @type {string}
* @description Brand */
brand;
/**
* @type {string}
* @description Pos Code */
posCode;
/**
* @type {number}
* @description Current Stock Quantity */
currentStockQuantity;
/**
* @type {Pos}
* @description Shared Stock Location */
sharedStockLocation;
/**
* @type {StockPositionItem[]}
* @description Stock Positions */
stockPositions;
}
export class GetStockDetail {
/** @param {{brand?:string,posCode?:string,articleCode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Brand */
brand;
/**
* @type {string}
* @description POS Legacy */
posCode;
/**
* @type {string}
* @description Article Code */
articleCode;
}
JavaScript GetStockDetail DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /stock/{brand}/{posCode}/{articleCode} HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"articleCode":"String","brand":"String","posCode":"String","currentStockQuantity":0,"sharedStockLocation":{"name":"String","posCode":"String","posCodeToBeDisplayed":"String","country":"String","city":"String","postalCode":"String","state":"String","street":"String"},"stockPositions":[{"quantity":0,"serialNumber":"String","stockDate":"String","loadedOnDate":"String","type":"String","isConsignmentSellable":false,"unitNetAmount":{"currencyIsoCode":"String","value":0},"retailSalesPrice":{"currencyIsoCode":"String","value":0}}]}