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.
"use strict";
/** @typedef {number} */
export var Source;
(function (Source) {
    Source[Source["OnlineShowroom"] = 1] = "OnlineShowroom"
    Source[Source["OneAdmin"] = 2] = "OneAdmin"
})(Source || (Source = {}));
export class Address {
    /** @param {{Property?:string,Street?:string,Town?:string,County?:string,Locality?:string,Postcode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Property;
    /** @type {string} */
    Street;
    /** @type {string} */
    Town;
    /** @type {string} */
    County;
    /** @type {string} */
    Locality;
    /** @type {string} */
    Postcode;
}
/** @typedef {number} */
export var CustomerMode;
(function (CustomerMode) {
    CustomerMode[CustomerMode["Private"] = 1] = "Private"
    CustomerMode[CustomerMode["Business"] = 2] = "Business"
    CustomerMode[CustomerMode["Motability"] = 3] = "Motability"
})(CustomerMode || (CustomerMode = {}));
export class SalesforceCustomer {
    /** @param {{CustomerId?:string,IsCiam?:boolean,CompanyName?:string,Title?:string,Firstname?:string,Surname?:string,EmailAddress?:string,Telephone?:string,Address?:Address,Mode?:CustomerMode}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CustomerId;
    /** @type {boolean} */
    IsCiam;
    /** @type {string} */
    CompanyName;
    /** @type {string} */
    Title;
    /** @type {string} */
    Firstname;
    /** @type {string} */
    Surname;
    /** @type {string} */
    EmailAddress;
    /** @type {string} */
    Telephone;
    /** @type {Address} */
    Address;
    /** @type {CustomerMode} */
    Mode;
}
export class Preferences {
    /** @param {{OptinEmail?:boolean,OptinPost?:boolean,OptinSMS?:boolean,OptinTelephone?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    OptinEmail;
    /** @type {boolean} */
    OptinPost;
    /** @type {boolean} */
    OptinSMS;
    /** @type {boolean} */
    OptinTelephone;
}
export class Customer extends SalesforceCustomer {
    /** @param {{ProfileId?:string,Preferences?:Preferences,CustomerId?:string,IsCiam?:boolean,CompanyName?:string,Title?:string,Firstname?:string,Surname?:string,EmailAddress?:string,Telephone?:string,Address?:Address,Mode?:CustomerMode}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?string} */
    ProfileId;
    /** @type {?Preferences} */
    Preferences;
}
export class JsonVersion {
    /** @param {{Version?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Version;
}
export class CriteriaModel {
    /** @param {{Description?:string,Id?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Description;
    /** @type {number} */
    Id;
}
export class CriteriaDifference {
    /** @param {{Model?:boolean,Transmission?:boolean,Fuel?:boolean,Upholstery?:boolean,Equipment?:boolean,Line?:boolean,BodyStyle?:boolean,ColourGroup?:boolean,Packages?:boolean,Engine?:boolean,AdditionalInformation?:boolean,UrlReferrer?:boolean,PreferredDeliveryDate?:boolean,IsSmart?:boolean,IsSpecialised?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    Model;
    /** @type {boolean} */
    Transmission;
    /** @type {boolean} */
    Fuel;
    /** @type {boolean} */
    Upholstery;
    /** @type {boolean} */
    Equipment;
    /** @type {boolean} */
    Line;
    /** @type {boolean} */
    BodyStyle;
    /** @type {boolean} */
    ColourGroup;
    /** @type {boolean} */
    Packages;
    /** @type {boolean} */
    Engine;
    /** @type {boolean} */
    AdditionalInformation;
    /** @type {boolean} */
    UrlReferrer;
    /** @type {boolean} */
    PreferredDeliveryDate;
    /** @type {boolean} */
    IsSmart;
    /** @type {boolean} */
    IsSpecialised;
}
export class CriteriaBase extends JsonVersion {
    /** @param {{Transmission?:string[],Fuel?:string[],Upholstery?:string[],Equipment?:string[],Line?:string[],BodyStyle?:string[],ColourGroup?:string[],Packages?:string[],Model?:CriteriaModel[],UrlReferrer?:string,PreferredDeliveryDate?:string,IsNewModel?:boolean,IsSmart?:boolean,IsSpecialised?:boolean,CriteriaDifference?:CriteriaDifference,Version?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string[]} */
    Transmission = [];
    /** @type {string[]} */
    Fuel = [];
    /** @type {string[]} */
    Upholstery = [];
    /** @type {string[]} */
    Equipment = [];
    /** @type {string[]} */
    Line = [];
    /** @type {string[]} */
    BodyStyle = [];
    /** @type {string[]} */
    ColourGroup = [];
    /** @type {string[]} */
    Packages = [];
    /** @type {CriteriaModel[]} */
    Model = [];
    /** @type {string} */
    UrlReferrer;
    /** @type {string} */
    PreferredDeliveryDate;
    /** @type {boolean} */
    IsNewModel;
    /** @type {boolean} */
    IsSmart;
    /** @type {boolean} */
    IsSpecialised;
    /** @type {CriteriaDifference} */
    CriteriaDifference;
}
export class Criteria extends CriteriaBase {
    /** @param {{Engine?:string[],Transmission?:string[],Fuel?:string[],Upholstery?:string[],Equipment?:string[],Line?:string[],BodyStyle?:string[],ColourGroup?:string[],Packages?:string[],Model?:CriteriaModel[],UrlReferrer?:string,PreferredDeliveryDate?:string,IsNewModel?:boolean,IsSmart?:boolean,IsSpecialised?:boolean,CriteriaDifference?:CriteriaDifference,Version?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string[]} */
    Engine = [];
}
export class V2EngineCriteria {
    /** @param {{Badge?:string,Brand?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Badge;
    /** @type {string} */
    Brand;
}
export class V2Criteria extends CriteriaBase {
    /** @param {{Engine?:V2EngineCriteria[],Transmission?:string[],Fuel?:string[],Upholstery?:string[],Equipment?:string[],Line?:string[],BodyStyle?:string[],ColourGroup?:string[],Packages?:string[],Model?:CriteriaModel[],UrlReferrer?:string,PreferredDeliveryDate?:string,IsNewModel?:boolean,IsSmart?:boolean,IsSpecialised?:boolean,CriteriaDifference?:CriteriaDifference,Version?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {V2EngineCriteria[]} */
    Engine = [];
}
export class OutrightPurchase {
    /** @param {{IsOutrightPurchase?:boolean,Reference?:string,DiscountRate?:number,Bm7NST?:string,IsBackOrder?:boolean,IsCOPConverter?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    IsOutrightPurchase;
    /** @type {string} */
    Reference;
    /** @type {number} */
    DiscountRate;
    /** @type {string} */
    Bm7NST;
    /** @type {boolean} */
    IsBackOrder;
    /** @type {boolean} */
    IsCOPConverter;
}
export class CreateBackOrderBase {
    /** @param {{GssnId?:string,AdditionalInformation?:string,ConfigCode?:string,Source?:Source,TagUrl?:string,Customer?:Customer,CustomerCriteria?:Criteria,AgentCriteria?:V2Criteria,OutrightPurchase?:OutrightPurchase,GasId?:string,Motability?:boolean,MotabilityPricingId?:number,AssistanceProviderId?:number,AssistanceDetail?:string,ConfiguratorCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    GssnId;
    /** @type {string} */
    AdditionalInformation;
    /** @type {string} */
    ConfigCode;
    /** @type {Source} */
    Source;
    /** @type {string} */
    TagUrl;
    /** @type {Customer} */
    Customer;
    /** @type {Criteria} */
    CustomerCriteria;
    /** @type {V2Criteria} */
    AgentCriteria;
    /** @type {?OutrightPurchase} */
    OutrightPurchase;
    /** @type {string} */
    GasId;
    /** @type {boolean} */
    Motability;
    /** @type {?number} */
    MotabilityPricingId;
    /** @type {?number} */
    AssistanceProviderId;
    /** @type {?string} */
    AssistanceDetail;
    /** @type {?string} */
    ConfiguratorCode;
}
export class CreateBackOrderResponse {
    /** @param {{Guid?:string,Reference?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Guid;
    /** @type {string} */
    Reference;
}
export class CreateOneAdminBackOrderRequest extends CreateBackOrderBase {
    /** @param {{GssnId?:string,AdditionalInformation?:string,ConfigCode?:string,Source?:Source,TagUrl?:string,Customer?:Customer,CustomerCriteria?:Criteria,AgentCriteria?:V2Criteria,OutrightPurchase?:OutrightPurchase,GasId?:string,Motability?:boolean,MotabilityPricingId?:number,AssistanceProviderId?:number,AssistanceDetail?:string,ConfiguratorCode?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}

JavaScript 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
}