Trendsic Platform Service

<back to all web services

ProjectDashRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dashboard/project
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 ProjectDashOverdueRow
            Public Overridable Property ProjectName As String
            Public Overridable Property JobName As String
            Public Overridable Property ExpectedCompletionDate As String
            Public Overridable Property DaysOverdue As Integer
            Public Overridable Property IsAtRisk As Boolean
        End Class

        Public Partial Class ProjectDashRequest
            Public Overridable Property FromDate As Date
            Public Overridable Property ToDate As Date
        End Class

        Public Partial Class ProjectDashResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property Stats As List(Of DashboardStatTile) = New List(Of DashboardStatTile)
            Public Overridable Property JobStatus As DashboardSeries
            Public Overridable Property Throughput As DashboardSeries
            Public Overridable Property CycleDistribution As DashboardSeries
            Public Overridable Property Bottleneck As DashboardSeries
            Public Overridable Property OverdueJobs As List(Of ProjectDashOverdueRow) = New List(Of ProjectDashOverdueRow)
            Public Overridable Property Rollup As List(Of ProjectDashRollupRow) = New List(Of ProjectDashRollupRow)
        End Class

        Public Partial Class ProjectDashRollupRow
            Public Overridable Property ProjectName As String
            Public Overridable Property StatusName As String
            Public Overridable Property JobCount As Integer
            Public Overridable Property CompletedJobCount As Integer
            Public Overridable Property TaskPct As Double
            Public Overridable Property MilestonePct As Double
        End Class
    End Namespace
End Namespace

VB.NET ProjectDashRequest DTOs

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

HTTP + JSV

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

POST /v1/dashboard/project HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	FromDate: 0001-01-01,
	ToDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
		}
	],
	JobStatus: 
	{
		Name: String,
		Points: 
		[
			{
				Label: String,
				Value: 0
			}
		]
	},
	Throughput: 
	{
		Name: String,
		Points: 
		[
			{
				Label: String,
				Value: 0
			}
		]
	},
	CycleDistribution: 
	{
		Name: String,
		Points: 
		[
			{
				Label: String,
				Value: 0
			}
		]
	},
	Bottleneck: 
	{
		Name: String,
		Points: 
		[
			{
				Label: String,
				Value: 0
			}
		]
	},
	OverdueJobs: 
	[
		{
			ProjectName: String,
			JobName: String,
			ExpectedCompletionDate: String,
			DaysOverdue: 0,
			IsAtRisk: False
		}
	],
	Rollup: 
	[
		{
			ProjectName: String,
			StatusName: String,
			JobCount: 0,
			CompletedJobCount: 0,
			TaskPct: 0,
			MilestonePct: 0
		}
	]
}