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 .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 /v1/backorder HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
Content-Type: text/jsv
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/jsv
Content-Length: length

{
	Guid: String,
	Reference: String
}