| GET | /api/v6/meteringpoints/{Ean}/graph/{Aggregation}/{DateFrom}/{DateTo} | Get usages based on aggregation starting from DateFrom to endDate |
|---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
/**
* Get data for graph, usages and some statistical information
*/
@Api(Description="Get data for graph, usages and some statistical information")
public static class Graph extends Generic
{
/**
* 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 String Ean = null;
/**
* 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 AggregationForAPI Aggregation = null;
/**
* 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 Date DateFrom = null;
/**
* 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 Date DateTo = null;
/**
* 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 Boolean CalculateMissingUsages = null;
public String getEan() { return Ean; }
public Graph setEan(String value) { this.Ean = value; return this; }
public AggregationForAPI getAggregation() { return Aggregation; }
public Graph setAggregation(AggregationForAPI value) { this.Aggregation = value; return this; }
public Date getDateFrom() { return DateFrom; }
public Graph setDateFrom(Date value) { this.DateFrom = value; return this; }
public Date getDateTo() { return DateTo; }
public Graph setDateTo(Date value) { this.DateTo = value; return this; }
public Boolean isCalculateMissingUsages() { return CalculateMissingUsages; }
public Graph setCalculateMissingUsages(Boolean value) { this.CalculateMissingUsages = value; return this; }
}
public static class Generic
{
/**
* 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 String ApiKey = null;
/**
* 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 Boolean OnlyPayload = null;
/**
* 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 Boolean ShowRequest = null;
/**
* 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 = null;
public String getApiKey() { return ApiKey; }
public Generic setApiKey(String value) { this.ApiKey = value; return this; }
public Boolean isOnlyPayload() { return OnlyPayload; }
public Generic setOnlyPayload(Boolean value) { this.OnlyPayload = value; return this; }
public Boolean isShowRequest() { return ShowRequest; }
public Generic setShowRequest(Boolean value) { this.ShowRequest = value; return this; }
public DateTimeFormat getDateTimeFormat() { return DateTimeFormat; }
public Generic setDateTimeFormat(DateTimeFormat value) { this.DateTimeFormat = value; return this; }
}
public static enum DateTimeFormat
{
IsO8601,
Utc,
Nl,
NlOffset,
In,
InOffset,
Unix,
UnixMillis;
}
public static enum AggregationForAPI
{
None,
Hour,
Day,
Week,
Month,
Year;
}
}
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.
GET /api/v6/meteringpoints/{Ean}/graph/{Aggregation}/{DateFrom}/{DateTo} HTTP/1.1
Host: p4v8.smartdatasolutions.nl
Accept: text/csv