Mercedes.Agency.Orchestration.API

<back to all web services

GetOrderCustomerRequest

Order
Requires Authentication
The following routes are available for this service:
GET/v1/order/customer/{CustomerId}Get Order by Customer

export class Order
{
    public Guid: string;
    public Reference: string;
    public Status: number;
    public CustomerId: string;
    public MulesoftReference: string;
    public GasId: string;
    public OrderDate: string;
    public OfferSnapShot: string;

    public constructor(init?: Partial<Order>) { (Object as any).assign(this, init); }
}

export class OrderStatus
{
    public Id: number;
    public Description: string;

    public constructor(init?: Partial<OrderStatus>) { (Object as any).assign(this, init); }
}

export class OnlineShowroomStatus
{
    public Id: number;
    public Description: string;
    public Slug: string;
    public Current: boolean;
    public Completed: boolean;
    public OrderStatuses: OrderStatus[] = [];

    public constructor(init?: Partial<OnlineShowroomStatus>) { (Object as any).assign(this, init); }
}

export class RetailerOpeningTime
{
    public Day: string;
    public OpenFrom: string;
    public OpenTo: string;
    public Special: string;

    public constructor(init?: Partial<RetailerOpeningTime>) { (Object as any).assign(this, init); }
}

export class RetailerOpeningTimes
{
    public New: RetailerOpeningTime[] = [];
    public Used: RetailerOpeningTime[] = [];

    public constructor(init?: Partial<RetailerOpeningTimes>) { (Object as any).assign(this, init); }
}

export class Retailer
{
    public Id: number;
    public GssnId: string;
    public Description: string;
    public Street: string;
    public City: string;
    public Postcode: string;
    public GoogleMapPostcode: string;
    public Phone: string;
    public Fax: string;
    public Email: string;
    public Website: string;
    public RetailerGroupId: string;
    public RetailerGroupName: string;
    public IsOnline: boolean;
    public IsNewCarRetailer: boolean;
    public IsUsedCarRetailer: boolean;
    public IsCentralRetailer: boolean;
    public ChatEnabled: boolean;
    public TradeInEnabled: boolean;
    public smart: boolean;
    public DisplayPhoneNumberNew: string;
    public DisplayPhoneNumberUsed: string;
    public Latitude: number;
    public Longitude: number;
    public smartDescription: string;
    public smartWebsite: string;
    public smartPhone: string;
    public LegacyId: string;
    public Agent: boolean;
    public MarketAreaId: number;
    public DigitalLoungeParentGssnId?: string;
    public SendLeadsToDigitalLoungeParent: boolean;
    public OpeningTimes?: RetailerOpeningTimes;

    public constructor(init?: Partial<Retailer>) { (Object as any).assign(this, init); }
}

export class OnlineShowroomVehicle
{
    public Vin: string;
    public VehicleClass: string;
    public TransmissionType: string;
    public FuelType: string;
    public ImageUrl: string;
    public Colour: string;
    public Description: string;
    public BodyStyle: string;
    public UpholsteryType: string;
    public Retailer: Retailer;
    public OTR: number;
    public ActualPrice: number;
    public TotalOfferValue: number;
    public NetPrice: number;
    public VehicleType: string;
    public OfferExpiryDate?: string;

    public constructor(init?: Partial<OnlineShowroomVehicle>) { (Object as any).assign(this, init); }
}

export class PaymentDetail
{
    public PaymentType: string;
    public PaymentLink: string;

    public constructor(init?: Partial<PaymentDetail>) { (Object as any).assign(this, init); }
}

export class OnlineShowroomOrder
{
    public Guid: string;
    public Reference: string;
    public Status: OnlineShowroomStatus[] = [];
    public Vehicle: OnlineShowroomVehicle;
    public ClosedDate: string;
    public CustomerId: string;
    public HandoverDate: string;
    public ClosedReason: string;
    public OrderDate: string;
    public PaymentLinks: PaymentDetail[] = [];

    public constructor(init?: Partial<OnlineShowroomOrder>) { (Object as any).assign(this, init); }
}

export class GetOrderCustomerResponse
{
    public Orders: Order[] = [];
    public Completed: OnlineShowroomOrder[] = [];
    public Cancelled: OnlineShowroomOrder[] = [];
    public InProgress: OnlineShowroomOrder[] = [];
    public Archived: OnlineShowroomOrder[] = [];

    public constructor(init?: Partial<GetOrderCustomerResponse>) { (Object as any).assign(this, init); }
}

export class GetOrderCustomerRequest implements IGet
{
    public CustomerId: string;

    public constructor(init?: Partial<GetOrderCustomerRequest>) { (Object as any).assign(this, init); }
}

TypeScript GetOrderCustomerRequest 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.

GET /v1/order/customer/{CustomerId} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Orders: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 0,
			CustomerId: String,
			MulesoftReference: String,
			GasId: String,
			OrderDate: String,
			OfferSnapShot: String
		}
	],
	Completed: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	Cancelled: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	InProgress: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	Archived: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	]
}