Server

<back to all web services

GetCustomers

Requires Authentication
The following routes are available for this service:
GET/Customers
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    public static class GetCustomers implements IHasBearerToken
    {
        @ApiMember(IsRequired=true, ParameterType="query")
        public String bearerToken = null;

        @ApiMember(ParameterType="query")
        public String include = null;

        /**
        * Optional! Follow the format : /api/v1/Customers?filter[Number]=*
        */
        @DataMember(Name="filter[Number]")
        @SerializedName("filter[Number]")
        @ApiMember(Description="Optional! Follow the format : /api/v1/Customers?filter[Number]=*", ParameterType="query")
        public String filterByNumber = null;

        /**
        * Optional! Follow the format : /api/v1/Customers?filter[ObjektGuid]=*
        */
        @DataMember(Name="filter[ObjektGuid]")
        @SerializedName("filter[ObjektGuid]")
        @ApiMember(Description="Optional! Follow the format : /api/v1/Customers?filter[ObjektGuid]=*", ParameterType="query")
        public UUID filterObjektGuid = null;
        
        public String getBearerToken() { return bearerToken; }
        public GetCustomers setBearerToken(String value) { this.bearerToken = value; return this; }
        public String getInclude() { return include; }
        public GetCustomers setInclude(String value) { this.include = value; return this; }
        public String getFilterByNumber() { return filterByNumber; }
        public GetCustomers setFilterByNumber(String value) { this.filterByNumber = value; return this; }
        public UUID getFilterObjektGuid() { return filterObjektGuid; }
        public GetCustomers setFilterObjektGuid(UUID value) { this.filterObjektGuid = value; return this; }
    }

    public static class GetCustomersResponse
    {
        public ArrayList<Customer> customers = null;
        public ResponseStatus responseStatus = null;
        
        public ArrayList<Customer> getCustomers() { return customers; }
        public GetCustomersResponse setCustomers(ArrayList<Customer> value) { this.customers = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public GetCustomersResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    @DataContract
    public static class Customer
    {
        @DataMember(Name="Guid")
        @SerializedName("Guid")
        public String guid = null;

        @DataMember(Name="Name1")
        @SerializedName("Name1")
        public String name1 = null;

        @DataMember(Name="Name2")
        @SerializedName("Name2")
        public String name2 = null;

        @DataMember(Name="Name3")
        @SerializedName("Name3")
        public String name3 = null;

        @DataMember(Name="Kundennummer")
        @SerializedName("Kundennummer")
        public String number = null;

        @DataMember(Name="Anrede")
        @SerializedName("Anrede")
        public String salutation = null;

        @DataMember(Name="KundenAdressen")
        @SerializedName("KundenAdressen")
        public ArrayList<CustomerAddress> customerAddresses = null;

        @DataMember(Name="KundenObjekte")
        @SerializedName("KundenObjekte")
        public ArrayList<CustomerObjekt> customerObjekte = null;
        
        public String getGuid() { return guid; }
        public Customer setGuid(String value) { this.guid = value; return this; }
        public String getName1() { return name1; }
        public Customer setName1(String value) { this.name1 = value; return this; }
        public String getName2() { return name2; }
        public Customer setName2(String value) { this.name2 = value; return this; }
        public String getName3() { return name3; }
        public Customer setName3(String value) { this.name3 = value; return this; }
        public String getNumber() { return number; }
        public Customer setNumber(String value) { this.number = value; return this; }
        public String getSalutation() { return salutation; }
        public Customer setSalutation(String value) { this.salutation = value; return this; }
        public ArrayList<CustomerAddress> getCustomerAddresses() { return customerAddresses; }
        public Customer setCustomerAddresses(ArrayList<CustomerAddress> value) { this.customerAddresses = value; return this; }
        public ArrayList<CustomerObjekt> getCustomerObjekte() { return customerObjekte; }
        public Customer setCustomerObjekte(ArrayList<CustomerObjekt> value) { this.customerObjekte = value; return this; }
    }

    @DataContract
    public static class CustomerAddress
    {
        @DataMember(Name="AdresseGuid")
        @SerializedName("AdresseGuid")
        public String addressGuid = null;

        @DataMember(Name="IstPrimaer")
        @SerializedName("IstPrimaer")
        public Boolean isPrimary = null;

        @DataMember(Name="AdressTypBezeichnung")
        @SerializedName("AdressTypBezeichnung")
        public String addressKindLabel = null;

        @DataMember(Name="AdressTyp")
        @SerializedName("AdressTyp")
        public String addressKindTyp = null;
        
        public String getAddressGuid() { return addressGuid; }
        public CustomerAddress setAddressGuid(String value) { this.addressGuid = value; return this; }
        public Boolean getIsPrimary() { return isPrimary; }
        public CustomerAddress setIsPrimary(Boolean value) { this.isPrimary = value; return this; }
        public String getAddressKindLabel() { return addressKindLabel; }
        public CustomerAddress setAddressKindLabel(String value) { this.addressKindLabel = value; return this; }
        public String getAddressKindTyp() { return addressKindTyp; }
        public CustomerAddress setAddressKindTyp(String value) { this.addressKindTyp = value; return this; }
    }

    @DataContract
    public static class CustomerObjekt
    {
        @DataMember(Name="Guid")
        @SerializedName("Guid")
        public String guid = null;

        @DataMember(Name="ZeitraumVon")
        @SerializedName("ZeitraumVon")
        public Date rangeFrom = null;

        @DataMember(Name="ZeitraumBis")
        @SerializedName("ZeitraumBis")
        public Date rangeTo = null;

        @DataMember(Name="IstKunde")
        @SerializedName("IstKunde")
        public Boolean isCustomer = null;

        @DataMember(Name="IstEigentümer")
        @SerializedName("IstEigentümer")
        public Boolean isOwner = null;

        @DataMember(Name="IstEigentümerPseudo")
        @SerializedName("IstEigentümerPseudo")
        public Boolean isOwnerPseudo = null;

        @DataMember(Name="ObjektGuid")
        @SerializedName("ObjektGuid")
        public String objektGuid = null;

        @DataMember(Name="KundeGuid")
        @SerializedName("KundeGuid")
        public String customerGuid = null;
        
        public String getGuid() { return guid; }
        public CustomerObjekt setGuid(String value) { this.guid = value; return this; }
        public Date getRangeFrom() { return rangeFrom; }
        public CustomerObjekt setRangeFrom(Date value) { this.rangeFrom = value; return this; }
        public Date getRangeTo() { return rangeTo; }
        public CustomerObjekt setRangeTo(Date value) { this.rangeTo = value; return this; }
        public Boolean getIsCustomer() { return isCustomer; }
        public CustomerObjekt setIsCustomer(Boolean value) { this.isCustomer = value; return this; }
        public Boolean getIsOwner() { return isOwner; }
        public CustomerObjekt setIsOwner(Boolean value) { this.isOwner = value; return this; }
        public Boolean getIsOwnerPseudo() { return isOwnerPseudo; }
        public CustomerObjekt setIsOwnerPseudo(Boolean value) { this.isOwnerPseudo = value; return this; }
        public String getObjektGuid() { return objektGuid; }
        public CustomerObjekt setObjektGuid(String value) { this.objektGuid = value; return this; }
        public String getCustomerGuid() { return customerGuid; }
        public CustomerObjekt setCustomerGuid(String value) { this.customerGuid = value; return this; }
    }

}

Java 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: concept2021-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
		}
	}
}