| POST | /purchase/basket | Create Basket |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Richemont.Booster2.PublicApi.Purchase.ServiceModel;
using Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels;
namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel
{
public partial class BasketItem
{
///<summary>
///Reference ID of the article/product
///</summary>
[ApiMember(Description="Reference ID of the article/product", IsRequired=true)]
public virtual string articleCode { get; set; }
///<summary>
///Desired quantity of the article
///</summary>
[ApiMember(Description="Desired quantity of the article")]
public virtual int quantity { get; set; }
///<summary>
///Strap definition
///</summary>
[ApiMember(Description="Strap definition")]
public virtual BasketStrapItem strap { get; set; }
}
public partial class BasketItemResponse
{
public BasketItemResponse()
{
errors = new List<string>{};
warnings = new List<string>{};
}
///<summary>
///Line number of the article
///</summary>
[ApiMember(Description="Line number of the article")]
public virtual int line { get; set; }
///<summary>
///Reference ID of the article/product
///</summary>
[ApiMember(Description="Reference ID of the article/product")]
public virtual string articleCode { get; set; }
///<summary>
///Old reference ID of the article/product
///</summary>
[ApiMember(Description="Old reference ID of the article/product")]
public virtual string oldArticleCode { get; set; }
///<summary>
///Quantity of the article
///</summary>
[ApiMember(Description="Quantity of the article")]
public virtual int quantity { get; set; }
///<summary>
///Delivery date of the article
///</summary>
[ApiMember(Description="Delivery date of the article")]
public virtual DateTime deliveryDate { get; set; }
///<summary>
///Strap definition
///</summary>
[ApiMember(Description="Strap definition")]
public virtual BasketStrapItem strap { get; set; }
///<summary>
///Errors for the article
///</summary>
[ApiMember(Description="Errors for the article")]
public virtual List<string> errors { get; set; }
///<summary>
///Warnings for the article
///</summary>
[ApiMember(Description="Warnings for the article")]
public virtual List<string> warnings { get; set; }
}
public partial class CreateBasket
{
public CreateBasket()
{
orderItems = new List<BasketItem>{};
}
///<summary>
///Brand Trigram of the intended order
///</summary>
[ApiMember(Description="Brand Trigram of the intended order", IsRequired=true)]
public virtual string brand { get; set; }
///<summary>
///Pos Code for the intended order e.g. ES03-10415-01
///</summary>
[ApiMember(Description="Pos Code for the intended order e.g. ES03-10415-01", IsRequired=true)]
public virtual string posCode { get; set; }
///<summary>
///Customer Reference
///</summary>
[ApiMember(Description="Customer Reference", IsRequired=true)]
public virtual string customerReference { get; set; }
///<summary>
///Additional Notes regarding the order
///</summary>
[ApiMember(Description="Additional Notes regarding the order", IsRequired=true)]
public virtual string notes { get; set; }
///<summary>
///List of Articles to be added in the basket
///</summary>
[ApiMember(Description="List of Articles to be added in the basket")]
public virtual List<BasketItem> orderItems { get; set; }
///<summary>
///Brand Context ID
///</summary>
[ApiMember(Description="Brand Context ID")]
public virtual string boosterContextId { get; set; }
}
public partial class CreateBasketResponse
{
public CreateBasketResponse()
{
validationResults = new List<BasketItemResponse>{};
}
///<summary>
///ID of the newly created Purchase Order / Basket
///</summary>
[ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true)]
public virtual int purchaseOrderId { get; set; }
///<summary>
///Validation results of each basket item
///</summary>
[ApiMember(Description="Validation results of each basket item")]
public virtual List<BasketItemResponse> validationResults { get; set; }
}
}
namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels
{
public partial class BasketStrapItem
{
///<summary>
///Article reference
///</summary>
[ApiMember(Description="Article reference")]
public virtual string speakingArticleCode { get; set; }
///<summary>
///Buckle type Description
///</summary>
[ApiMember(Description="Buckle type Description")]
public virtual string buckleTypeDescription { get; set; }
///<summary>
///Buckle type
///</summary>
[ApiMember(Description="Buckle type")]
public virtual string buckleTypeCode { get; set; }
///<summary>
///watch 6 Length
///</summary>
[ApiMember(Description="watch 6 Length")]
public virtual int? watch6Length { get; set; }
///<summary>
///watch 12 Length
///</summary>
[ApiMember(Description="watch 12 Length")]
public virtual int? watch12Length { get; set; }
///<summary>
///Article Material Code
///</summary>
[ApiMember(Description="Article Material Code")]
public virtual string materialCode { get; set; }
///<summary>
///Article Material Description
///</summary>
[ApiMember(Description="Article Material Description")]
public virtual string materialDescription { get; set; }
///<summary>
///Article Color Code
///</summary>
[ApiMember(Description="Article Color Code")]
public virtual string colorCode { get; set; }
///<summary>
///Article Color Description
///</summary>
[ApiMember(Description="Article Color Description")]
public virtual string colorDescription { get; set; }
///<summary>
///Buckle Witdh
///</summary>
[ApiMember(Description="Buckle Witdh")]
public virtual string buckleWidth { get; set; }
///<summary>
///Article Lining Code
///</summary>
[ApiMember(Description="Article Lining Code")]
public virtual string liningCode { get; set; }
///<summary>
///Article Lining Description
///</summary>
[ApiMember(Description="Article Lining Description")]
public virtual string liningDescription { get; set; }
///<summary>
///Article Stitching Code
///</summary>
[ApiMember(Description="Article Stitching Code")]
public virtual string stitchingCode { get; set; }
///<summary>
///Article Stitching Description
///</summary>
[ApiMember(Description="Article Stitching Description")]
public virtual string stitchingDescription { get; set; }
///<summary>
///Article Edge Code
///</summary>
[ApiMember(Description="Article Edge Code")]
public virtual string edgeCode { get; set; }
///<summary>
///Article Edge Description
///</summary>
[ApiMember(Description="Article Edge Description")]
public virtual string edgeDescription { get; set; }
///<summary>
///Article Padding Code
///</summary>
[ApiMember(Description="Article Padding Code")]
public virtual string paddingCode { get; set; }
///<summary>
///Article Padding Description
///</summary>
[ApiMember(Description="Article Padding Description")]
public virtual string paddingDescription { get; set; }
///<summary>
///Article Speciality Code
///</summary>
[ApiMember(Description="Article Speciality Code")]
public virtual string specialtyCode { get; set; }
///<summary>
///Article Speciality Description
///</summary>
[ApiMember(Description="Article Speciality Description")]
public virtual string specialtyDescription { get; set; }
///<summary>
///Nuancier Code
///</summary>
[ApiMember(Description="Nuancier Code")]
public virtual string nuancierCode { get; set; }
///<summary>
///Strap Vip Order
///</summary>
[ApiMember(Description="Strap Vip Order")]
public virtual bool? isStrapVipOrder { get; set; }
}
}
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 /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
]
}
]
}