Mercedes.Agency.Orchestration.API

<back to all web services

CreateBackOrderRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/backorderCreate Back Order (Online Showroom)
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CreateBackOrderRequest : CreateBackOrderBase(), IPost
{
}

open class CreateBackOrderBase
{
    open var GssnId:String? = null
    open var AdditionalInformation:String? = null
    open var ConfigCode:String? = null
    open var Source:Source? = null
    open var TagUrl:String? = null
    open var Customer:Customer? = null
    open var CustomerCriteria:Criteria? = null
    open var AgentCriteria:V2Criteria? = null
    open var OutrightPurchase:OutrightPurchase? = null
    open var GasId:String? = null
    open var Motability:Boolean? = null
    open var MotabilityPricingId:Int? = null
    open var AssistanceProviderId:Int? = null
    open var AssistanceDetail:String? = null
    open var ConfiguratorCode:String? = null
}

enum class Source(val value:Int)
{
    OnlineShowroom(1),
    OneAdmin(2),
}

open class Customer : SalesforceCustomer()
{
    open var ProfileId:UUID? = null
    open var Preferences:Preferences? = null
}

open class SalesforceCustomer : ICustomer
{
    override var CustomerId:String? = null
    override var IsCiam:Boolean? = null
    override var CompanyName:String? = null
    override var Title:String? = null
    override var Firstname:String? = null
    override var Surname:String? = null
    override var EmailAddress:String? = null
    override var Telephone:String? = null
    override var Address:Address? = null
    override var Mode:CustomerMode? = null
}

open class Address
{
    open var Property:String? = null
    open var Street:String? = null
    open var Town:String? = null
    open var County:String? = null
    open var Locality:String? = null
    open var Postcode:String? = null
}

enum class CustomerMode(val value:Int)
{
    Private(1),
    Business(2),
    Motability(3),
}

open class Preferences
{
    open var OptinEmail:Boolean? = null
    open var OptinPost:Boolean? = null
    open var OptinSMS:Boolean? = null
    open var OptinTelephone:Boolean? = null
}

open class Criteria : CriteriaBase()
{
    open var Engine:ArrayList<String> = ArrayList<String>()
}

open class CriteriaBase : JsonVersion()
{
    open var Transmission:ArrayList<String> = ArrayList<String>()
    open var Fuel:ArrayList<String> = ArrayList<String>()
    open var Upholstery:ArrayList<String> = ArrayList<String>()
    open var Equipment:ArrayList<String> = ArrayList<String>()
    open var Line:ArrayList<String> = ArrayList<String>()
    open var BodyStyle:ArrayList<String> = ArrayList<String>()
    open var ColourGroup:ArrayList<String> = ArrayList<String>()
    open var Packages:ArrayList<String> = ArrayList<String>()
    open var Model:ArrayList<CriteriaModel> = ArrayList<CriteriaModel>()
    open var UrlReferrer:String? = null
    open var PreferredDeliveryDate:String? = null
    @ApiMember(ExcludeInSchema=true)
    open var IsNewModel:Boolean? = null

    @ApiMember(ExcludeInSchema=true)
    open var IsSmart:Boolean? = null

    @ApiMember(ExcludeInSchema=true)
    open var IsSpecialised:Boolean? = null

    @ApiMember(ExcludeInSchema=true)
    open var CriteriaDifference:CriteriaDifference? = null
}

open class JsonVersion : IJsonVersion
{
    override var Version:Int? = null
}

open class CriteriaModel
{
    open var Description:String? = null
    open var Id:Int? = null
}

open class CriteriaDifference
{
    open var Model:Boolean? = null
    open var Transmission:Boolean? = null
    open var Fuel:Boolean? = null
    open var Upholstery:Boolean? = null
    open var Equipment:Boolean? = null
    open var Line:Boolean? = null
    open var BodyStyle:Boolean? = null
    open var ColourGroup:Boolean? = null
    open var Packages:Boolean? = null
    open var Engine:Boolean? = null
    open var AdditionalInformation:Boolean? = null
    open var UrlReferrer:Boolean? = null
    open var PreferredDeliveryDate:Boolean? = null
    open var IsSmart:Boolean? = null
    open var IsSpecialised:Boolean? = null
}

open class V2Criteria : CriteriaBase()
{
    open var Engine:ArrayList<V2EngineCriteria> = ArrayList<V2EngineCriteria>()
}

open class V2EngineCriteria
{
    open var Badge:String? = null
    open var Brand:String? = null
}

open class OutrightPurchase
{
    open var IsOutrightPurchase:Boolean? = null
    open var Reference:String? = null
    open var DiscountRate:BigDecimal? = null
    open var Bm7NST:String? = null
    open var IsBackOrder:Boolean? = null
    open var IsCOPConverter:Boolean? = null
}

open class CreateBackOrderResponse
{
    open var Guid:String? = null
    open var Reference:String? = null
}

Kotlin CreateBackOrderRequest DTOs

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

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/backorder HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"GssnId":"String","AdditionalInformation":"String","ConfigCode":"String","Source":"OnlineShowroom","TagUrl":"String","Customer":{"ProfileId":"00000000000000000000000000000000","Preferences":{"OptinEmail":false,"OptinPost":false,"OptinSMS":false,"OptinTelephone":false},"CustomerId":"String","IsCiam":false,"CompanyName":"String","Title":"String","Firstname":"String","Surname":"String","EmailAddress":"String","Telephone":"String","Address":{"Property":"String","Street":"String","Town":"String","County":"String","Locality":"String","Postcode":"String"},"Mode":"Private"},"CustomerCriteria":{"Engine":["String"],"Transmission":["String"],"Fuel":["String"],"Upholstery":["String"],"Equipment":["String"],"Line":["String"],"BodyStyle":["String"],"ColourGroup":["String"],"Packages":["String"],"Model":[{"Description":"String","Id":0}],"UrlReferrer":"String","PreferredDeliveryDate":"String","IsNewModel":false,"IsSmart":false,"IsSpecialised":false,"CriteriaDifference":{"Model":false,"Transmission":false,"Fuel":false,"Upholstery":false,"Equipment":false,"Line":false,"BodyStyle":false,"ColourGroup":false,"Packages":false,"Engine":false,"AdditionalInformation":false,"UrlReferrer":false,"PreferredDeliveryDate":false,"IsSmart":false,"IsSpecialised":false},"Version":0},"AgentCriteria":{"Engine":[{"Badge":"String","Brand":"String"}],"Transmission":["String"],"Fuel":["String"],"Upholstery":["String"],"Equipment":["String"],"Line":["String"],"BodyStyle":["String"],"ColourGroup":["String"],"Packages":["String"],"Model":[{"Description":"String","Id":0}],"UrlReferrer":"String","PreferredDeliveryDate":"String","IsNewModel":false,"IsSmart":false,"IsSpecialised":false,"CriteriaDifference":{"Model":false,"Transmission":false,"Fuel":false,"Upholstery":false,"Equipment":false,"Line":false,"BodyStyle":false,"ColourGroup":false,"Packages":false,"Engine":false,"AdditionalInformation":false,"UrlReferrer":false,"PreferredDeliveryDate":false,"IsSmart":false,"IsSpecialised":false},"Version":0},"OutrightPurchase":{"IsOutrightPurchase":false,"Reference":"String","DiscountRate":0,"Bm7NST":"String","IsBackOrder":false,"IsCOPConverter":false},"GasId":"String","Motability":false,"MotabilityPricingId":0,"AssistanceProviderId":0,"AssistanceDetail":"String","ConfiguratorCode":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Guid":"String","Reference":"String"}