Richemont.Booster2.PublicApi

<back to all web services

CreateBasket

Requires Authentication
The following routes are available for this service:
POST/purchase/basketCreate Basket

export class BasketStrapItem
{
    /** @description Article reference */
    // @ApiMember(Description="Article reference")
    public speakingArticleCode: string;

    /** @description Buckle type Description */
    // @ApiMember(Description="Buckle type Description")
    public buckleTypeDescription: string;

    /** @description Buckle type */
    // @ApiMember(Description="Buckle type")
    public buckleTypeCode: string;

    /** @description watch 6 Length */
    // @ApiMember(Description="watch 6 Length")
    public watch6Length?: number;

    /** @description watch 12 Length */
    // @ApiMember(Description="watch 12 Length")
    public watch12Length?: number;

    /** @description Article Material Code */
    // @ApiMember(Description="Article Material Code")
    public materialCode: string;

    /** @description Article Material Description */
    // @ApiMember(Description="Article Material Description")
    public materialDescription: string;

    /** @description Article Color Code */
    // @ApiMember(Description="Article Color Code")
    public colorCode: string;

    /** @description Article Color Description */
    // @ApiMember(Description="Article Color Description")
    public colorDescription: string;

    /** @description Buckle Witdh */
    // @ApiMember(Description="Buckle Witdh")
    public buckleWidth: string;

    /** @description Article Lining Code */
    // @ApiMember(Description="Article Lining Code")
    public liningCode: string;

    /** @description Article Lining Description */
    // @ApiMember(Description="Article Lining Description")
    public liningDescription: string;

    /** @description Article Stitching Code */
    // @ApiMember(Description="Article Stitching Code")
    public stitchingCode: string;

    /** @description Article Stitching Description */
    // @ApiMember(Description="Article Stitching Description")
    public stitchingDescription: string;

    /** @description Article Edge Code */
    // @ApiMember(Description="Article Edge Code")
    public edgeCode: string;

    /** @description Article Edge Description */
    // @ApiMember(Description="Article Edge Description")
    public edgeDescription: string;

    /** @description Article Padding Code */
    // @ApiMember(Description="Article Padding Code")
    public paddingCode: string;

    /** @description Article Padding Description */
    // @ApiMember(Description="Article Padding Description")
    public paddingDescription: string;

    /** @description Article Speciality Code */
    // @ApiMember(Description="Article Speciality Code")
    public specialtyCode: string;

    /** @description Article Speciality Description */
    // @ApiMember(Description="Article Speciality Description")
    public specialtyDescription: string;

    /** @description Nuancier Code */
    // @ApiMember(Description="Nuancier Code")
    public nuancierCode: string;

    /** @description Strap Vip Order */
    // @ApiMember(Description="Strap Vip Order")
    public isStrapVipOrder?: boolean;

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

export class BasketItemResponse
{
    /** @description Line number of the article */
    // @ApiMember(Description="Line number of the article")
    public line: number;

    /** @description Reference ID of the article/product */
    // @ApiMember(Description="Reference ID of the article/product")
    public articleCode: string;

    /** @description Old reference ID of the article/product */
    // @ApiMember(Description="Old reference ID of the article/product")
    public oldArticleCode: string;

    /** @description Quantity of the article */
    // @ApiMember(Description="Quantity of the article")
    public quantity: number;

    /** @description Delivery date of the article */
    // @ApiMember(Description="Delivery date of the article")
    public deliveryDate: string;

    /** @description Strap definition */
    // @ApiMember(Description="Strap definition")
    public strap: BasketStrapItem;

    /** @description Errors for the article */
    // @ApiMember(Description="Errors for the article")
    public errors: string[];

    /** @description Warnings for the article */
    // @ApiMember(Description="Warnings for the article")
    public warnings: string[];

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

export class CreateBasketResponse
{
    /** @description ID of the newly created Purchase Order / Basket */
    // @ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true)
    public purchaseOrderId: number;

    /** @description Validation results of each basket item */
    // @ApiMember(Description="Validation results of each basket item")
    public validationResults: BasketItemResponse[];

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

export class BasketItem
{
    /** @description Reference ID of the article/product */
    // @ApiMember(Description="Reference ID of the article/product", IsRequired=true)
    public articleCode: string;

    /** @description Desired quantity of the article */
    // @ApiMember(Description="Desired quantity of the article")
    public quantity: number;

    /** @description Strap definition */
    // @ApiMember(Description="Strap definition")
    public strap: BasketStrapItem;

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

export class CreateBasket
{
    /** @description Brand Trigram of the intended order */
    // @ApiMember(Description="Brand Trigram of the intended order", IsRequired=true)
    public brand: string;

    /** @description Pos Code for the intended order e.g. ES03-10415-01 */
    // @ApiMember(Description="Pos Code for the intended order e.g. ES03-10415-01", IsRequired=true)
    public posCode: string;

    /** @description Customer Reference */
    // @ApiMember(Description="Customer Reference", IsRequired=true)
    public customerReference: string;

    /** @description Additional Notes regarding the order */
    // @ApiMember(Description="Additional Notes regarding the order", IsRequired=true)
    public notes: string;

    /** @description List of Articles to be added in the basket */
    // @ApiMember(Description="List of Articles to be added in the basket")
    public orderItems: BasketItem[];

    /** @description Brand Context ID */
    // @ApiMember(Description="Brand Context ID")
    public boosterContextId: string;

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

TypeScript CreateBasket 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 /purchase/basket HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	brand: String,
	posCode: String,
	customerReference: String,
	notes: String,
	orderItems: 
	[
		{
			articleCode: String,
			quantity: 0,
			strap: 
			{
				speakingArticleCode: String,
				buckleTypeDescription: String,
				buckleTypeCode: String,
				watch6Length: 0,
				watch12Length: 0,
				materialCode: String,
				materialDescription: String,
				colorCode: String,
				colorDescription: String,
				buckleWidth: String,
				liningCode: String,
				liningDescription: String,
				stitchingCode: String,
				stitchingDescription: String,
				edgeCode: String,
				edgeDescription: String,
				paddingCode: String,
				paddingDescription: String,
				specialtyCode: String,
				specialtyDescription: String,
				nuancierCode: String,
				isStrapVipOrder: False
			}
		}
	],
	boosterContextId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	purchaseOrderId: 0,
	validationResults: 
	[
		{
			line: 0,
			articleCode: String,
			oldArticleCode: String,
			quantity: 0,
			deliveryDate: 0001-01-01,
			strap: 
			{
				speakingArticleCode: String,
				buckleTypeDescription: String,
				buckleTypeCode: String,
				watch6Length: 0,
				watch12Length: 0,
				materialCode: String,
				materialDescription: String,
				colorCode: String,
				colorDescription: String,
				buckleWidth: String,
				liningCode: String,
				liningDescription: String,
				stitchingCode: String,
				stitchingDescription: String,
				edgeCode: String,
				edgeDescription: String,
				paddingCode: String,
				paddingDescription: String,
				specialtyCode: String,
				specialtyDescription: String,
				nuancierCode: String,
				isStrapVipOrder: False
			},
			errors: 
			[
				String
			],
			warnings: 
			[
				String
			]
		}
	]
}