SDS P4 API

<back to all web services

Graph

Get data for graph, usages and some statistical information

The following routes are available for this service:
GET/api/v6/meteringpoints/{Ean}/graph/{Aggregation}/{DateFrom}/{DateTo}Get usages based on aggregation starting from DateFrom to endDate

export enum DateTimeFormat
{
    ISO8601 = 'ISO8601',
    UTC = 'UTC',
    NL = 'NL',
    NLOffset = 'NLOffset',
    IN = 'IN',
    INOffset = 'INOffset',
    Unix = 'Unix',
    UnixMillis = 'UnixMillis',
}

export class Generic
{
    /** @description Api-key. Used to provide credentials to the api. Can also be provided through the request headers with key: X-API-KEY */
    // @ApiMember(DataType="String", Description="Api-key. Used to provide credentials to the api. Can also be provided through the request headers with key: X-API-KEY", IsRequired=true, Name="ApiKey")
    public ApiKey: string;

    /** @description Normally the result of the request is put inside a resultobject with some status information about the request. If you want the output as csv this outer object can be irritating. Default value: FALSE  */
    // @ApiMember(DataType="Boolean", Description="Normally the result of the request is put inside a resultobject with some status information about the request. If you want the output as csv this outer object can be irritating. Default value: FALSE ", Name="OnlyPayload")
    public OnlyPayload: boolean;

    /** @description Show the request as interpreted by the api. Useful to see how filters / dates are parsed. If no value us provided, the default value is: FALSE  */
    // @ApiMember(DataType="Boolean", Description="Show the request as interpreted by the api. Useful to see how filters / dates are parsed. If no value us provided, the default value is: FALSE ", Name="ShowRequest")
    public ShowRequest: boolean;

    /** @description Format all DateTime in the response object. If used in browser, sometimes ISO8601 is not correctly transformed. Enum options: ISO8601 (DEFAULT), UTC, NL, NLOffset, Unix, UnixMillis */
    // @ApiMember(DataType="Enum", Description="Format all DateTime in the response object. If used in browser, sometimes ISO8601 is not correctly transformed. Enum options: ISO8601 (DEFAULT), UTC, NL, NLOffset, Unix, UnixMillis", Name="DateTimeFormat")
    public DateTimeFormat: DateTimeFormat;

    public constructor(init?: Partial<Generic>) { (Object as any).assign(this, init); }
}

export enum AggregationForAPI
{
    None = 'None',
    Hour = 'Hour',
    Day = 'Day',
    Week = 'Week',
    Month = 'Month',
    Year = 'Year',
}

/** @description Get data for graph, usages and some statistical information */
// @Api(Description="Get data for graph, usages and some statistical information")
export class Graph extends Generic
{
    /** @description Request of details of specific meteringpoint with Ean */
    // @ApiMember(DataType="EAN (18 numbers)", Description="Request of details of specific meteringpoint with Ean", IsRequired=true, Name="Ean")
    public Ean: string;

    /** @description Aggregation level. The None-'level' will give the most detailed level available for the requested asset. If a level is requested that is not available or can be calculate, no data is returned. Enum options: None, Hour, Day, Week, Month */
    // @ApiMember(DataType="Enum", Description="Aggregation level. The None-'level' will give the most detailed level available for the requested asset. If a level is requested that is not available or can be calculate, no data is returned. Enum options: None, Hour, Day, Week, Month", IsRequired=true, Name="Aggregation")
    public Aggregation: AggregationForAPI;

    /** @description Start date the usages are requested for */
    // @ApiMember(DataType="Date: yyyy-mm-dd", Description="Start date the usages are requested for", IsRequired=true, Name="DateFrom")
    public DateFrom: string;

    /** @description End date the usages are requested for (this is included in the response). If no date is provided the DateTo will seven days from the DateFrom.  */
    // @ApiMember(DataType="Date: yyyy-mm-dd", Description="End date the usages are requested for (this is included in the response). If no date is provided the DateTo will seven days from the DateFrom. ", IsRequired=true, Name="DateTo")
    public DateTo: string;

    /** @description calculate the usage of that period and divide it over the missing hours or 15 minute periods, but this can be calculated (Default: false) */
    // @ApiMember(DataType="Boolean", Description="calculate the usage of that period and divide it over the missing hours or 15 minute periods, but this can be calculated (Default: false)", Name="CalculateMissingUsages")
    public CalculateMissingUsages: boolean;

    public constructor(init?: Partial<Graph>) { super(init); (Object as any).assign(this, init); }
}

TypeScript Graph 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.

GET /api/v6/meteringpoints/{Ean}/graph/{Aggregation}/{DateFrom}/{DateTo} HTTP/1.1 
Host: p4v8.smartdatasolutions.nl 
Accept: text/csv