| POST | /purchase/basket | Create Basket |
|---|
import Foundation
import ServiceStack
public class CreateBasket : Codable
{
/**
* Brand Trigram of the intended order
*/
// @ApiMember(Description="Brand Trigram of the intended order", IsRequired=true)
public var brand:String
/**
* 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 var posCode:String
/**
* Customer Reference
*/
// @ApiMember(Description="Customer Reference", IsRequired=true)
public var customerReference:String
/**
* Additional Notes regarding the order
*/
// @ApiMember(Description="Additional Notes regarding the order", IsRequired=true)
public var notes:String
/**
* List of Articles to be added in the basket
*/
// @ApiMember(Description="List of Articles to be added in the basket")
public var orderItems:[BasketItem] = []
/**
* Brand Context ID
*/
// @ApiMember(Description="Brand Context ID")
public var boosterContextId:String
required public init(){}
}
public class BasketItem : Codable
{
/**
* Reference ID of the article/product
*/
// @ApiMember(Description="Reference ID of the article/product", IsRequired=true)
public var articleCode:String
/**
* Desired quantity of the article
*/
// @ApiMember(Description="Desired quantity of the article")
public var quantity:Int
/**
* Strap definition
*/
// @ApiMember(Description="Strap definition")
public var strap:BasketStrapItem
required public init(){}
}
public class BasketStrapItem : Codable
{
/**
* Article reference
*/
// @ApiMember(Description="Article reference")
public var speakingArticleCode:String
/**
* Buckle type Description
*/
// @ApiMember(Description="Buckle type Description")
public var buckleTypeDescription:String
/**
* Buckle type
*/
// @ApiMember(Description="Buckle type")
public var buckleTypeCode:String
/**
* watch 6 Length
*/
// @ApiMember(Description="watch 6 Length")
public var watch6Length:Int?
/**
* watch 12 Length
*/
// @ApiMember(Description="watch 12 Length")
public var watch12Length:Int?
/**
* Article Material Code
*/
// @ApiMember(Description="Article Material Code")
public var materialCode:String
/**
* Article Material Description
*/
// @ApiMember(Description="Article Material Description")
public var materialDescription:String
/**
* Article Color Code
*/
// @ApiMember(Description="Article Color Code")
public var colorCode:String
/**
* Article Color Description
*/
// @ApiMember(Description="Article Color Description")
public var colorDescription:String
/**
* Buckle Witdh
*/
// @ApiMember(Description="Buckle Witdh")
public var buckleWidth:String
/**
* Article Lining Code
*/
// @ApiMember(Description="Article Lining Code")
public var liningCode:String
/**
* Article Lining Description
*/
// @ApiMember(Description="Article Lining Description")
public var liningDescription:String
/**
* Article Stitching Code
*/
// @ApiMember(Description="Article Stitching Code")
public var stitchingCode:String
/**
* Article Stitching Description
*/
// @ApiMember(Description="Article Stitching Description")
public var stitchingDescription:String
/**
* Article Edge Code
*/
// @ApiMember(Description="Article Edge Code")
public var edgeCode:String
/**
* Article Edge Description
*/
// @ApiMember(Description="Article Edge Description")
public var edgeDescription:String
/**
* Article Padding Code
*/
// @ApiMember(Description="Article Padding Code")
public var paddingCode:String
/**
* Article Padding Description
*/
// @ApiMember(Description="Article Padding Description")
public var paddingDescription:String
/**
* Article Speciality Code
*/
// @ApiMember(Description="Article Speciality Code")
public var specialtyCode:String
/**
* Article Speciality Description
*/
// @ApiMember(Description="Article Speciality Description")
public var specialtyDescription:String
/**
* Nuancier Code
*/
// @ApiMember(Description="Nuancier Code")
public var nuancierCode:String
/**
* Strap Vip Order
*/
// @ApiMember(Description="Strap Vip Order")
public var isStrapVipOrder:Bool?
required public init(){}
}
public class CreateBasketResponse : Codable
{
/**
* ID of the newly created Purchase Order / Basket
*/
// @ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true)
public var purchaseOrderId:Int
/**
* Validation results of each basket item
*/
// @ApiMember(Description="Validation results of each basket item")
public var validationResults:[BasketItemResponse] = []
required public init(){}
}
public class BasketItemResponse : Codable
{
/**
* Line number of the article
*/
// @ApiMember(Description="Line number of the article")
public var line:Int
/**
* Reference ID of the article/product
*/
// @ApiMember(Description="Reference ID of the article/product")
public var articleCode:String
/**
* Old reference ID of the article/product
*/
// @ApiMember(Description="Old reference ID of the article/product")
public var oldArticleCode:String
/**
* Quantity of the article
*/
// @ApiMember(Description="Quantity of the article")
public var quantity:Int
/**
* Delivery date of the article
*/
// @ApiMember(Description="Delivery date of the article")
public var deliveryDate:Date
/**
* Strap definition
*/
// @ApiMember(Description="Strap definition")
public var strap:BasketStrapItem
/**
* Errors for the article
*/
// @ApiMember(Description="Errors for the article")
public var errors:[String] = []
/**
* Warnings for the article
*/
// @ApiMember(Description="Warnings for the article")
public var warnings:[String] = []
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<CreateBasket xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel">
<boosterContextId>String</boosterContextId>
<brand>String</brand>
<customerReference>String</customerReference>
<notes>String</notes>
<orderItems>
<BasketItem>
<articleCode>String</articleCode>
<quantity>0</quantity>
<strap xmlns:d4p1="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels">
<d4p1:buckleTypeCode>String</d4p1:buckleTypeCode>
<d4p1:buckleTypeDescription>String</d4p1:buckleTypeDescription>
<d4p1:buckleWidth>String</d4p1:buckleWidth>
<d4p1:colorCode>String</d4p1:colorCode>
<d4p1:colorDescription>String</d4p1:colorDescription>
<d4p1:edgeCode>String</d4p1:edgeCode>
<d4p1:edgeDescription>String</d4p1:edgeDescription>
<d4p1:isStrapVipOrder>false</d4p1:isStrapVipOrder>
<d4p1:liningCode>String</d4p1:liningCode>
<d4p1:liningDescription>String</d4p1:liningDescription>
<d4p1:materialCode>String</d4p1:materialCode>
<d4p1:materialDescription>String</d4p1:materialDescription>
<d4p1:nuancierCode>String</d4p1:nuancierCode>
<d4p1:paddingCode>String</d4p1:paddingCode>
<d4p1:paddingDescription>String</d4p1:paddingDescription>
<d4p1:speakingArticleCode>String</d4p1:speakingArticleCode>
<d4p1:specialtyCode>String</d4p1:specialtyCode>
<d4p1:specialtyDescription>String</d4p1:specialtyDescription>
<d4p1:stitchingCode>String</d4p1:stitchingCode>
<d4p1:stitchingDescription>String</d4p1:stitchingDescription>
<d4p1:watch12Length>0</d4p1:watch12Length>
<d4p1:watch6Length>0</d4p1:watch6Length>
</strap>
</BasketItem>
</orderItems>
<posCode>String</posCode>
</CreateBasket>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CreateBasketResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel">
<purchaseOrderId>0</purchaseOrderId>
<validationResults>
<BasketItemResponse>
<articleCode>String</articleCode>
<deliveryDate>0001-01-01T00:00:00</deliveryDate>
<errors xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</errors>
<line>0</line>
<oldArticleCode>String</oldArticleCode>
<quantity>0</quantity>
<strap xmlns:d4p1="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels">
<d4p1:buckleTypeCode>String</d4p1:buckleTypeCode>
<d4p1:buckleTypeDescription>String</d4p1:buckleTypeDescription>
<d4p1:buckleWidth>String</d4p1:buckleWidth>
<d4p1:colorCode>String</d4p1:colorCode>
<d4p1:colorDescription>String</d4p1:colorDescription>
<d4p1:edgeCode>String</d4p1:edgeCode>
<d4p1:edgeDescription>String</d4p1:edgeDescription>
<d4p1:isStrapVipOrder>false</d4p1:isStrapVipOrder>
<d4p1:liningCode>String</d4p1:liningCode>
<d4p1:liningDescription>String</d4p1:liningDescription>
<d4p1:materialCode>String</d4p1:materialCode>
<d4p1:materialDescription>String</d4p1:materialDescription>
<d4p1:nuancierCode>String</d4p1:nuancierCode>
<d4p1:paddingCode>String</d4p1:paddingCode>
<d4p1:paddingDescription>String</d4p1:paddingDescription>
<d4p1:speakingArticleCode>String</d4p1:speakingArticleCode>
<d4p1:specialtyCode>String</d4p1:specialtyCode>
<d4p1:specialtyDescription>String</d4p1:specialtyDescription>
<d4p1:stitchingCode>String</d4p1:stitchingCode>
<d4p1:stitchingDescription>String</d4p1:stitchingDescription>
<d4p1:watch12Length>0</d4p1:watch12Length>
<d4p1:watch6Length>0</d4p1:watch6Length>
</strap>
<warnings xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</warnings>
</BasketItemResponse>
</validationResults>
</CreateBasketResponse>