GET | /v1/filters/{vehicletype} | Get filters by vehicle type |
---|
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.ServiceModel.Filters;
using Mercedes.Agency.API.Shared.POCO.Filters;
using Mercedes.OS.Vehicle.Shared.POCO.Filters.v2;
using Mercedes.Agency.API.Shared.POCO;
namespace Mercedes.Agency.API.Shared.POCO
{
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.API.Shared.POCO.Filters
{
public partial class AccountRetailer
{
public virtual string Name { get; set; }
public virtual string Gssn { get; set; }
public virtual bool IsSmart { get; set; }
}
public partial class Filters
: Filters
{
public virtual List<Fuel> Fuels { get; set; } = [];
public virtual List<Line> Lines { get; set; } = [];
public virtual List<Engine> Engines { get; set; } = [];
public virtual List<Transmission> Transmissions { get; set; } = [];
public virtual List<Colour> Colours { get; set; } = [];
public virtual List<Upholstery> Upholsteries { get; set; } = [];
public virtual List<Package> Packages { get; set; } = [];
public virtual List<Brand> Brands { get; set; } = [];
public virtual List<string> Equipment { get; set; } = [];
public virtual List<Retailer> Retailers { get; set; } = [];
[DataMember(Name="Retailers")]
public virtual List<AccountRetailer> AccountRetailers { get; set; } = [];
public virtual List<RetailerGroup> RetailerGroups { get; set; } = [];
public virtual List<MarketArea> MarketAreas { get; set; } = [];
public virtual List<LookupValue> CustomerLocations { get; set; } = [];
public virtual List<LookupValue> AssistanceProviders { get; set; } = [];
public virtual List<NonOptimalReason> NonOptimalReasons { get; set; } = [];
}
public partial class LookupValue
{
public virtual int? Id { get; set; }
public virtual string Label { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.ServiceModel.Filters
{
public partial class FiltersRequest
: IGet
{
public virtual string vehicleType { get; set; }
}
public partial class FiltersResponse
{
public virtual Filters Filters { get; set; }
}
}
namespace Mercedes.OS.Vehicle.Shared.POCO.Filters.v2
{
public partial class BodyStyle
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual List<Model> Models { get; set; }
}
public partial class Brand
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string DisplayName { get; set; }
public virtual List<BodyStyle> BodyStyles { get; set; }
}
public partial class Colour
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class DeliveryTime
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class Engine
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual int? BrandId { get; set; }
public virtual string Brand { get; set; }
public virtual string Badge { get; set; }
}
public partial class Filters
{
public virtual List<Brand> Brands { get; set; } = [];
public virtual List<Fuel> Fuels { get; set; } = [];
public virtual List<Line> Lines { get; set; } = [];
public virtual List<Engine> Engines { get; set; } = [];
public virtual List<BodyStyle> BodyStyles { get; set; } = [];
public virtual List<Model> Models { get; set; } = [];
public virtual List<Transmission> Transmissions { get; set; } = [];
public virtual List<Brand> ModelHierarchy { get; set; } = [];
public virtual List<Retailer> Retailers { get; set; } = [];
public virtual List<Line> AllLines { get; set; } = [];
public virtual List<Colour> Colours { get; set; } = [];
public virtual List<Upholstery> Upholsteries { get; set; } = [];
public virtual List<Package> Packages { get; set; } = [];
public virtual List<DeliveryTime> DeliveryTime { get; set; }
public virtual List<RetailerGroup> RetailerGroups { get; set; } = [];
public virtual List<MarketArea> MarketAreas { get; set; } = [];
public virtual List<NonOptimalReason> NonOptimalReasons { get; set; } = [];
}
public partial class Fuel
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class Line
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class MarketArea
{
public virtual int Id { get; set; }
public virtual string MarketAreaName { get; set; }
public virtual string Description { get; set; }
public virtual List<string> GssnIds { get; set; }
}
public partial class Model
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string DisplayName { get; set; }
public virtual string ImageUrlSmall { get; set; }
public virtual string ImageUrlMedium { get; set; }
public virtual string ImageUrlLarge { get; set; }
public virtual bool Specialist { get; set; }
public virtual int Priority { get; set; }
public virtual bool? ExcludeFromOnlineShowroomFilters { get; set; }
}
public partial class NonOptimalReason
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class Package
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class RetailerGroup
{
public virtual int Id { get; set; }
public virtual string RetailerGroupId { get; set; }
public virtual string Description { get; set; }
public virtual string RetailerGroupName { get; set; }
public virtual List<string> GssnIds { get; set; }
}
public partial class Transmission
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
public partial class Upholstery
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
}
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/filters/{vehicletype} 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 { Filters: { Fuels: [ { Id: 0, Description: String } ], Lines: [ { Id: 0, Description: String } ], Engines: [ { Id: 0, Description: String, BrandId: 0, Brand: String, Badge: String } ], Transmissions: [ { Id: 0, Description: String } ], Colours: [ { Id: 0, Description: String } ], Upholsteries: [ { Id: 0, Description: String } ], Packages: [ { Id: 0, Description: String } ], Brands: [ { Id: 0, Description: String, DisplayName: String, BodyStyles: [ { Id: 0, Description: String, Models: [ { Id: 0, Description: String, DisplayName: String, ImageUrlSmall: String, ImageUrlMedium: String, ImageUrlLarge: String, Specialist: False, Priority: 0, ExcludeFromOnlineShowroomFilters: False } ] } ] } ], Equipment: [ String ], Retailers: [ { Gssn: String, Description: String, CampaignExcluded: False } ], Retailers: [ { Name: String, Gssn: String, IsSmart: False } ], RetailerGroups: [ { Id: 0, RetailerGroupId: String, Description: String, RetailerGroupName: String, GssnIds: [ String ] } ], MarketAreas: [ { Id: 0, MarketAreaName: String, Description: String, GssnIds: [ String ] } ], CustomerLocations: [ { } ], AssistanceProviders: [ { } ], NonOptimalReasons: [ { Id: 0, Description: String } ], BodyStyles: [ { Id: 0, Description: String, Models: [ { Id: 0, Description: String, DisplayName: String, ImageUrlSmall: String, ImageUrlMedium: String, ImageUrlLarge: String, Specialist: False, Priority: 0, ExcludeFromOnlineShowroomFilters: False } ] } ], Models: [ { Id: 0, Description: String, DisplayName: String, ImageUrlSmall: String, ImageUrlMedium: String, ImageUrlLarge: String, Specialist: False, Priority: 0, ExcludeFromOnlineShowroomFilters: False } ], ModelHierarchy: [ { Id: 0, Description: String, DisplayName: String, BodyStyles: [ { Id: 0, Description: String, Models: [ { Id: 0, Description: String, DisplayName: String, ImageUrlSmall: String, ImageUrlMedium: String, ImageUrlLarge: String, Specialist: False, Priority: 0, ExcludeFromOnlineShowroomFilters: False } ] } ] } ], AllLines: [ { Id: 0, Description: String } ], DeliveryTime: [ { Id: 0, Description: String } ] } }