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.

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 .csv suffix or ?format=csv

HTTP + CSV

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/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"}