Zuständige Behörden abrufen
Das folgende Beispiel zeigt den GraphQL-Abruf zuständiger Behörden, die im Administrationsregister geführt werden. Die Abfrage eignet sich für API-Anbindungen, wenn Behördeninformationen angezeigt, referenziert oder für die Zuordnung in Register-Workflows genutzt werden sollen.
/api/graphql/serviceWeitere Informationen zu Basis-URLs und Umgebungen stehen im Kapitel Endpunkte.
Welche Abfrage wann?
| Abfrage | Zweck | Eingabe | Rückgabe |
|---|---|---|---|
officialList | Breite Behördenliste abrufen. Die Liste enthält obere Landesbehörden, mittlere Landesbehörden und Gesundheitsämter. | input: OfficialListInput. In diesem Beispiel wird nur pagination verwendet. | Liste unter items und Gesamtzahl unter total. |
authorityList | Fachlich zuständige Behörden abrufen. Die Liste enthält Gesundheitsämter, Wasserämter und sonstige Behörden. | input: AuthorityListInput. In diesem Beispiel wird nur pagination verwendet. | Liste unter items und Gesamtzahl unter total. |
federalStateList | Nur obere Landesbehörden abrufen. | input: FederalStateListInput. In diesem Beispiel wird nur pagination verwendet. | Liste unter items und Gesamtzahl unter total. |
federalStateBranchList | Nur mittlere Landesbehörden abrufen. | input: FederalStateBranchListInput. In diesem Beispiel wird nur pagination verwendet. | Liste unter items und Gesamtzahl unter total. |
officialById | Eine einzelne Behörde anhand ihrer id abrufen. | id: ID!. | Ein OfficialItem. |
Hinweis: officialById ist hier ein Beispiel für das ById-Muster. Nach demselben Prinzip können auch andere Listenabfragen einen zugehörigen ById-Abruf besitzen, sofern die jeweilige Funktion im GraphQL-Schema bereitgestellt wird.
officialList
officialList eignet sich für Übersichten und Trefferlisten, wenn alle Behördenarten gemeinsam betrachtet werden sollen. Die Abfrage enthält nach der aktuellen fachlichen Trennung obere Landesbehörden, mittlere Landesbehörden und Gesundheitsämter. 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 gemeinsame Behördenstruktur, die in den Listen unter items zurückgegeben wird.
input
OfficialListInputtotal
Int!items
[OfficialItem!]!itemsr
ID!id
ID!name
Stringactive
Boolean!editable
Booleankind
AuthorityKindaddress
Address!items.addresstext
Stringstreet
Stringhouse
Stringzip
Stringplace
Stringadditional
Stringstate
Stringitemscontact
Contact!items.contactmailbox
String[String!]phone
[String!]website
[String!]itemsradioactiveObservations
BooleanreadRights
Booleanquery OfficialList($input: OfficialListInput) {
officialList(input: $input) {
total
items {
r
id
name
active
editable
kind
address {
text
street
house
zip
place
additional
state
}
contact {
mailbox
email
phone
website
}
radioactiveObservations
readRights
}
}
}{
"input": {
"pagination": {
"page": 0,
"limit": 10
}
}
}{
"data": {
"officialList": {
"total": 1,
"items": [
{
"r": "R092901B140EF8706000",
"id": "BY123GA801",
"name": "Muster Gesundheitsamt",
"active": true,
"editable": false,
"kind": "GA",
"address": {
"text": "Musterstraße 1, 80331 München",
"street": "Musterstraße",
"house": "1",
"zip": "80331",
"place": "München",
"additional": null,
"state": "BY"
},
"contact": {
"mailbox": "poststelle@example.org",
"email": ["poststelle@example.org"],
"phone": ["+49 89 123456"],
"website": ["https://example.org"]
},
"radioactiveObservations": false,
"readRights": true
}
]
}
}
}authorityList
authorityList ist die fachlich enger gefasste Behördenliste. Sie liefert Gesundheitsämter, Wasserämter und sonstige Behörden.
Abgrenzung
health_department:viewGA GesundheitsamtWA WasseramtSO Sonstige BehördefederalStateList
federalStateList liefert ausschließlich obere Landesbehörden.
Abgrenzung
federal_state:viewOB Obere Landesbehördequery FederalStateList($input: FederalStateListInput) {
federalStateList(input: $input) {
total
items {
r
id
name
active
editable
kind
address { text street house zip place additional state }
contact { mailbox email phone website }
radioactiveObservations
readRights
}
}
}{
"input": {
"pagination": {
"page": 0,
"limit": 10
}
}
}{
"data": {
"federalStateList": {
"total": 1,
"items": [
{
"r": "R092901B140EF8706100",
"id": "BY-OB-0001",
"name": "Obere Landesbehörde Beispiel",
"active": true,
"editable": false,
"kind": "OB",
"address": {
"text": "Behördenplatz 1, 80331 München",
"street": "Behördenplatz",
"house": "1",
"zip": "80331",
"place": "München",
"additional": null,
"state": "BY"
},
"contact": {
"mailbox": "poststelle@example.org",
"email": ["poststelle@example.org"],
"phone": ["+49 89 123456"],
"website": ["https://example.org"]
},
"radioactiveObservations": false,
"readRights": true
}
]
}
}
}federalStateBranchList
federalStateBranchList liefert ausschließlich mittlere Landesbehörden.
Abgrenzung
federal_state_branch:viewMB Mittlere Landesbehördequery FederalStateBranchList($input: FederalStateBranchListInput) {
federalStateBranchList(input: $input) {
total
items {
r
id
name
active
editable
kind
address { text street house zip place additional state }
contact { mailbox email phone website }
radioactiveObservations
readRights
}
}
}{
"input": {
"pagination": {
"page": 0,
"limit": 10
}
}
}{
"data": {
"federalStateBranchList": {
"total": 1,
"items": [
{
"r": "R092901B140EF8706200",
"id": "BY-MB-0001",
"name": "Mittlere Landesbehörde Beispiel",
"active": true,
"editable": false,
"kind": "MB",
"address": {
"text": "Regierungsstraße 1, 80331 München",
"street": "Regierungsstraße",
"house": "1",
"zip": "80331",
"place": "München",
"additional": null,
"state": "BY"
},
"contact": {
"mailbox": "poststelle@example.org",
"email": ["poststelle@example.org"],
"phone": ["+49 89 123456"],
"website": ["https://example.org"]
},
"radioactiveObservations": false,
"readRights": true
}
]
}
}
}officialById
officialById wird verwendet, wenn die ID einer zuständigen Behörde bereits bekannt ist. Die ID stammt typischerweise aus officialList.items.id.
Parameter
id
ID!query OfficialById($id: ID!) {
officialById(id: $id) {
r
id
name
active
editable
kind
address { text street house zip place additional state }
contact { mailbox email phone website }
radioactiveObservations
readRights
}
}{
"id": "<DUMMY-SHAPTH-ID>"
}GraphQL-Enums
Die Behördenart wird hier nicht über eine XWasser-Codeliste gepflegt, sondern über das GraphQL-Enum AuthorityKind. Deshalb gibt es auf dieser Seite keinen XWasser-Code-Verweis.
AuthorityKind
| Wert | Bedeutung |
|---|---|
OB | Obere Landesbehörde |
MB | Mittlere Landesbehörde |
GA | Gesundheitsamt |
WA | Wasseramt |
SO | Sonstige Behörde |
Such- und Sortier-Enums
| Enum | Werte | Einsatz |
|---|---|---|
OfficialSearchField | ID, NAME, ADDRESS | Suchfelder für input.search.fields. |
OfficialSortField | ID, NAME, ADDRESS, STREET, HOUSE, ZIP, PLACE, CREATED_AT, CREATED_BY, UPDATED_AT, UPDATED_BY | Sortierfelder für input.sort.by. |
SortOrder | ASC, DESC | Sortierreihenfolge für input.sort.order. |