| POST,OPTIONS | /v1/dashboard/finance |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal
Namespace Global
Namespace CRM.AgencyPlatform.API.Internal
Public Partial Class DashboardSeries
Public Overridable Property Name As String
Public Overridable Property Points As List(Of DashboardSeriesPoint) = New List(Of DashboardSeriesPoint)
End Class
Public Partial Class DashboardSeriesPoint
Public Overridable Property Label As String
Public Overridable Property Value As Double
End Class
Public Partial Class DashboardStatTile
Public Overridable Property Key As String
Public Overridable Property Label As String
Public Overridable Property Value As Double
Public Overridable Property PreviousValue As Double?
Public Overridable Property Unit As String
Public Overridable Property DeltaPct As Double?
End Class
Public Partial Class FinanceLocationRow
Public Overridable Property LocationName As String
Public Overridable Property ServiceRev As Double
Public Overridable Property ProductRev As Double
Public Overridable Property SubscriptionRev As Double
Public Overridable Property Total As Double
End Class
Public Partial Class FinanceRequest
Public Overridable Property FromDate As Date
Public Overridable Property ToDate As Date
Public Overridable Property LocationIds As List(Of Guid) = New List(Of Guid)
End Class
Public Partial Class FinanceResponse
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property Stats As List(Of DashboardStatTile) = New List(Of DashboardStatTile)
Public Overridable Property Trend As List(Of DashboardSeries) = New List(Of DashboardSeries)
Public Overridable Property SourceMix As DashboardSeries
Public Overridable Property ByLocation As List(Of FinanceLocationRow) = New List(Of FinanceLocationRow)
Public Overridable Property TopServices As List(Of FinanceTopRow) = New List(Of FinanceTopRow)
Public Overridable Property TopProducts As List(Of FinanceTopRow) = New List(Of FinanceTopRow)
Public Overridable Property Subscriptions As FinanceSubscriptionInfo
End Class
Public Partial Class FinanceSubscriptionInfo
Public Overridable Property Mrr As Double
Public Overridable Property Arr As Double
Public Overridable Property ActiveCount As Integer
Public Overridable Property NewCount As Integer
Public Overridable Property ChurnedCount As Integer
Public Overridable Property ChurnRatePct As Double
End Class
Public Partial Class FinanceTopRow
Public Overridable Property Name As String
Public Overridable Property Revenue As Double
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dashboard/finance HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","LocationIds":["00000000000000000000000000000000"]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Stats":[{"Key":"String","Label":"String","Value":0,"PreviousValue":0,"Unit":"String","DeltaPct":null}],"Trend":[{"Name":"String","Points":[{"Label":"String","Value":0}]}],"SourceMix":{"Name":"String","Points":[{"Label":"String","Value":0}]},"ByLocation":[{"LocationName":"String","ServiceRev":0,"ProductRev":0,"SubscriptionRev":0,"Total":0}],"TopServices":[{"Name":"String","Revenue":0}],"TopProducts":[{"Name":"String","Revenue":0}],"Subscriptions":{"Mrr":0,"Arr":0,"ActiveCount":0,"NewCount":0,"ChurnedCount":0,"ChurnRatePct":0}}