POST | /v1/reports/Csv | Retrieve Report by ReportName and Filters and return as CSV |
---|
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 DashboardCsvReportsRequest
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)
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
End Namespace
End Namespace
VB.NET DashboardCsvReportsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/reports/Csv HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<DashboardCsvReportsRequest 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>
<ReportName>String</ReportName>
</DashboardCsvReportsRequest>
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>