Richemont.Booster2.PublicApi

<back to all web services

CreateBasket

Requires Authentication
The following routes are available for this service:
POST/purchase/basketCreate Basket
namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type BasketStrapItem() = 
        ///<summary>
        ///Article reference
        ///</summary>
        [<ApiMember(Description="Article reference")>]
        member val speakingArticleCode:String = null with get,set

        ///<summary>
        ///Buckle type Description
        ///</summary>
        [<ApiMember(Description="Buckle type Description")>]
        member val buckleTypeDescription:String = null with get,set

        ///<summary>
        ///Buckle type
        ///</summary>
        [<ApiMember(Description="Buckle type")>]
        member val buckleTypeCode:String = null with get,set

        ///<summary>
        ///watch 6 Length
        ///</summary>
        [<ApiMember(Description="watch 6 Length")>]
        member val watch6Length:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///watch 12 Length
        ///</summary>
        [<ApiMember(Description="watch 12 Length")>]
        member val watch12Length:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Article Material Code
        ///</summary>
        [<ApiMember(Description="Article Material Code")>]
        member val materialCode:String = null with get,set

        ///<summary>
        ///Article Material Description
        ///</summary>
        [<ApiMember(Description="Article Material Description")>]
        member val materialDescription:String = null with get,set

        ///<summary>
        ///Article Color Code
        ///</summary>
        [<ApiMember(Description="Article Color Code")>]
        member val colorCode:String = null with get,set

        ///<summary>
        ///Article Color Description
        ///</summary>
        [<ApiMember(Description="Article Color Description")>]
        member val colorDescription:String = null with get,set

        ///<summary>
        ///Buckle Witdh
        ///</summary>
        [<ApiMember(Description="Buckle Witdh")>]
        member val buckleWidth:String = null with get,set

        ///<summary>
        ///Article Lining Code
        ///</summary>
        [<ApiMember(Description="Article Lining Code")>]
        member val liningCode:String = null with get,set

        ///<summary>
        ///Article Lining Description
        ///</summary>
        [<ApiMember(Description="Article Lining Description")>]
        member val liningDescription:String = null with get,set

        ///<summary>
        ///Article Stitching Code
        ///</summary>
        [<ApiMember(Description="Article Stitching Code")>]
        member val stitchingCode:String = null with get,set

        ///<summary>
        ///Article Stitching Description
        ///</summary>
        [<ApiMember(Description="Article Stitching Description")>]
        member val stitchingDescription:String = null with get,set

        ///<summary>
        ///Article Edge Code
        ///</summary>
        [<ApiMember(Description="Article Edge Code")>]
        member val edgeCode:String = null with get,set

        ///<summary>
        ///Article Edge Description
        ///</summary>
        [<ApiMember(Description="Article Edge Description")>]
        member val edgeDescription:String = null with get,set

        ///<summary>
        ///Article Padding Code
        ///</summary>
        [<ApiMember(Description="Article Padding Code")>]
        member val paddingCode:String = null with get,set

        ///<summary>
        ///Article Padding Description
        ///</summary>
        [<ApiMember(Description="Article Padding Description")>]
        member val paddingDescription:String = null with get,set

        ///<summary>
        ///Article Speciality Code
        ///</summary>
        [<ApiMember(Description="Article Speciality Code")>]
        member val specialtyCode:String = null with get,set

        ///<summary>
        ///Article Speciality Description
        ///</summary>
        [<ApiMember(Description="Article Speciality Description")>]
        member val specialtyDescription:String = null with get,set

        ///<summary>
        ///Nuancier Code
        ///</summary>
        [<ApiMember(Description="Nuancier Code")>]
        member val nuancierCode:String = null with get,set

        ///<summary>
        ///Strap Vip Order
        ///</summary>
        [<ApiMember(Description="Strap Vip Order")>]
        member val isStrapVipOrder:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type BasketItemResponse() = 
        ///<summary>
        ///Line number of the article
        ///</summary>
        [<ApiMember(Description="Line number of the article")>]
        member val line:Int32 = new Int32() with get,set

        ///<summary>
        ///Reference ID of the article/product
        ///</summary>
        [<ApiMember(Description="Reference ID of the article/product")>]
        member val articleCode:String = null with get,set

        ///<summary>
        ///Old reference ID of the article/product
        ///</summary>
        [<ApiMember(Description="Old reference ID of the article/product")>]
        member val oldArticleCode:String = null with get,set

        ///<summary>
        ///Quantity of the article
        ///</summary>
        [<ApiMember(Description="Quantity of the article")>]
        member val quantity:Int32 = new Int32() with get,set

        ///<summary>
        ///Delivery date of the article
        ///</summary>
        [<ApiMember(Description="Delivery date of the article")>]
        member val deliveryDate:DateTime = new DateTime() with get,set

        ///<summary>
        ///Strap definition
        ///</summary>
        [<ApiMember(Description="Strap definition")>]
        member val strap:BasketStrapItem = null with get,set

        ///<summary>
        ///Errors for the article
        ///</summary>
        [<ApiMember(Description="Errors for the article")>]
        member val errors:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Warnings for the article
        ///</summary>
        [<ApiMember(Description="Warnings for the article")>]
        member val warnings:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type CreateBasketResponse() = 
        ///<summary>
        ///ID of the newly created Purchase Order / Basket
        ///</summary>
        [<ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true)>]
        member val purchaseOrderId:Int32 = new Int32() with get,set

        ///<summary>
        ///Validation results of each basket item
        ///</summary>
        [<ApiMember(Description="Validation results of each basket item")>]
        member val validationResults:ResizeArray<BasketItemResponse> = new ResizeArray<BasketItemResponse>() with get,set

    [<AllowNullLiteral>]
    type BasketItem() = 
        ///<summary>
        ///Reference ID of the article/product
        ///</summary>
        [<ApiMember(Description="Reference ID of the article/product", IsRequired=true)>]
        member val articleCode:String = null with get,set

        ///<summary>
        ///Desired quantity of the article
        ///</summary>
        [<ApiMember(Description="Desired quantity of the article")>]
        member val quantity:Int32 = new Int32() with get,set

        ///<summary>
        ///Strap definition
        ///</summary>
        [<ApiMember(Description="Strap definition")>]
        member val strap:BasketStrapItem = null with get,set

    [<AllowNullLiteral>]
    type CreateBasket() = 
        ///<summary>
        ///Brand Trigram of the intended order
        ///</summary>
        [<ApiMember(Description="Brand Trigram of the intended order", IsRequired=true)>]
        member val brand:String = null with 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)>]
        member val posCode:String = null with get,set

        ///<summary>
        ///Customer Reference
        ///</summary>
        [<ApiMember(Description="Customer Reference", IsRequired=true)>]
        member val customerReference:String = null with get,set

        ///<summary>
        ///Additional Notes regarding the order
        ///</summary>
        [<ApiMember(Description="Additional Notes regarding the order", IsRequired=true)>]
        member val notes:String = null with get,set

        ///<summary>
        ///List of Articles to be added in the basket
        ///</summary>
        [<ApiMember(Description="List of Articles to be added in the basket")>]
        member val orderItems:ResizeArray<BasketItem> = new ResizeArray<BasketItem>() with get,set

        ///<summary>
        ///Brand Context ID
        ///</summary>
        [<ApiMember(Description="Brand Context ID")>]
        member val boosterContextId:String = null with get,set

F# CreateBasket DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
Content-Length: length

{"purchaseOrderId":0,"validationResults":[{"line":0,"articleCode":"String","oldArticleCode":"String","quantity":0,"deliveryDate":"\/Date(-62135596800000-0000)\/","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"]}]}