| GET | /api/v5/meteringpoints/{Ean}/usages/{Aggregation}/{DateFrom} | Get usages of a single asset with the selected aggregation starting from DateFrom from tablestorage | |
|---|---|---|---|
| GET | /api/v5/meteringpoints/{Ean}/usages/{Aggregation}/{DateFrom}/{DateTo} | Get usages of a single asset with the selected aggregation and period from tablestorage |
namespace SDS.P4v6a.API.Common
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type DateTimeFormat =
| ISO8601 = 0
| UTC = 1
| NL = 2
| NLOffset = 3
| IN = 4
| INOffset = 5
| Unix = 6
| UnixMillis = 7
[<AllowNullLiteral>]
type Generic() =
///<summary>
///Api-key. Used to provide credentials to the api. Can also be provided through the request headers with key: X-API-KEY
///</summary>
[<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")>]
member val ApiKey:String = null with get,set
///<summary>
///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
///</summary>
[<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")>]
member val OnlyPayload:Boolean = new Boolean() with get,set
///<summary>
///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
///</summary>
[<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")>]
member val ShowRequest:Boolean = new Boolean() with get,set
///<summary>
///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
///</summary>
[<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")>]
member val DateTimeFormat:DateTimeFormat = new DateTimeFormat() with get,set
type AggregationForAPI =
| None = 0
| Hour = 1
| Day = 2
| Week = 3
| Month = 4
| Year = 5
type PayloadFormat =
| UsageReturnCombined = 0
| UsageReturn = 1
| UsageReturnAndTariff = 2
type MeasurementSource =
| Detail = 0
| Day = 1
| Month = 2
| Unknown = 3
///<summary>
///Get usages from tablestorage
///</summary>
[<Api(Description="Get usages from tablestorage")>]
[<AllowNullLiteral>]
type Usage() =
inherit Generic()
///<summary>
///Request of details of specific meteringpoint with Ean
///</summary>
[<ApiMember(DataType="EAN (18 numbers)", Description="Request of details of specific meteringpoint with Ean", Name="Ean")>]
member val Ean:String = null with get,set
///<summary>
///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
///</summary>
[<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", IsRequired=true, Name="Aggregation")>]
member val Aggregation:AggregationForAPI = new AggregationForAPI() with get,set
///<summary>
///Start date the usages are requested for
///</summary>
[<ApiMember(DataType="Date: yyyy-mm-dd", Description="Start date the usages are requested for", IsRequired=true, Name="DateFrom")>]
member val DateFrom:DateTime = new DateTime() with get,set
///<summary>
///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.
///</summary>
[<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")>]
member val DateTo:Nullable<DateTime> = new Nullable<DateTime>() with get,set
///<summary>
///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
///</summary>
[<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")>]
member val PayloadFormat:PayloadFormat = new PayloadFormat() with get,set
///<summary>
///See filter. Usages are available from the Detail or Day channel. Default value: Detail
///</summary>
[<ApiMember(DataType="Enum", Description="See filter. Usages are available from the Detail or Day channel. Default value: Detail", Name="Source")>]
member val Source:MeasurementSource = new MeasurementSource() with get,set
///<summary>
///Add column with Dutch day (Default: false)
///</summary>
[<ApiMember(DataType="Boolean", Description="Add column with Dutch day (Default: false)", Name="AddDateNL")>]
member val AddDateNL:Boolean = new Boolean() with get,set
///<summary>
///Add columns with CreatedOn and LastUpdated (Default: false)
///</summary>
[<ApiMember(DataType="Boolean", Description="Add columns with CreatedOn and LastUpdated (Default: false)", Name="AddTimestamps")>]
member val AddTimestamps:Boolean = new Boolean() with get,set
///<summary>
///Add column with ean (Default: false)
///</summary>
[<ApiMember(DataType="Boolean", Description="Add column with ean (Default: false)", Name="AddEan")>]
member val AddEan:Boolean = new Boolean() with get,set
///<summary>
///Create a row for each register instead of a column/field for each register (Default: false)
///</summary>
[<ApiMember(DataType="Boolean", Description="Create a row for each register instead of a column/field for each register (Default: false)", Name="RegistersInRows")>]
member val RegistersInRows:Boolean = new Boolean() with get,set
///<summary>
///Gridoperator doesn't provided tariff information for the detail channel, but this can be calculated (Default: false)
///</summary>
[<ApiMember(DataType="Boolean", Description="Gridoperator doesn't provided tariff information for the detail channel, but this can be calculated (Default: false)", Name="CalculateDetailTariff")>]
member val CalculateDetailTariff:Boolean = new Boolean() with get,set
///<summary>
///calculate the usage of that period and divide it over the missing hours or 15 minute periods, but this can be calculated (Default: false)
///</summary>
[<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")>]
member val CalculateMissingUsages:Boolean = new Boolean() with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/v5/meteringpoints/{Ean}/usages/{Aggregation}/{DateFrom} HTTP/1.1
Host: p4v8.smartdatasolutions.nl
Accept: text/jsonl