SDS P4 API

<back to all web services

Meteringpoints

Get list of metering points

The following routes are available for this service:
GET/api/v5/meteringpoints/Show list of all metering points linked to the provided ApiKey
GET/api/v5/meteringpoints/{Ean}Get detailed information about the requested metering point
import 'package:servicestack/servicestack.dart';

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

class Generic implements IConvertible
{
    /**
    * 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")
    String? ApiKey;

    /**
    * 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")
    bool? OnlyPayload;

    /**
    * 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")
    bool? ShowRequest;

    /**
    * 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")
    DateTimeFormat? DateTimeFormat;

    Generic({this.ApiKey,this.OnlyPayload,this.ShowRequest,this.DateTimeFormat});
    Generic.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ApiKey = json['ApiKey'];
        OnlyPayload = json['OnlyPayload'];
        ShowRequest = json['ShowRequest'];
        DateTimeFormat = JsonConverters.fromJson(json['DateTimeFormat'],'DateTimeFormat',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ApiKey': ApiKey,
        'OnlyPayload': OnlyPayload,
        'ShowRequest': ShowRequest,
        'DateTimeFormat': JsonConverters.toJson(DateTimeFormat,'DateTimeFormat',context!)
    };

    getTypeName() => "Generic";
    TypeContext? context = _ctx;
}

/**
* Get list of metering points
*/
// @Api(Description="Get list of metering points")
class Meteringpoints extends Generic implements IConvertible
{
    /**
    * Skip the first ... metering points
    */
    // @ApiMember(DataType="Integer", Description="Skip the first ... metering points", Name="Offset")
    int? Offset;

    /**
    * Limit response to ... metering points
    */
    // @ApiMember(DataType="Integer", Description="Limit response to ... metering points", Name="Limit")
    int? Limit;

    /**
    * Request of details of specific metering point with Ean
    */
    // @ApiMember(DataType="EAN (18 numbers)", Description="Request of details of specific metering point with Ean", Name="Ean")
    String? Ean;

    /**
    * Include metering points with ended contracts (Default: false)
    */
    // @ApiMember(DataType="Boolean", Description="Include metering points with ended contracts (Default: false)", Name="ShowEnded")
    bool? ShowEnded;

    /**
    * Include additional info about the metering point (Default: false)
    */
    // @ApiMember(DataType="Boolean", Description="Include additional info about the metering point (Default: false)", Name="AddExtraInfo")
    bool? AddExtraInfo;

    Meteringpoints({this.Offset,this.Limit,this.Ean,this.ShowEnded,this.AddExtraInfo});
    Meteringpoints.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Offset = json['Offset'];
        Limit = json['Limit'];
        Ean = json['Ean'];
        ShowEnded = json['ShowEnded'];
        AddExtraInfo = json['AddExtraInfo'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Offset': Offset,
        'Limit': Limit,
        'Ean': Ean,
        'ShowEnded': ShowEnded,
        'AddExtraInfo': AddExtraInfo
    });

    getTypeName() => "Meteringpoints";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'p4v8.smartdatasolutions.nl', types: <String, TypeInfo> {
    'DateTimeFormat': TypeInfo(TypeOf.Enum, enumValues:DateTimeFormat.values),
    'Generic': TypeInfo(TypeOf.Class, create:() => Generic()),
    'Meteringpoints': TypeInfo(TypeOf.Class, create:() => Meteringpoints()),
});

Dart Meteringpoints 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/ HTTP/1.1 
Host: p4v8.smartdatasolutions.nl 
Accept: text/csv