SHAPTH
Use Case
waterSupplierList · waterSupplierById

Betreiber abrufen

Das folgende Beispiel zeigt den GraphQL-Abruf von Betreibern beziehungsweise Wasserversorgern. Die Abfrage eignet sich für API-Anbindungen, wenn Betreiber-Stammdaten angezeigt, referenziert oder mit Registerdaten verknüpft werden sollen.

Berechtigungwater_supplier:view
Endpoint
POST
/api/graphql/service

Weitere Informationen zu Basis-URLs und Umgebungen stehen im Kapitel Endpunkte.

Playground(nur GraphQL)

Welche Abfrage wann?

AbfrageZweckEingabeRückgabe
waterSupplierListMehrere Betreiber abrufen, zum Beispiel für Auswahllisten oder Stammdatenabgleiche.input: WaterSupplierListInput. In diesem Beispiel wird nur pagination verwendet.Liste unter items und Gesamtzahl unter total.
waterSupplierByIdEinen einzelnen Betreiber anhand seiner id abrufen.id: ID!.Ein WaterSupplierItem.

waterSupplierList

waterSupplierList eignet sich für Übersichten und Trefferlisten. Allgemeine Listenfunktionen wie Pagination, Suche, Filterung und Sortierung werden zentral im Kapitel GraphQL-Variablen und Listenabfragen beschrieben.

Objektstruktur und Felder

Die folgende Feldliste dokumentiert die Rückgabefelder aus dem Beispiel unter data.waterSupplierList.items.

FeldDetails
input
SchemaNullable
TypWaterSupplierListInput
Optionale Eingabe für die Listenabfrage. Das generische Muster mit `pagination`, `search`, `filter` und `sort` ist im allgemeinen GraphQL-Kapitel beschrieben.
total
SchemaNon-null
TypInt!
Gesamtzahl der zur Abfrage passenden Betreiber.
items
SchemaNon-null
Typ[WaterSupplierItem!]!
Liste der gefundenen Betreiber.
items
r
SchemaNon-null
TypID!
Technische Referenz-ID des Betreibers.
id
SchemaNon-null
TypID!
Eindeutige ID des Betreibers. Diese ID wird für `waterSupplierById` verwendet.
name
SchemaNullable
TypString
Name des Betreibers.
active
SchemaNon-null
TypBoolean!
Gibt an, ob der Registereintrag aktiv ist.
editable
SchemaNullable
TypBoolean
Gibt an, ob der Eintrag durch den angebundenen Akteur bearbeitet werden kann.
parent
SchemaNullable
TypWaterSupplierParentItem
Hauptstandort des Betreibers, falls es sich um einen Nebenstandort handelt.
items.parent
r
SchemaNullable
TypID
Technische Referenz-ID des Hauptstandorts.
id
SchemaNullable
TypID
ID des Hauptstandorts.
name
SchemaNullable
TypString
Name des Hauptstandorts.
items
info
SchemaNullable
TypWaterSupplierInfo
Betreiberinformation als Union-Typ. Der konkrete Typ wird über `__typename` erkennbar.
items.info
__typename
SchemaNon-null
TypString!
Konkreter Typ der Betreiberinformation.
name
SchemaNon-null
TypString!
Name bei Behörden- oder Unternehmensinformationen.
salutation
SchemaNullable
TypString
Anrede bei Personeninformationen.
title
SchemaNullable
TypString
Titel bei Personeninformationen.
firstname
SchemaNon-null
TypString!
Vorname bei Personeninformationen.
lastname
SchemaNon-null
TypString!
Nachname bei Personeninformationen.
items
address
SchemaNon-null
TypAddress!
Adresse des Betreibers.
items.address
text
SchemaNullable
TypString
Formatierte Adresse als Text.
street
SchemaNullable
TypString
Straße.
house
SchemaNullable
TypString
Hausnummer.
zip
SchemaNullable
TypString
Postleitzahl.
place
SchemaNullable
TypString
Ort.
additional
SchemaNullable
TypString
Adresszusatz.
state
SchemaNullable
TypString
Bundesland oder Staat.
items
contact
SchemaNon-null
TypSlimContact!
Kontaktinformationen.
items.contact
mailbox
SchemaNullable
TypString
Funktionspostfach.
email
SchemaNullable
Typ[String!]
E-Mail-Adressen.
phone
SchemaNullable
Typ[String!]
Telefonnummern.
comment
SchemaNullable
TypString
Kontaktkommentar.
items
branches
SchemaNon-null
TypInt!
Anzahl der Niederlassungen.
query WaterSupplierList($input: WaterSupplierListInput) {
waterSupplierList(input: $input) {
  total
  items {
    r
    id
    name
    active
    editable
    parent { r id name }
    info {
      __typename
      ... on WaterSupplierAuthorityInfo { name }
      ... on WaterSupplierCompanyInfo { name }
      ... on WaterSupplierPersonInfo {
        salutation
        title
        firstname
        lastname
      }
    }
    address { text street house zip place additional state }
    contact { mailbox email phone comment }
    branches
  }
}
}
{
"input": {
  "pagination": {
    "page": 0,
    "limit": 10
  }
}
}
{
"data": {
  "waterSupplierList": {
    "total": 1,
    "items": [
      {
        "r": "R092901B140EF8706010",
        "id": "BT3022054360342528",
        "name": "Muster Wasserversorger",
        "active": true,
        "editable": false,
        "parent": null,
        "info": {
          "__typename": "WaterSupplierCompanyInfo",
          "name": "Muster Wasserversorger"
        },
        "address": {
          "text": "Musterstraße 1, 00000 Musterstadt",
          "street": "Musterstraße",
          "house": "1",
          "zip": "00000",
          "place": "Musterstadt",
          "additional": "",
          "state": "DE"
        },
        "contact": {
          "mailbox": "kontakt@example-wsp.org",
          "email": ["kontakt@example-wsp.org"],
          "phone": ["+49 89 112233"],
          "comment": null
        },
        "branches": 0
      }
    ]
  }
}
}

