Server

<back to all web services

PostDeviceConsumption

Deviceconsumptions
Requires Authentication
The following routes are available for this service:
POST/api/v1/deviceconsumptions
import Foundation
import ServiceStack

public class PostDeviceConsumption : IHasBearerToken, Codable
{
    // @ApiMember(IsRequired=true, ParameterType="body")
    public var deviceConsumption:DeviceConsumption

    // @ApiMember(IsRequired=true, ParameterType="body")
    public var relatedToDevice:RelatedTo

    // @ApiMember(IsRequired=true, ParameterType="body")
    public var bearerToken:String

    required public init(){}
}

// @DataContract
public class DeviceConsumption : Codable
{
    // @DataMember
    public var guid:String

    // @DataMember
    public var deviceReading:Double?

    // @DataMember
    public var deviceReadingDate:Date?

    // @DataMember
    public var deviceReadingKind:DeviceReadingKind

    // @DataMember
    public var changeDate:Date?

    // @DataMember
    public var note:String

    // @DataMember
    public var ampouleColour:String

    // @DataMember
    public var deviceGuid:String

    required public init(){}
}

public enum DeviceReadingKind : String, Codable
{
    case ZA
    case HA
    case MO
    case EB
    case AB
}

// @DataContract
public class RelatedTo : Codable
{
    // @DataMember
    public var guid:String

    required public init(){}
}

public class PostDeviceConsumptionResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var checksumMD5:String

    required public init(){}
}


Swift PostDeviceConsumption 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.

POST /api/v1/deviceconsumptions HTTP/1.1 
Host: kromer-servdesk.eras-online.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	deviceConsumption: 
	{
		guid: 00000000000000000000000000000000,
		deviceReading: 0,
		deviceReadingDate: 0001-01-01T00:00:00Z,
		deviceReadingKind: ZA,
		changeDate: 0001-01-01T00:00:00Z,
		note: String,
		ampouleColour: String,
		deviceGuid: String
	},
	relatedToDevice: 
	{
		guid: 00000000000000000000000000000000
	},
	bearerToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	checksumMD5: String
}