SDS P4 API

<back to all web services

UsageReading

Get usagereading

The following routes are available for this service:
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
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using SDS.P4v6a.API.ServiceModel.Requests;
using SDS.P4v6a.API.Common;

namespace SDS.P4v6a.API.ServiceModel.Requests
{
    public partial class 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")]
        public virtual string ApiKey { 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")]
        public virtual bool OnlyPayload { 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")]
        public virtual bool ShowRequest { 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")]
        public virtual DateTimeFormat DateTimeFormat { get; set; }
    }

    ///<summary>
    ///Get usagereading
    ///</summary>
    [Api(Description="Get usagereading")]
    public partial class UsageReading
        : 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")]
        public virtual string Ean { 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
        ///</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", IsRequired=true, Name="Aggregation")]
        public virtual AggregationForAPI Aggregation { 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")]
        public virtual DateTime DateFrom { 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")]
        public virtual DateTime? DateTo { 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")]
        public virtual PayloadFormat PayloadFormat { get; set; }

        ///<summary>
        ///See filter. Usages are available from the Detail channel. Default value: Detail
        ///</summary>
        [ApiMember(DataType="Enum", Description="See filter. Usages are available from the Detail channel. Default value: Detail", Name="Source")]
        public virtual MeasurementSource Source { get; set; }

        ///<summary>
        ///Add column with Dutch day (Default: false)
        ///</summary>
        [ApiMember(DataType="Boolean", Description="Add column with Dutch day (Default: false)", Name="AddDateNL")]
        public virtual bool AddDateNL { 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")]
        public virtual bool AddTimestamps { get; set; }

        ///<summary>
        ///Add column with ean (Default: false)
        ///</summary>
        [ApiMember(DataType="Boolean", Description="Add column with ean (Default: false)", Name="AddEan")]
        public virtual bool AddEan { 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")]
        public virtual bool RegistersInRows { 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")]
        public virtual bool CalculateDetailTariff { get; set; }

        ///<summary>
        ///If want to get the reading as well with the usages
        ///</summary>
        [ApiMember(DataType="Boolean", Description="If want to get the reading as well with the usages", Name="AlsoReading")]
        public virtual bool AlsoReading { get; set; }

        ///<summary>
        ///CacheKey used for Internal logic
        ///</summary>
        [ApiMember(Description="CacheKey used for Internal logic", Name="CacheKey")]
        public virtual string CacheKey { get; set; }
    }

}

C# UsageReading 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/v5/meteringpoints/{Ean}/usagereading/{Aggregation}/{DateFrom} HTTP/1.1 
Host: p4v8.smartdatasolutions.nl 
Accept: text/csv