Richemont.Booster2.PublicApi

<back to all web services

ExportInvoice

Requires Authentication
The following routes are available for this service:
POST/invoice/{brand}/exportExport Invoice DataCreate a invoice in a POS you are authorised for

export class ExportInvoiceResponse
{
    /** @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<ExportInvoiceResponse>) { (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 ExportInvoice
{
    /** @description Brand Trigram, e.g. CAR, IWC */
    // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
    public brand: string;

    /** @description Pos Legacy IDs / Codes */
    // @ApiMember(Description="Pos Legacy IDs / Codes", IsRequired=true)
    public posCodes: string[];

    /** @description Date To */
    // @ApiMember(Description="Date To")
    public dateTo?: string;

    /** @description Date From */
    // @ApiMember(Description="Date From")
    public dateFrom?: string;

    /** @description Reason Code e.g. Y00, Y06 */
    // @ApiMember(Description="Reason Code e.g. Y00, Y06")
    public reasonCodes: string[];

    /** @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<ExportInvoice>) { (Object as any).assign(this, init); }
}

TypeScript ExportInvoice 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 /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
}