Trendsic Platform Service

<back to all web services

ReportManagerDataRequest

The following routes are available for this service:
GET,POST,OPTIONS/v1/ReportManager/api/Objects/{Table}/data
import Foundation
import ServiceStack

public class ReportManagerDataRequest : Codable
{
    public var table:String
    public var tableKey:String
    public var query:String
    public var queryCast:GetSqlResult
    public var columns:[String] = []
    public var joins:String
    public var joinsCast:[ReportManagerDataJoin] = []
    public var limit:String
    public var sort:String
    public var sortCast:[ReportManagerDataSort] = []
    public var group:[String] = []
    public var buckets:String
    public var bucketsCast:[ReportManagerDataBucket] = []

    required public init(){}
}

public class GetSqlResult : Codable
{
    public var sql:String
    public var values:[String:JValue]
    public var error:String
    public var hasError:Bool

    required public init(){}
}

public class JValue : JToken
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class JToken : IJsonLineInfo, Codable
{
    required public init(){}
}

public class ReportManagerDataJoin : Codable
{
    public var source:String
    public var target:String
    public var sourceField:String
    public var targetField:String
    public var id:String

    required public init(){}
}

public class ReportManagerDataSort : Codable
{
    public var field:String
    public var direction:String

    required public init(){}
}

public class ReportManagerDataBucket : Codable
{
    public var bucketColumn:String
    public var options:[ReportManagerDataBucketOption] = []

    required public init(){}
}

public class ReportManagerDataBucketOption : Codable
{
    public var id:String
    public var values:[String] = []

    required public init(){}
}


Swift ReportManagerDataRequest 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.

POST /v1/ReportManager/api/Objects/{Table}/data HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{Unable to show example output for type 'ReportManagerDataRequest' using the custom 'csv' filter}One or more errors occurred.
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

[{"String":{}}]