Server

<back to all web services

GetDevice

Devices
Requires Authentication
The following routes are available for this service:
GET/api/v1/devices/{Guid}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models;
using Eras2Web.Service.Desktop.Server.ServiceModel.Enums;
using Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten;

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
{
    public enum DeviceReadingKind
    {
        ZA,
        HA,
        MO,
        EB,
        AB,
    }

    public enum EinheitType
    {
        L,
        Kg,
        CBM,
        Stck,
        KWH,
        MWH,
        GWH,
        T,
        RM,
        Einheit,
        Qm,
        GJ,
        MJ,
        Null,
        St,
        Srm,
        Wh,
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get
{
    public partial class GetDevice
        : IHasBearerToken
    {
        [ApiMember(IsRequired=true, ParameterType="query")]
        public virtual string BearerToken { get; set; }

        [ApiMember(IsRequired=true, ParameterType="path")]
        public virtual Guid Guid { get; set; }
    }

    public partial class GetDeviceResponse
    {
        public virtual Device Device { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
{
    [DataContract]
    public partial class Device
    {
        public Device()
        {
            DeviceConsumptions = new List<DeviceConsumption>{};
        }

        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual string Number { get; set; }

        [DataMember]
        public virtual string Label { get; set; }

        [DataMember]
        public virtual string Description { get; set; }

        [DataMember]
        public virtual DateTime InstallationDate { get; set; }

        [DataMember]
        public virtual DateTime? DeinstallationDate { get; set; }

        [DataMember]
        public virtual DateTime? CalibrationDate { get; set; }

        [DataMember]
        public virtual EinheitType Unit { get; set; }

        [DataMember]
        public virtual string Note { get; set; }

        [DataMember]
        public virtual DeviceCatalog DeviceCatalog { get; set; }

        [DataMember]
        public virtual List<DeviceConsumption> DeviceConsumptions { get; set; }
    }

    [DataContract]
    public partial class DeviceConsumption
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual double? DeviceReading { get; set; }

        [DataMember]
        public virtual DateTime? DeviceReadingDate { get; set; }

        [DataMember]
        public virtual DeviceReadingKind DeviceReadingKind { get; set; }

        [DataMember]
        public virtual DateTime? ChangeDate { get; set; }

        [DataMember]
        public virtual string Note { get; set; }

        [DataMember]
        public virtual string AmpouleColour { get; set; }

        [DataMember]
        public virtual string DeviceGuid { get; set; }
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten
{
    [DataContract]
    public partial class DeviceCatalog
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="TypKurz")]
        public virtual string TypeShort { get; set; }

        [DataMember(Name="TypLang")]
        public virtual string TypeLong { get; set; }

        [DataMember(Name="Ablesbar")]
        public virtual bool Readable { get; set; }

        [DataMember(Name="Klasse")]
        public virtual string Class { get; set; }

        [DataMember(Name="Abzug")]
        public virtual bool Subtraction { get; set; }

        [DataMember(Name="Hkvv")]
        public virtual bool Hkvv { get; set; }

        [DataMember(Name="Funk")]
        public virtual bool Radio { get; set; }
    }

}

C# GetDevice DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/v1/devices/{Guid} HTTP/1.1 
Host: mi-waerme-servdesk.eras-online.de 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	device: 
	{
		guid: 00000000000000000000000000000000,
		number: String,
		label: String,
		description: String,
		installationDate: 0001-01-01T00:00:00Z,
		deinstallationDate: 0001-01-01T00:00:00Z,
		calibrationDate: 0001-01-01T00:00:00Z,
		unit: L,
		note: String,
		deviceCatalog: 
		{
			Guid: String,
			TypKurz: String,
			TypLang: String,
			Ablesbar: False,
			Klasse: String,
			Abzug: False,
			Hkvv: False,
			Funk: False
		},
		deviceConsumptions: 
		[
			{
				guid: 00000000000000000000000000000000,
				deviceReading: 0,
				deviceReadingDate: 0001-01-01T00:00:00Z,
				deviceReadingKind: ZA,
				changeDate: 0001-01-01T00:00:00Z,
				note: String,
				ampouleColour: String,
				deviceGuid: String
			}
		]
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}