POST | /v1/backorder | Create 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 .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
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/csv Content-Length: length {"Guid":"String","Reference":"String"}