Mercedes.VehicleManagement.API

<back to all web services

DashboardReportRequest

Reports
Requires Authentication
The following routes are available for this service:
POST/v1/reportsRetrieve Report by ReportName and Filters
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Mercedes.VehicleManagement.API.ServiceModel
Imports Mercedes.VehicleManagement.API.Shared.POCO

Namespace Global

    Namespace Mercedes.VehicleManagement.API.ServiceModel

        Public Partial Class DashboardReportRequest
            Implements IPost
            '''<Summary>
            '''Report Name
            '''</Summary>
            <ApiMember(Description:="Report Name", IsRequired:=true, ParameterType:="body")>
            Public Overridable Property ReportName As String

            '''<Summary>
            '''Filters
            '''</Summary>
            <ApiMember(Description:="Filters", IsRequired:=true, ParameterType:="body")>
            Public Overridable Property Filters As Dictionary(Of String, ReportFilter) = New Dictionary(Of String, ReportFilter)

            '''<Summary>
            '''Paging
            '''</Summary>
            <ApiMember(Description:="Paging", ParameterType:="body")>
            Public Overridable Property Paging As ReportsPaging

            '''<Summary>
            '''Sorting
            '''</Summary>
            <ApiMember(Description:="Sorting", ParameterType:="body")>
            Public Overridable Property Sorting As Dictionary(Of String, ReportSortType) = New Dictionary(Of String, ReportSortType)
        End Class
    End Namespace

    Namespace Mercedes.VehicleManagement.API.Shared.POCO

        Public Partial Class DashboardReportResult
            Public Overridable Property TotalCount As Integer
            Public Overridable Property ReportResult As IEnumerable(Of Object)
        End Class

        Public Partial Class ReportFilter
            Public Overridable Property Type As ReportFilterType
            Public Overridable Property Values As IEnumerable(Of String)
            Public Overridable Property Start As Date?
            Public Overridable Property [End] As Date?
            Public Overridable Property HigherThan As Integer?
            Public Overridable Property LowerThan As Integer?
        End Class

        Public Enum ReportFilterType
            list
            list_like
            date
            range
        End Enum

        Public Enum ReportSortType
            asc
            desc
        End Enum

        Public Partial Class ReportsPaging
            Public Overridable Property Page As Integer
            Public Overridable Property PageSize As Integer
        End Class
    End Namespace
End Namespace

VB.NET DashboardReportRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/reports HTTP/1.1 
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<DashboardReportRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.ServiceModel">
  <Filters xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringReportFilterI2Pv2xeL>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO">
        <d4p1:End>0001-01-01T00:00:00</d4p1:End>
        <d4p1:HigherThan>0</d4p1:HigherThan>
        <d4p1:LowerThan>0</d4p1:LowerThan>
        <d4p1:Start>0001-01-01T00:00:00</d4p1:Start>
        <d4p1:Type>list</d4p1:Type>
        <d4p1:Values i:nil="true" />
      </d2p1:Value>
    </d2p1:KeyValueOfstringReportFilterI2Pv2xeL>
  </Filters>
  <Paging xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO">
    <d2p1:Page>0</d2p1:Page>
    <d2p1:PageSize>0</d2p1:PageSize>
  </Paging>
  <ReportName>String</ReportName>
  <Sorting xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringReportSortTypeI2Pv2xeL>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>asc</d2p1:Value>
    </d2p1:KeyValueOfstringReportSortTypeI2Pv2xeL>
  </Sorting>
</DashboardReportRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DashboardReportResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO">
  <ReportResult xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
  <TotalCount>0</TotalCount>
</DashboardReportResult>