Richemont.Booster2.PublicApi

<back to all web services

ExportStock

Requires Authentication
The following routes are available for this service:
POST/stock/{brand}/exportExport Stock Data

export class StockRequest
{
    /** @description Brand */
    // @ApiMember(Description="Brand", IsRequired=true)
    public brand: string;

    /** @description POS Legacy */
    // @ApiMember(Description="POS Legacy")
    public posCodes: string[];

    /** @description Article Codes */
    // @ApiMember(Description="Article Codes")
    public articleCodes: string[];

    /** @description Include Extra Info */
    // @ApiMember(Description="Include Extra Info")
    public includeExtraInfo: boolean;

    /** @description Cluster Id */
    // @ApiMember(Description="Cluster Id")
    public clusterIds: string[];

    /** @description Include Consignment NotAuthorized POS */
    // @ApiMember(Description="Include Consignment NotAuthorized POS")
    public includeConsignmentNotAuthorizedPOS: boolean;

    /** @description Include Retail Sales Price in the Output, by default: false */
    // @ApiMember(Description="Include Retail Sales Price in the Output, by default: false")
    public includeRSP: boolean;

    /** @description In Stock Since date from  */
    // @ApiMember(Description="In Stock Since date from ")
    public dateFrom?: string;

    /** @description In Stock Since date to */
    // @ApiMember(Description="In Stock Since date to")
    public dateTo?: string;

    /** @description Item type, 'standard' OR 'consigned'. By default, all are coming */
    // @ApiMember(Description="Item type, 'standard' OR 'consigned'. By default, all are coming")
    public type: string;

    public constructor(init?: Partial<StockRequest>) { (Object as any).assign(this, init); }
}

export class ExportStockResponse
{
    /** @description Unique Identifier of the Export Request created */
    // @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true)
    public asyncTaskId: string;

    public constructor(init?: Partial<ExportStockResponse>) { (Object as any).assign(this, init); }
}

export class ProductCategory
{
    /** @description Brand Category ID */
    // @ApiMember(Description="Brand Category ID")
    public brandCategoryId: string;

    /** @description Grand Category ID */
    // @ApiMember(Description="Grand Category ID", IsRequired=true)
    public grandCategoryId: string;

    /** @description Master Category ID */
    // @ApiMember(Description="Master Category ID")
    public masterCategoryId: string;

    /** @description Category ID */
    // @ApiMember(Description="Category ID")
    public categoryId: string;

    /** @description Sub Category ID */
    // @ApiMember(Description="Sub Category ID")
    public subCategoryId: string;

    public constructor(init?: Partial<ProductCategory>) { (Object as any).assign(this, init); }
}

export class ExportStock extends StockRequest
{
    /** @description Product Categories */
    // @ApiMember(Description="Product Categories")
    public productCategories: ProductCategory[];

    /** @description Export Request ID of the API Consumers */
    // @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true)
    public downloadRequestId: string;

    public constructor(init?: Partial<ExportStock>) { super(init); (Object as any).assign(this, init); }
}

TypeScript ExportStock DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
}