| POST | /invoice/{brand}/export | Export Invoice Data | Create a invoice in a POS you are authorised for |
|---|
"use strict";
export class ExportInvoiceResponse {
/** @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 ExportInvoice {
/** @param {{brand?:string,posCodes?:string[],dateTo?:string,dateFrom?:string,reasonCodes?:string[],productCategories?:ProductCategory[],downloadRequestId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Brand Trigram, e.g. CAR, IWC */
brand;
/**
* @type {string[]}
* @description Pos Legacy IDs / Codes */
posCodes;
/**
* @type {?string}
* @description Date To */
dateTo;
/**
* @type {?string}
* @description Date From */
dateFrom;
/**
* @type {string[]}
* @description Reason Code e.g. Y00, Y06 */
reasonCodes;
/**
* @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 /invoice/{brand}/export HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
brand: String,
posCodes:
[
String
],
dateTo: 0001-01-01,
dateFrom: 0001-01-01,
reasonCodes:
[
String
],
productCategories:
[
{
brandCategoryId: String,
grandCategoryId: String,
masterCategoryId: String,
categoryId: String,
subCategoryId: String
}
],
downloadRequestId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
asyncTaskId: 00000000000000000000000000000000
}