GET | /v1/order/customer/{CustomerId} | Get Order by Customer |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses;
using Mercedes.Agency.API.Shared.POCO;
namespace Mercedes.Agency.API.Shared.POCO
{
public partial class OnlineShowroomOrder
{
public virtual Guid Guid { get; set; }
public virtual string Reference { get; set; }
public virtual List<OnlineShowroomStatus> Status { get; set; } = [];
public virtual OnlineShowroomVehicle Vehicle { get; set; }
public virtual string ClosedDate { get; set; }
public virtual string CustomerId { get; set; }
public virtual string HandoverDate { get; set; }
public virtual string ClosedReason { get; set; }
public virtual string OrderDate { get; set; }
public virtual List<PaymentDetail> PaymentLinks { get; set; } = [];
}
public partial class OnlineShowroomStatus
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string Slug { get; set; }
public virtual bool Current { get; set; }
public virtual bool Completed { get; set; }
public virtual List<OrderStatus> OrderStatuses { get; set; } = [];
}
public partial class OnlineShowroomVehicle
{
public virtual string Vin { get; set; }
public virtual string VehicleClass { get; set; }
public virtual string TransmissionType { get; set; }
public virtual string FuelType { get; set; }
public virtual string ImageUrl { get; set; }
public virtual string Colour { get; set; }
public virtual string Description { get; set; }
public virtual string BodyStyle { get; set; }
public virtual string UpholsteryType { get; set; }
public virtual Retailer Retailer { get; set; }
public virtual decimal OTR { get; set; }
public virtual decimal ActualPrice { get; set; }
public virtual decimal TotalOfferValue { get; set; }
public virtual decimal NetPrice { get; set; }
public virtual string VehicleType { get; set; }
public virtual string OfferExpiryDate { get; set; }
}
public partial class Order
{
public virtual Guid Guid { get; set; }
public virtual string Reference { get; set; }
public virtual int Status { get; set; }
public virtual string CustomerId { get; set; }
public virtual string MulesoftReference { get; set; }
public virtual string GasId { get; set; }
public virtual string OrderDate { get; set; }
public virtual string OfferSnapShot { get; set; }
}
public partial class OrderStatus
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class PaymentDetail
{
public virtual string PaymentType { get; set; }
public virtual string PaymentLink { get; set; }
}
public partial class Retailer
{
public virtual int Id { get; set; }
public virtual string GssnId { get; set; }
public virtual string Description { get; set; }
public virtual string Street { get; set; }
public virtual string City { get; set; }
public virtual string Postcode { get; set; }
public virtual string GoogleMapPostcode { get; set; }
public virtual string Phone { get; set; }
public virtual string Fax { get; set; }
public virtual string Email { get; set; }
public virtual string Website { get; set; }
public virtual string RetailerGroupId { get; set; }
public virtual string RetailerGroupName { get; set; }
public virtual bool IsOnline { get; set; }
public virtual bool IsNewCarRetailer { get; set; }
public virtual bool IsUsedCarRetailer { get; set; }
public virtual bool IsCentralRetailer { get; set; }
public virtual bool ChatEnabled { get; set; }
public virtual bool TradeInEnabled { get; set; }
public virtual bool smart { get; set; }
public virtual string DisplayPhoneNumberNew { get; set; }
public virtual string DisplayPhoneNumberUsed { get; set; }
public virtual decimal Latitude { get; set; }
public virtual decimal Longitude { get; set; }
public virtual string smartDescription { get; set; }
public virtual string smartWebsite { get; set; }
public virtual string smartPhone { get; set; }
public virtual string LegacyId { get; set; }
public virtual bool Agent { get; set; }
public virtual int MarketAreaId { get; set; }
public virtual string DigitalLoungeParentGssnId { get; set; }
public virtual bool SendLeadsToDigitalLoungeParent { get; set; }
public virtual RetailerOpeningTimes OpeningTimes { get; set; }
}
public partial class RetailerOpeningTime
{
public virtual string Day { get; set; }
public virtual string OpenFrom { get; set; }
public virtual string OpenTo { get; set; }
public virtual string Special { get; set; }
}
public partial class RetailerOpeningTimes
{
public virtual List<RetailerOpeningTime> New { get; set; } = [];
public virtual List<RetailerOpeningTime> Used { get; set; } = [];
}
}
namespace Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses
{
public partial class GetOrderCustomerRequest
: IGet
{
public virtual string CustomerId { get; set; }
}
public partial class GetOrderCustomerResponse
{
public virtual List<Order> Orders { get; set; } = [];
public virtual List<OnlineShowroomOrder> Completed { get; set; } = [];
public virtual List<OnlineShowroomOrder> Cancelled { get; set; } = [];
public virtual List<OnlineShowroomOrder> InProgress { get; set; } = [];
public virtual List<OnlineShowroomOrder> Archived { get; set; } = [];
}
}
C# GetOrderCustomerRequest 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.
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 } ] } ] }