waterSupplierById

waterSupplierById wird verwendet, wenn die ID eines Betreibers bereits bekannt ist. Die ID stammt typischerweise aus waterSupplierList.items.id.

Parameter

FeldDetails
id
SchemaNon-null
TypID!
Eindeutige ID des Betreibers.
query WaterSupplierById($id: ID!) {
waterSupplierById(id: $id) {
  r
  id
  name
  active
  editable
  parent { r id name }
  info {
    __typename
    ... on WaterSupplierAuthorityInfo { name }
    ... on WaterSupplierCompanyInfo { name }
    ... on WaterSupplierPersonInfo { salutation title firstname lastname }
  }
  address { text street house zip place additional state }
  contact { mailbox email phone comment }
  branches
}
}
{
"id": "<DUMMY-SHAPTH-ID>"
}
{
"data": {
  "waterSupplierById": {
    "r": "T09B140EEE506000",
    "id": "BT3022054360342528",
    "name": "Muster Wasserversorger",
    "active": true,
    "editable": true,
    "parent": null,
    "info": {
      "__typename": "WaterSupplierCompanyInfo",
      "name": "Muster Wasserversorger"
    },
    "address": {
      "text": "Musterstraße 1, 00000 Musterstadt",
      "street": "Musterstraße",
      "house": "1",
      "zip": "00000",
      "place": "Musterstadt",
      "additional": "",
      "state": "DE"
    },
    "contact": {
      "mailbox": "123",
      "email": [
        "shapth@testumgebung.de"
      ],
      "phone": [],
      "comment": ""
    },
    "branches": 4
  }
}
}

GraphQL-Enums

EnumWerteEinsatz
WaterSupplierSearchFieldID, NAME, ADDRESSSuchfelder für input.search.fields.
WaterSupplierSortFieldID, NAME, ADDRESS, STREET, HOUSE, ZIP, PLACE, CREATED_AT, CREATED_BY, UPDATED_AT, UPDATED_BY, BRANCHESSortierfelder für input.sort.by.
SortOrderASC, DESCSortierreihenfolge für input.sort.order.

WaterSupplierInfo

__typenameBedeutung
WaterSupplierAuthorityInfoBetreiberinformation zu einer Behörde.
WaterSupplierCompanyInfoBetreiberinformation zu einem Unternehmen.
WaterSupplierPersonInfoBetreiberinformation zu einer natürlichen Person.

On this page