Mercedes.Agency.Orchestration.API

<back to all web services

FiltersRequest

Filters
Requires Authentication
The following routes are available for this service:
GET/v1/filters/{vehicletype}Get filters by vehicle type
namespace Mercedes.Agency.API.Shared.POCO

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type Fuel() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Line() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Engine() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val BrandId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Brand:String = null with get,set
        member val Badge:String = null with get,set

    [<AllowNullLiteral>]
    type Transmission() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Colour() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Upholstery() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Package() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Model() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val DisplayName:String = null with get,set
        member val ImageUrlSmall:String = null with get,set
        member val ImageUrlMedium:String = null with get,set
        member val ImageUrlLarge:String = null with get,set
        member val Specialist:Boolean = new Boolean() with get,set
        member val Priority:Int32 = new Int32() with get,set
        member val ExcludeFromOnlineShowroomFilters:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type BodyStyle() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val Models:ResizeArray<Model> = null with get,set

    [<AllowNullLiteral>]
    type Brand() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val DisplayName:String = null with get,set
        member val BodyStyles:ResizeArray<BodyStyle> = null with get,set

    [<AllowNullLiteral>]
    type RetailerOpeningTime() = 
        member val Day:String = null with get,set
        member val OpenFrom:String = null with get,set
        member val OpenTo:String = null with get,set
        member val Special:String = null with get,set

    [<AllowNullLiteral>]
    type RetailerOpeningTimes() = 
        member val New:ResizeArray<RetailerOpeningTime> = null with get,set
        member val Used:ResizeArray<RetailerOpeningTime> = null with get,set

    [<AllowNullLiteral>]
    type Retailer() = 
        member val Id:Int32 = new Int32() with get,set
        member val GssnId:String = null with get,set
        member val Description:String = null with get,set
        member val Street:String = null with get,set
        member val City:String = null with get,set
        member val Postcode:String = null with get,set
        member val GoogleMapPostcode:String = null with get,set
        member val Phone:String = null with get,set
        member val Fax:String = null with get,set
        member val Email:String = null with get,set
        member val Website:String = null with get,set
        member val RetailerGroupId:String = null with get,set
        member val RetailerGroupName:String = null with get,set
        member val IsOnline:Boolean = new Boolean() with get,set
        member val IsNewCarRetailer:Boolean = new Boolean() with get,set
        member val IsUsedCarRetailer:Boolean = new Boolean() with get,set
        member val IsCentralRetailer:Boolean = new Boolean() with get,set
        member val ChatEnabled:Boolean = new Boolean() with get,set
        member val TradeInEnabled:Boolean = new Boolean() with get,set
        member val smart:Boolean = new Boolean() with get,set
        member val DisplayPhoneNumberNew:String = null with get,set
        member val DisplayPhoneNumberUsed:String = null with get,set
        member val Latitude:Decimal = new Decimal() with get,set
        member val Longitude:Decimal = new Decimal() with get,set
        member val smartDescription:String = null with get,set
        member val smartWebsite:String = null with get,set
        member val smartPhone:String = null with get,set
        member val LegacyId:String = null with get,set
        member val Agent:Boolean = new Boolean() with get,set
        member val MarketAreaId:Int32 = new Int32() with get,set
        member val DigitalLoungeParentGssnId:String = null with get,set
        member val SendLeadsToDigitalLoungeParent:Boolean = new Boolean() with get,set
        member val OpeningTimes:RetailerOpeningTimes = null with get,set

    [<AllowNullLiteral>]
    type AccountRetailer() = 
        member val Name:String = null with get,set
        member val Gssn:String = null with get,set
        member val IsSmart:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type RetailerGroup() = 
        member val Id:Int32 = new Int32() with get,set
        member val RetailerGroupId:String = null with get,set
        member val Description:String = null with get,set
        member val RetailerGroupName:String = null with get,set
        member val GssnIds:ResizeArray<String> = null with get,set

    [<AllowNullLiteral>]
    type MarketArea() = 
        member val Id:Int32 = new Int32() with get,set
        member val MarketAreaName:String = null with get,set
        member val Description:String = null with get,set
        member val GssnIds:ResizeArray<String> = null with get,set

    [<AllowNullLiteral>]
    type LookupValue() = 
        member val Id:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Label:String = null with get,set

    [<AllowNullLiteral>]
    type NonOptimalReason() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type DeliveryTime() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type Filters() = 
        member val Brands:ResizeArray<Brand> = null with get,set
        member val Fuels:ResizeArray<Fuel> = null with get,set
        member val Lines:ResizeArray<Line> = null with get,set
        member val Engines:ResizeArray<Engine> = null with get,set
        member val BodyStyles:ResizeArray<BodyStyle> = null with get,set
        member val Models:ResizeArray<Model> = null with get,set
        member val Transmissions:ResizeArray<Transmission> = null with get,set
        member val ModelHierarchy:ResizeArray<Brand> = null with get,set
        member val Retailers:ResizeArray<Retailer> = null with get,set
        member val AllLines:ResizeArray<Line> = null with get,set
        member val Colours:ResizeArray<Colour> = null with get,set
        member val Upholsteries:ResizeArray<Upholstery> = null with get,set
        member val Packages:ResizeArray<Package> = null with get,set
        member val DeliveryTime:ResizeArray<DeliveryTime> = null with get,set
        member val RetailerGroups:ResizeArray<RetailerGroup> = null with get,set
        member val MarketAreas:ResizeArray<MarketArea> = null with get,set
        member val NonOptimalReasons:ResizeArray<NonOptimalReason> = null with get,set

    [<AllowNullLiteral>]
    type FiltersResponse() = 
        member val Filters:Filters = null with get,set

    [<AllowNullLiteral>]
    type FiltersRequest() = 
        interface IGet
        member val vehicleType:String = null with get,set

    [<AllowNullLiteral>]
    type Filters() = 
        inherit Filters()
        member val Fuels:ResizeArray<Fuel> = null with get,set
        member val Lines:ResizeArray<Line> = null with get,set
        member val Engines:ResizeArray<Engine> = null with get,set
        member val Transmissions:ResizeArray<Transmission> = null with get,set
        member val Colours:ResizeArray<Colour> = null with get,set
        member val Upholsteries:ResizeArray<Upholstery> = null with get,set
        member val Packages:ResizeArray<Package> = null with get,set
        member val Brands:ResizeArray<Brand> = null with get,set
        member val Equipment:ResizeArray<String> = null with get,set
        member val Retailers:ResizeArray<Retailer> = null with get,set
        [<DataMember(Name="Retailers")>]
        member val AccountRetailers:ResizeArray<AccountRetailer> = null with get,set

        member val RetailerGroups:ResizeArray<RetailerGroup> = null with get,set
        member val MarketAreas:ResizeArray<MarketArea> = null with get,set
        member val CustomerLocations:ResizeArray<LookupValue> = null with get,set
        member val AssistanceProviders:ResizeArray<LookupValue> = null with get,set
        member val NonOptimalReasons:ResizeArray<NonOptimalReason> = null with get,set

F# FiltersRequest 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.

GET /v1/filters/{vehicletype} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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"}]}}