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)
"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 CreateBackOrderRequest 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 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"}