Mercedes.Agency.Orchestration.API

<back to all web services

CreateOneAdminBackOrderRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/oneAdmin/backorderCreates a back order with vehicle criteriaCreate Back Order (called from One Admin) It calls the v1/backorder in the Agency API, where the order is created The details of the back order are sent to OneAgent Validation checks are performed on the input request.
namespace Mercedes.Agency.API.Shared.Enums

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

    [<AllowNullLiteral>]
    type CreateBackOrderResponse() = 
        member val Guid:String = null with get,set
        member val Reference:String = null with get,set

    type Source =
        | OnlineShowroom = 1
        | OneAdmin = 2

    [<AllowNullLiteral>]
    type Address() = 
        member val Property:String = null with get,set
        member val Street:String = null with get,set
        member val Town:String = null with get,set
        member val County:String = null with get,set
        member val Locality:String = null with get,set
        member val Postcode:String = null with get,set

    type CustomerMode =
        | Private = 1
        | Business = 2
        | Motability = 3

    [<AllowNullLiteral>]
    type SalesforceCustomer() = 
        member val CustomerId:String = null with get,set
        member val IsCiam:Boolean = new Boolean() with get,set
        member val CompanyName:String = null with get,set
        member val Title:String = null with get,set
        member val Firstname:String = null with get,set
        member val Surname:String = null with get,set
        member val EmailAddress:String = null with get,set
        member val Telephone:String = null with get,set
        member val Address:Address = null with get,set
        member val Mode:CustomerMode = new CustomerMode() with get,set

    [<AllowNullLiteral>]
    type Preferences() = 
        member val OptinEmail:Boolean = new Boolean() with get,set
        member val OptinPost:Boolean = new Boolean() with get,set
        member val OptinSMS:Boolean = new Boolean() with get,set
        member val OptinTelephone:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type Customer() = 
        inherit SalesforceCustomer()
        member val ProfileId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Preferences:Preferences = null with get,set

    [<AllowNullLiteral>]
    type JsonVersion() = 
        member val Version:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CriteriaModel() = 
        member val Description:String = null with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CriteriaDifference() = 
        member val Model:Boolean = new Boolean() with get,set
        member val Transmission:Boolean = new Boolean() with get,set
        member val Fuel:Boolean = new Boolean() with get,set
        member val Upholstery:Boolean = new Boolean() with get,set
        member val Equipment:Boolean = new Boolean() with get,set
        member val Line:Boolean = new Boolean() with get,set
        member val BodyStyle:Boolean = new Boolean() with get,set
        member val ColourGroup:Boolean = new Boolean() with get,set
        member val Packages:Boolean = new Boolean() with get,set
        member val Engine:Boolean = new Boolean() with get,set
        member val AdditionalInformation:Boolean = new Boolean() with get,set
        member val UrlReferrer:Boolean = new Boolean() with get,set
        member val PreferredDeliveryDate:Boolean = new Boolean() with get,set
        member val IsSmart:Boolean = new Boolean() with get,set
        member val IsSpecialised:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CriteriaBase() = 
        inherit JsonVersion()
        member val Transmission:String[] = null with get,set
        member val Fuel:String[] = null with get,set
        member val Upholstery:String[] = null with get,set
        member val Equipment:String[] = null with get,set
        member val Line:String[] = null with get,set
        member val BodyStyle:String[] = null with get,set
        member val ColourGroup:String[] = null with get,set
        member val Packages:String[] = null with get,set
        member val Model:ResizeArray<CriteriaModel> = null with get,set
        member val UrlReferrer:String = null with get,set
        member val PreferredDeliveryDate:String = null with get,set
        [<ApiMember(ExcludeInSchema=true)>]
        member val IsNewModel:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val IsSmart:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val IsSpecialised:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val CriteriaDifference:CriteriaDifference = null with get,set

    [<AllowNullLiteral>]
    type Criteria() = 
        inherit CriteriaBase()
        member val Engine:String[] = null with get,set

    [<AllowNullLiteral>]
    type V2EngineCriteria() = 
        member val Badge:String = null with get,set
        member val Brand:String = null with get,set

    [<AllowNullLiteral>]
    type V2Criteria() = 
        inherit CriteriaBase()
        member val Engine:ResizeArray<V2EngineCriteria> = null with get,set

    [<AllowNullLiteral>]
    type OutrightPurchase() = 
        member val IsOutrightPurchase:Boolean = new Boolean() with get,set
        member val Reference:String = null with get,set
        member val DiscountRate:Decimal = new Decimal() with get,set
        member val Bm7NST:String = null with get,set
        member val IsBackOrder:Boolean = new Boolean() with get,set
        member val IsCOPConverter:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CreateBackOrderBase() = 
        member val GssnId:String = null with get,set
        member val AdditionalInformation:String = null with get,set
        member val ConfigCode:String = null with get,set
        member val Source:Source = new Source() with get,set
        member val TagUrl:String = null with get,set
        member val Customer:Customer = null with get,set
        member val CustomerCriteria:Criteria = null with get,set
        member val AgentCriteria:V2Criteria = null with get,set
        member val OutrightPurchase:OutrightPurchase = null with get,set
        member val GasId:String = null with get,set
        member val Motability:Boolean = new Boolean() with get,set
        member val MotabilityPricingId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AssistanceProviderId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AssistanceDetail:String = null with get,set
        member val ConfiguratorCode:String = null with get,set

    [<AllowNullLiteral>]
    type CreateOneAdminBackOrderRequest() = 
        inherit CreateBackOrderBase()
        interface IPost

F# CreateOneAdminBackOrderRequest 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/oneAdmin/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
}