Server

<back to all web services

GetCustomers

Requires Authentication
The following routes are available for this service:
GET/Customers
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models

Namespace Global

    Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models

        <DataContract>
        Public Partial Class Customer
            Public Sub New()
                CustomerAddresses = New List(Of CustomerAddress)
                CustomerObjekte = New List(Of CustomerObjekt)
            End Sub

            <DataMember(Name:="Guid")>
            Public Overridable Property Guid As String

            <DataMember(Name:="Name1")>
            Public Overridable Property Name1 As String

            <DataMember(Name:="Name2")>
            Public Overridable Property Name2 As String

            <DataMember(Name:="Name3")>
            Public Overridable Property Name3 As String

            <DataMember(Name:="Kundennummer")>
            Public Overridable Property Number As String

            <DataMember(Name:="Anrede")>
            Public Overridable Property Salutation As String

            <DataMember(Name:="KundenAdressen")>
            Public Overridable Property CustomerAddresses As List(Of CustomerAddress)

            <DataMember(Name:="KundenObjekte")>
            Public Overridable Property CustomerObjekte As List(Of CustomerObjekt)
        End Class

        <DataContract>
        Public Partial Class CustomerAddress
            <DataMember(Name:="AdresseGuid")>
            Public Overridable Property AddressGuid As String

            <DataMember(Name:="IstPrimaer")>
            Public Overridable Property IsPrimary As Boolean

            <DataMember(Name:="AdressTypBezeichnung")>
            Public Overridable Property AddressKindLabel As String

            <DataMember(Name:="AdressTyp")>
            Public Overridable Property AddressKindTyp As String
        End Class

        <DataContract>
        Public Partial Class CustomerObjekt
            <DataMember(Name:="Guid")>
            Public Overridable Property Guid As String

            <DataMember(Name:="ZeitraumVon")>
            Public Overridable Property RangeFrom As Date

            <DataMember(Name:="ZeitraumBis")>
            Public Overridable Property RangeTo As Nullable(Of Date)

            <DataMember(Name:="IstKunde")>
            Public Overridable Property IsCustomer As Boolean

            <DataMember(Name:="IstEigentümer")>
            Public Overridable Property IsOwner As Boolean

            <DataMember(Name:="IstEigentümerPseudo")>
            Public Overridable Property IsOwnerPseudo As Boolean

            <DataMember(Name:="ObjektGuid")>
            Public Overridable Property ObjektGuid As String

            <DataMember(Name:="KundeGuid")>
            Public Overridable Property CustomerGuid As String
        End Class
    End Namespace

    Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get

        Public Partial Class GetCustomers
            Implements IHasBearerToken
            <ApiMember(IsRequired:=true, ParameterType:="query")>
            Public Overridable Property BearerToken As String

            <ApiMember(ParameterType:="query")>
            Public Overridable Property Include As String

            '''<Summary>
            '''Optional! Follow the format : /api/v1/Customers?filter[Number]=*
            '''</Summary>
            <DataMember(Name:="filter[Number]")>
            <ApiMember(Description:="Optional! Follow the format : /api/v1/Customers?filter[Number]=*", ParameterType:="query")>
            Public Overridable Property FilterByNumber As String

            '''<Summary>
            '''Optional! Follow the format : /api/v1/Customers?filter[ObjektGuid]=*
            '''</Summary>
            <DataMember(Name:="filter[ObjektGuid]")>
            <ApiMember(Description:="Optional! Follow the format : /api/v1/Customers?filter[ObjektGuid]=*", ParameterType:="query")>
            Public Overridable Property FilterObjektGuid As Guid
        End Class

        Public Partial Class GetCustomersResponse
            Public Overridable Property Customers As IEnumerable(Of Customer)
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET GetCustomers 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 /Customers HTTP/1.1 
Host: mitchell-servdesk.eras-online.de 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	kunden: 
	[
		{
			Guid: String,
			Name1: String,
			Name2: String,
			Name3: String,
			Kundennummer: String,
			Anrede: String,
			KundenAdressen: 
			[
				{
					AdresseGuid: String,
					IstPrimaer: False,
					AdressTypBezeichnung: String,
					AdressTyp: String
				}
			],
			KundenObjekte: 
			[
				{
					Guid: String,
					ZeitraumVon: 0001-01-01T00:00:00Z,
					ZeitraumBis: 0001-01-01T00:00:00Z,
					IstKunde: False,
					IstEigentümer: False,
					IstEigentümerPseudo: False,
					ObjektGuid: String,
					KundeGuid: String
				}
			]
		}
	],
	objekte: 
	[
		{
			Guid: String,
			Objektnummer: String,
			IstAbgeschlossen: String,
			Uvi: String,
			IsUviDisabled: String,
			AbgeschlossenDatum: 0001-01-01T00:00:00Z,
			AdressGuid: String,
			AnmerkungKundenportal: String,
			KundenportalMarkedDone: False,
			MarkedDoneAt: 0001-01-01T00:00:00Z
		}
	],
	addressen: 
	[
		{
			Guid: String,
			Straße: String,
			Straße2: String,
			Hausnummer: String,
			Postleitzahl: String,
			Ort: String,
			Postfach: String,
			Adresszusatz: String
		}
	],
	nutzer: 
	[
		{
			Guid: String,
			Name1: String,
			Name2: String,
			Name3: String,
			Name4: String,
			NutzerType: String,
			NutzeinheitNummerExtern: String,
			NutzerInNutzeinheitReihenfolge: 0,
			ZeitraumVon: 0001-01-01T00:00:00Z,
			ZeitraumBis: 0001-01-01T00:00:00Z,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			Uvi: String,
			EigentuemerBewohnt: String,
			Email: String,
			Mobil: String,
			Titel: String,
			Anrede: String,
			NutzeinheitGuid: String
		}
	],
	nutzerCoownership: 
	[
		{
			Guid: String,
			ShareValue: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	nutzerPersonen: 
	[
		{
			Guid: String,
			Personen: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	nutzerQuadratmeter: 
	[
		{
			Guid: String,
			Quadratmeter_Hzg: 0,
			Quadratmeter_Ww: 0,
			Quadratmeter_Nk: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	eigentuemerNutzeinheit: 
	[
		{
			Guid: String,
			Name1: String,
			Name2: String,
			Name3: String,
			Name4: String,
			ZeitraumVon: 0001-01-01T00:00:00Z,
			ZeitraumBis: 0001-01-01T00:00:00Z,
			Titel: String,
			Anrede: String,
			AdressGuid: String,
			NutzeinheitGuid: String
		}
	],
	nutzeinheiten: 
	[
		{
			Guid: String,
			Nummer: String,
			Lage: String,
			ObjektGuid: String,
			AdressGuid: String
		}
	],
	direktkosten: 
	[
		{
			Guid: String,
			Bezeichnung: String,
			Datum: 0001-01-01T00:00:00Z,
			Brutto: 0,
			Mwst: 0,
			Menge: 0,
			Typ: String,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			ObjektGuid: String,
			NutzerGuid: String,
			BillingInformationGuid: String
		}
	],
	prepayments: 
	[
		{
			Guid: String,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			VZ Nebenkosten: 0,
			VZ Heizkosten: 0,
			VZ Warmwasser: 0,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			ObjektGuid: String,
			NutzerGuid: String,
			BillingInformationGuid: String
		}
	],
	energieVerwerter: 
	[
		{
			Guid: String,
			Bezeichnung: String,
			Wirkungsgrad: 0,
			Einbau: 0001-01-01T00:00:00Z,
			Ausbau: 0001-01-01T00:00:00Z,
			Baujahr: 0,
			Temperatur: 0,
			EigenstGewerbLieferung: False,
			Brennwert: False,
			ObjektGuid: String,
			BrennstoffMediumGuid: String
		}
	],
	brennstofflieferungen: 
	[
		{
			Guid: String,
			Lieferdatum: 0001-01-01T00:00:00Z,
			Mwst: 0,
			Emissionsangabe: 0,
			Steuern: 0,
			Zolle: 0,
			SonstigeAngaben: 0,
			C02Preis: 0,
			C02Tonnen: 0,
			Menge: 0,
			Betrag: 0,
			Anfangsstand: 0,
			Endstand: 0,
			Heizwert: 0,
			Brennwert: False,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			EnergieEntlastungsbetragBezeichnung: String,
			EnergieEntlastungsbetrag: 0,
			StromEntlastungsbetragBezeichnung: String,
			StromEntlastungsbetrag: 0,
			CO2Emissionsfaktor: 0,
			CO2Text: String,
			CO2Aktiv: False,
			CO2PreisKnd: False,
			CO2PreisVermieter: 0,
			CO2PreisMieter: 0,
			CO2Flaeche: 0,
			GewerblicheNutzung: False,
			Sanierungsauflagen: False,
			AuflagenHeizungsverbesserung: False,
			CO2KWH: 0,
			EnthalteneMwst: 0,
			CO2KostenBrutto: 0,
			CO2GesamtKg: 0,
			KeinGesamtabzugC02Kosten: False,
			EnergieVerwerterGuid: String,
			BrennstoffMediumGuid: String,
			BillingInformationGuid: String
		}
	],
	nebenkosten: 
	[
		{
			Guid: String,
			Kostennummer: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			UmlageZiel: String,
			UmlageZielIn: String,
			NebenkostenArt: String,
			Kostenart: String,
			Brutto: 0,
			BruttoLetztesJahr: 0,
			Mwst: 0,
			HaushaltsnahediensteLabel: String,
			HaushaltsnahediensteBrutto: 0,
			EinheitDerKostenart: String,
			Reduzierungsart: String,
			Kommentar: String,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			ObjektGuid: String,
			BillingInformationGuid: String,
			NebenkostenNutzeinheiten: 
			[
				{
					Anteil: 0,
					IstGeloescht: False,
					IstErzeugtVonApp: False,
					NutzeinheitGuid: String
				}
			],
			NebenkostenNutzer: 
			[
				{
					Anteil: 0,
					IstGeloescht: False,
					IstErzeugtVonApp: False,
					NutzerGuid: String
				}
			]
		}
	],
	heizbetriebskosten: 
	[
		{
			Guid: String,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			Mwst: 0,
			HaushatlsnahediensteBrutto: 0,
			Brutto: 0,
			HaushatlsnahediensteLabel: String,
			Anmerkung: String,
			IstGeloescht: False,
			IstErzeugtVonApp: False,
			ObjektGuid: String,
			BillingInformationGuid: String
		}
	],
	nutzeinheitDevices: 
	[
		{
			Guid: String,
			ZuordnungVon: 0001-01-01T00:00:00Z,
			ZuordnungBis: 0001-01-01T00:00:00Z,
			Raum: String,
			LaufendeNummer: String,
			gemietet: False,
			gewartet: False,
			DeviceGuid: String,
			NutzeinheitGuid: String
		}
	],
	devices: 
	[
		{
			Guid: String,
			Geraetenummer: String,
			Bezeichnung: String,
			Beschreibung: String,
			Einbaudatum: 0001-01-01T00:00:00Z,
			Ausbaudatum: 0001-01-01T00:00:00Z,
			Eichdatum: 0001-01-01T00:00:00Z,
			Einheit: String,
			Memo: String,
			DeviceCatalogGuid: String
		}
	],
	deviceConsumptions: 
	[
		{
			Guid: String,
			Ablesung: 0,
			Ablesedatum: 0001-01-01T00:00:00Z,
			Ableseart: String,
			Aenderungsdatum: 0001-01-01T00:00:00Z,
			Anmerkung: String,
			Ampullenfarbe: String,
			DeviceGuid: String
		}
	],
	billingInformation: 
	[
		{
			Guid: String,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			IstAbgeschlossen: False,
			HatNebenkosten: False,
			ObjektGuid: String,
			AnmerkungKundenportal: String,
			KundenportalMarkedDone: False,
			MarkedDoneAt: 0001-01-01T00:00:00Z,
			KundenportalMarkedClosed: False,
			MarkedClosedAt: 0001-01-01T00:00:00Z
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}