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.
water_supplier:view/api/graphql/serviceWeitere Informationen zu Basis-URLs und Umgebungen stehen im Kapitel Endpunkte.
Welche Abfrage wann?
| Abfrage | Zweck | Eingabe | Rückgabe |
|---|---|---|---|
waterSupplierList | Mehrere 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. |
waterSupplierById | Einen 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.
input
WaterSupplierListInputtotal
Int!items
[WaterSupplierItem!]!itemsr
ID!id
ID!name
Stringactive
Boolean!editable
Booleanparent
WaterSupplierParentItemitems.parentr
IDid
IDname
Stringitemsinfo
WaterSupplierInfoitems.info__typename
String!name
String!salutation
Stringtitle
Stringfirstname
String!lastname
String!itemsaddress
Address!items.addresstext
Stringstreet
Stringhouse
Stringzip
Stringplace
Stringadditional
Stringstate
Stringitemscontact
SlimContact!items.contactmailbox
String[String!]phone
[String!]comment
Stringitemsbranches
Int!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
id
ID!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
| Enum | Werte | Einsatz |
|---|---|---|
WaterSupplierSearchField | ID, NAME, ADDRESS | Suchfelder für input.search.fields. |
WaterSupplierSortField | ID, NAME, ADDRESS, STREET, HOUSE, ZIP, PLACE, CREATED_AT, CREATED_BY, UPDATED_AT, UPDATED_BY, BRANCHES | Sortierfelder für input.sort.by. |
SortOrder | ASC, DESC | Sortierreihenfolge für input.sort.order. |
WaterSupplierInfo
__typename | Bedeutung |
|---|---|
WaterSupplierAuthorityInfo | Betreiberinformation zu einer Behörde. |
WaterSupplierCompanyInfo | Betreiberinformation zu einem Unternehmen. |
WaterSupplierPersonInfo | Betreiberinformation zu einer natürlichen Person. |