| POST | /stock/{brand}/export | Export Stock Data |
|---|
"use strict";
export class StockRequest {
/** @param {{brand?:string,posCodes?:string[],articleCodes?:string[],includeExtraInfo?:boolean,clusterIds?:string[],includeConsignmentNotAuthorizedPOS?:boolean,includeRSP?:boolean,dateFrom?:string,dateTo?:string,type?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Brand */
brand;
/**
* @type {string[]}
* @description POS Legacy */
posCodes;
/**
* @type {string[]}
* @description Article Codes */
articleCodes;
/**
* @type {boolean}
* @description Include Extra Info */
includeExtraInfo;
/**
* @type {string[]}
* @description Cluster Id */
clusterIds;
/**
* @type {boolean}
* @description Include Consignment NotAuthorized POS */
includeConsignmentNotAuthorizedPOS;
/**
* @type {boolean}
* @description Include Retail Sales Price in the Output, by default: false */
includeRSP;
/**
* @type {?string}
* @description In Stock Since date from */
dateFrom;
/**
* @type {?string}
* @description In Stock Since date to */
dateTo;
/**
* @type {string}
* @description Item type, 'standard' OR 'consigned'. By default, all are coming */
type;
}
export class ExportStockResponse {
/** @param {{asyncTaskId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Unique Identifier of the Export Request created */
asyncTaskId;
}
export class ProductCategory {
/** @param {{brandCategoryId?:string,grandCategoryId?:string,masterCategoryId?:string,categoryId?:string,subCategoryId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Brand Category ID */
brandCategoryId;
/**
* @type {string}
* @description Grand Category ID */
grandCategoryId;
/**
* @type {string}
* @description Master Category ID */
masterCategoryId;
/**
* @type {string}
* @description Category ID */
categoryId;
/**
* @type {string}
* @description Sub Category ID */
subCategoryId;
}
export class ExportStock extends StockRequest {
/** @param {{productCategories?:ProductCategory[],downloadRequestId?:string,brand?:string,posCodes?:string[],articleCodes?:string[],includeExtraInfo?:boolean,clusterIds?:string[],includeConsignmentNotAuthorizedPOS?:boolean,includeRSP?:boolean,dateFrom?:string,dateTo?:string,type?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {ProductCategory[]}
* @description Product Categories */
productCategories;
/**
* @type {string}
* @description Export Request ID of the API Consumers */
downloadRequestId;
}
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 /stock/{brand}/export HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
productCategories:
[
{
brandCategoryId: String,
grandCategoryId: String,
masterCategoryId: String,
categoryId: String,
subCategoryId: String
}
],
downloadRequestId: String,
brand: String,
posCodes:
[
String
],
articleCodes:
[
String
],
includeExtraInfo: False,
clusterIds:
[
String
],
includeConsignmentNotAuthorizedPOS: False,
includeRSP: False,
dateFrom: 0001-01-01,
dateTo: 0001-01-01,
type: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
asyncTaskId: 00000000000000000000000000000000
}