POST | /v1/oneAdmin/backorder | Creates a back order with vehicle criteria | Create 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. |
---|
export enum Source
{
OnlineShowroom = 1,
OneAdmin = 2,
}
export class Address
{
public Property: string;
public Street: string;
public Town: string;
public County: string;
public Locality: string;
public Postcode: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export enum CustomerMode
{
Private = 1,
Business = 2,
Motability = 3,
}
export class SalesforceCustomer implements ICustomer
{
public CustomerId: string;
public IsCiam: boolean;
public CompanyName: string;
public Title: string;
public Firstname: string;
public Surname: string;
public EmailAddress: string;
public Telephone: string;
public Address: Address;
public Mode: CustomerMode;
public constructor(init?: Partial<SalesforceCustomer>) { (Object as any).assign(this, init); }
}
export class Preferences
{
public OptinEmail: boolean;
public OptinPost: boolean;
public OptinSMS: boolean;
public OptinTelephone: boolean;
public constructor(init?: Partial<Preferences>) { (Object as any).assign(this, init); }
}
export class Customer extends SalesforceCustomer
{
public ProfileId?: string;
public Preferences?: Preferences;
public constructor(init?: Partial<Customer>) { super(init); (Object as any).assign(this, init); }
}
export class JsonVersion implements IJsonVersion
{
public Version: number;
public constructor(init?: Partial<JsonVersion>) { (Object as any).assign(this, init); }
}
export class CriteriaModel
{
public Description: string;
public Id: number;
public constructor(init?: Partial<CriteriaModel>) { (Object as any).assign(this, init); }
}
export class CriteriaDifference
{
public Model: boolean;
public Transmission: boolean;
public Fuel: boolean;
public Upholstery: boolean;
public Equipment: boolean;
public Line: boolean;
public BodyStyle: boolean;
public ColourGroup: boolean;
public Packages: boolean;
public Engine: boolean;
public AdditionalInformation: boolean;
public UrlReferrer: boolean;
public PreferredDeliveryDate: boolean;
public IsSmart: boolean;
public IsSpecialised: boolean;
public constructor(init?: Partial<CriteriaDifference>) { (Object as any).assign(this, init); }
}
export class CriteriaBase extends JsonVersion
{
public Transmission: string[] = [];
public Fuel: string[] = [];
public Upholstery: string[] = [];
public Equipment: string[] = [];
public Line: string[] = [];
public BodyStyle: string[] = [];
public ColourGroup: string[] = [];
public Packages: string[] = [];
public Model: CriteriaModel[] = [];
public UrlReferrer: string;
public PreferredDeliveryDate: string;
// @ApiMember(ExcludeInSchema=true)
public IsNewModel: boolean;
// @ApiMember(ExcludeInSchema=true)
public IsSmart: boolean;
// @ApiMember(ExcludeInSchema=true)
public IsSpecialised: boolean;
// @ApiMember(ExcludeInSchema=true)
public CriteriaDifference: CriteriaDifference;
public constructor(init?: Partial<CriteriaBase>) { super(init); (Object as any).assign(this, init); }
}
export class Criteria extends CriteriaBase
{
public Engine: string[] = [];
public constructor(init?: Partial<Criteria>) { super(init); (Object as any).assign(this, init); }
}
export class V2EngineCriteria
{
public Badge: string;
public Brand: string;
public constructor(init?: Partial<V2EngineCriteria>) { (Object as any).assign(this, init); }
}
export class V2Criteria extends CriteriaBase
{
public Engine: V2EngineCriteria[] = [];
public constructor(init?: Partial<V2Criteria>) { super(init); (Object as any).assign(this, init); }
}
export class OutrightPurchase
{
public IsOutrightPurchase: boolean;
public Reference: string;
public DiscountRate: number;
public Bm7NST: string;
public IsBackOrder: boolean;
public IsCOPConverter: boolean;
public constructor(init?: Partial<OutrightPurchase>) { (Object as any).assign(this, init); }
}
export class CreateBackOrderBase
{
public GssnId: string;
public AdditionalInformation: string;
public ConfigCode: string;
public Source: Source;
public TagUrl: string;
public Customer: Customer;
public CustomerCriteria: Criteria;
public AgentCriteria: V2Criteria;
public OutrightPurchase?: OutrightPurchase;
public GasId: string;
public Motability: boolean;
public MotabilityPricingId?: number;
public AssistanceProviderId?: number;
public AssistanceDetail?: string;
public ConfiguratorCode?: string;
public constructor(init?: Partial<CreateBackOrderBase>) { (Object as any).assign(this, init); }
}
export class CreateBackOrderResponse
{
public Guid: string;
public Reference: string;
public constructor(init?: Partial<CreateBackOrderResponse>) { (Object as any).assign(this, init); }
}
export class CreateOneAdminBackOrderRequest extends CreateBackOrderBase implements IPost
{
public constructor(init?: Partial<CreateOneAdminBackOrderRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript CreateOneAdminBackOrderRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 }