| GET | /api/v5/meteringpoints/{Ean}/usagereading/{Aggregation}/{DateFrom} | Get usage/reading of a single asset with the selected aggregation starting from DateFrom | |
|---|---|---|---|
| GET | /api/v5/meteringpoints/{Ean}/usagereading/{Aggregation}/{DateFrom}/{DateTo} | Get usage/reading of a single asset with the selected aggregation and period |
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',
}
export enum PayloadFormat
{
UsageReturnCombined = 'UsageReturnCombined',
UsageReturn = 'UsageReturn',
UsageReturnAndTariff = 'UsageReturnAndTariff',
}
export enum MeasurementSource
{
Detail = 'Detail',
Day = 'Day',
Month = 'Month',
Unknown = 'Unknown',
}
/** @description Get usagereading */
// @Api(Description="Get usagereading")
export class UsageReading 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", 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 */
// @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", 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. ", Name="DateTo")
public DateTo?: string;
/** @description The output can be generated in a few formats. UsageReturnCombined: return values will be subtracted from the usage, UsageReturn: separate columns form usage and return (if available) and UsageReturnAndTariff: for both usage and return a column for tariff1 and tariff2. Default value: UsageReturnCombined */
// @ApiMember(DataType="Enum", Description="The output can be generated in a few formats. UsageReturnCombined: return values will be subtracted from the usage, UsageReturn: separate columns form usage and return (if available) and UsageReturnAndTariff: for both usage and return a column for tariff1 and tariff2. Default value: UsageReturnCombined", Name="PayloadFormat")
public PayloadFormat: PayloadFormat;
/** @description See filter. Usages are available from the Detail channel. Default value: Detail */
// @ApiMember(DataType="Enum", Description="See filter. Usages are available from the Detail channel. Default value: Detail", Name="Source")
public Source: MeasurementSource;
/** @description Add column with Dutch day (Default: false) */
// @ApiMember(DataType="Boolean", Description="Add column with Dutch day (Default: false)", Name="AddDateNL")
public AddDateNL: boolean;
/** @description Add columns with CreatedOn and LastUpdated (Default: false) */
// @ApiMember(DataType="Boolean", Description="Add columns with CreatedOn and LastUpdated (Default: false)", Name="AddTimestamps")
public AddTimestamps: boolean;
/** @description Add column with ean (Default: false) */
// @ApiMember(DataType="Boolean", Description="Add column with ean (Default: false)", Name="AddEan")
public AddEan: boolean;
/** @description Create a row for each register instead of a column/field for each register (Default: false) */
// @ApiMember(DataType="Boolean", Description="Create a row for each register instead of a column/field for each register (Default: false)", Name="RegistersInRows")
public RegistersInRows: boolean;
/** @description Gridoperator doesn't provided tariff information for the detail channel, but this can be calculated (Default: false) */
// @ApiMember(DataType="Boolean", Description="Gridoperator doesn't provided tariff information for the detail channel, but this can be calculated (Default: false)", Name="CalculateDetailTariff")
public CalculateDetailTariff: boolean;
/** @description If want to get the reading as well with the usages */
// @ApiMember(DataType="Boolean", Description="If want to get the reading as well with the usages", Name="AlsoReading")
public AlsoReading: boolean;
/** @description CacheKey used for Internal logic */
// @ApiMember(Description="CacheKey used for Internal logic", Name="CacheKey")
public CacheKey: string;
public constructor(init?: Partial<UsageReading>) { super(init); (Object as any).assign(this, init); }
}
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/v5/meteringpoints/{Ean}/usagereading/{Aggregation}/{DateFrom} HTTP/1.1
Host: p4v8.smartdatasolutions.nl
Accept: text/csv