Gibt verschiedene erforderliche öffentliche Schlüssel zurück. Bitte beachten Sie, dass Sie einen unabhängigen Verifizierungsmechanismus für diese Schlüssel haben sollten und nicht blind auf die von dieser API bereitgestellten Schlüssel vertrauen sollten.
Die Storage-API speichert verschlüsselte Einstellungen für Nutzer und Anbieter von Impfterminen. Sie ist aus organisatorischen Gründen von der Appointments-API getrennt, so dass sie unabhängig betrieben werden kann (wobei es auch möglich ist, beide APIs zusammen zu betreiben).
APIs
Das Kibitz Backend-System besteht aus mehreren Diensten, die jeweils eigenständige JSON-RPC APIs zur Verfügung stellen:
Die folgenden Abschnitte beschreiben die von den APIs angebotenen Methoden.
Appointments-API
Die Appointments-API liefert die wesentliche Funktionalität für die Terminvermittlung.
getStats()
Liefert verschiedene öffentliche Statistiken über das System.
Parameter
getStats
id
ID der Statistik, die zurückgegeben werden soll.
type
Zeitfenstertyp der zurückzugebenden Statistik.
name
^[\w\d\-]{0,50}$
)Optionaler Name der Statistik, die zurückgegeben werden soll.
metric
^[\w\d\-]{0,50}$
)Optionale Submetrik, die zurückgegeben wird.
filter
Optionale zusätzliche Filterkriterien, die Sie anwenden können.
from
Frühestes Datum, für das Statistiken zurückgegeben werden sollen. Nur anwendbar, wenn 'n' nicht gesetzt ist.
to
Spätestes Datum, für das Statistiken zurückgegeben werden sollen. Nur anwendbar, wenn 'n' nicht gesetzt ist.
n
Maximale Anzahl von Statistikwerten, die zurückgegeben werden sollen.
Rückgabetyp
Zugehörige Formulare
statsValue
name
Name des Statistikwertes.
from
Beginn des Zeitfensters für den Statistikwert.
to
Ende des Zeitfensters für den Statistikwert.
data
Daten, die mit dem Statistikwert verknüpft sind.
value
Der Statistikwert selbst.
getKeys()
Gibt verschiedene erforderliche öffentliche Schlüssel zurück. Bitte beachten Sie, dass Sie einen unabhängigen Verifizierungsmechanismus für diese Schlüssel haben sollten und nicht blind auf die von dieser API bereitgestellten Schlüssel vertrauen sollten.
Parameter
getKeys
Dieses Formular hat keine Felder.
Rückgabetyp
Zugehörige Formulare
keys
providerData
Schlüssel für öffentliche Anbieterdaten.
rootKey
Öffentlicher Stammschlüssel.
tokenKey
Öffentlicher Token-Schlüssel.
getAppointmentsByZipCode()
Liefert verfügbare Termine für ein bestimmtes Postleitzahlengebiet.
Parameter
getAppointmentsByZipCode
radius
Der Radius um die angegebene Postleitzahl, für den Termine angezeigt werden sollen.
zipCode
Die Postleitzahl, die als Standort des Benutzers verwendet werden soll.
from
Das früheste Datum, an dem Sie zurückkehren können.
to
Das späteste Datum für die Rückkehr von Terminen.
aggregate
Ob aggregierte Daten anstelle von tatsächlichen Terminen zurückgegeben werden sollen.
Rückgabetyp
Zugehörige Formulare
appointmentData
timestamp
Ein Zeitstempel.
duration
Dauer der Ernennung.
properties
Eigenschaften des Termins.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
id
Eine ID.
slotData
Zeitfenster für Termine.
appointmentProperties
vaccine
Der verwendete Impfstofftyp.
booking
id
Eine ID.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
token
Das für diese Buchung verwendete Token.
encryptedData
Verschlüsselte Daten für den Anbieter.
ecdhEncryptedData
iv
IV-Wert, der mit den verschlüsselten Daten verknüpft ist.
data
Die verschlüsselten Daten.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
providerAppointments
provider
Signierte öffentliche Anbieterdaten.
appointments
Vom Anbieter angebotene Termine.
providerData
name
Name des Anbieters.
street
Adresse des Anbieters.
city
Stadt des Anbieters.
zipCode
Postleitzahl des Anbieters.
signedAppointment
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
updatedAt
Zeitpunkt der letzten Aktualisierung des Termins.
bookedSlots
Gebuchte Slots, die mit dem Termin verbunden sind (sichtbar für Benutzer).
bookings
Mit dem Termin verbundene Buchungen (nur für Anbieter sichtbar).
signedProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
id
Eine ID.
slot
id
Eine ID.
getAppointment()
Liefert Details zu einem bestimmten Termin.
Parameter
getAppointment
id
Eine ID.
providerID
Eine Anbieter-ID.
Rückgabetyp
getToken()
Gibt ein signiertes Token zurück, mit dem Benutzer Termine buchen können.
Parameter
getToken
hash
Der vom Benutzer generierte Hash, der zusammen mit dem Token gespeichert werden soll.
code
Der optionale Anmeldecode, den Sie verwenden können.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
priorityToken
n
[no translation for language de and key api.appointments.forms.priorityToken.fields.n]
signedTokenData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
tokenData
hash
Der vom Benutzer generierte Hash, der zu dem Token gehört.
token
Das vom Server generierte Token.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
data
Optionale Daten, die mit dem Token verbunden sind.
addMediatorPublicKeys()
Fügt dem System die öffentlichen Schlüsseldaten und die zugehörigen Informationen eines Vermittlers hinzu.
Parameter
addMediatorPublicKeys
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
addMediatorPublicKeysData
signedKeyData
Signierte Mediator-Schlüsseldaten.
timestamp
Ein Zeitstempel.
mediatorKeyData
signing
Öffentlicher Signierschlüssel des Vermittlers.
encryption
Öffentlicher Chiffrierschlüssel des Vermittlers.
mediatorSignedKeyData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
addCodes()
Fügt dem System Anmeldungscodes hinzu.
Parameter
addCodes
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
codesData
timestamp
Ein Zeitstempel.
actor
Der Akteur, für den Anmeldungscodes gespeichert werden sollen.
codes
Die Anmeldungscodes zum Speichern.
uploadDistances()
Lädt Entfernungsinformationen in das System hoch.
Parameter
uploadDistances
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
distance
from
Der Ursprung.
to
Das Ziel.
distance
Die Entfernung zwischen Start und Ziel.
distancesData
timestamp
Ein Zeitstempel.
type
Die Art der zu speichernden Entfernungsinformationen.
distances
Die zu speichernden Entfernungen.
resetDB()
Setzt die Datenbank zurück. Dieser Endpunkt ist nur für Testverteilungen aktiv.
Parameter
resetDB
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
resetDBData
timestamp
Ein Zeitstempel.
confirmProvider()
Bestätigt einen Anbieter, indem er dessen öffentliche Schlüsseldaten und zugehörige Informationen zum System hinzufügt.
Parameter
confirmProvider
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
confirmProviderData
timestamp
Ein Zeitstempel.
confirmedProviderData
Bestätigte Anbieterdaten zur Überprüfung durch den Anbieter.
publicProviderData
Öffentlich sichtbare Anbieterdaten.
signedKeyData
Öffentlich sichtbare signierte Schlüsseldaten.
confirmedProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
providerKeyData
signing
Öffentlicher Signierschlüssel des Anbieters.
encryption
Öffentlicher Chiffrierschlüssel des Anbieters.
queueData
Öffentliche Informationen des Anbieters.
providerQueueData
zipCode
Postleitzahl des Anbieters.
accessible
Ob der Standort des Anbieters erreichbar ist.
providerSignedKeyData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
getPendingProviderData()
Gibt eine Liste von Anbieterdaten zurück, die auf eine Bestätigung warten.
Parameter
getPendingProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
getPendingProviderDataData
timestamp
Ein Zeitstempel.
limit
Anzahl der Einträge, die maximal zurückgegeben werden.
rawProviderData
encryptedData
Verschlüsselte Daten, die vom Anbieter übermittelt werden.
getVerifiedProviderData()
Gibt eine Liste der bestätigten Anbieterdaten zurück.
Parameter
getVerifiedProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
getVerifiedProviderDataData
timestamp
Ein Zeitstempel.
limit
Anzahl der Einträge, die maximal zurückgegeben werden.
getProviderAppointments()
Gibt eine Liste von Terminen für den angegebenen Anbieter zurück.
Parameter
getProviderAppointments
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
getProviderAppointmentsData
timestamp
Ein Zeitstempel.
from
Das früheste Datum, an dem Sie zurückkehren können.
to
Das späteste Datum für die Rückkehr von Terminen.
updatedSince
Der minimale 'updatedAt'-Wert von Terminen, der zurückgegeben werden soll.
publishAppointments()
Veröffentlichen Sie neue oder geänderte Termine im System.
Parameter
publishAppointments
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
publishAppointmentsData
timestamp
Ein Zeitstempel.
appointments
Die Termine zur Veröffentlichung.
storeProviderData()
Speichert Anbieterdaten zur Überprüfung.
Parameter
storeProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
storeProviderDataData
timestamp
Ein Zeitstempel.
code
Optionaler Anmeldecode.
encryptedData
Verschlüsselte Daten zur Überprüfung durch die Vermittler.
checkProviderData()
Überprüft den Verifizierungsstatus von Anbieterdaten.
Parameter
checkProviderData
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
checkProviderDataData
timestamp
Ein Zeitstempel.
bookAppointment()
Buchen Sie einen Termin.
Parameter
bookAppointment
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
bookAppointmentData
providerID
Eine Anbieter-ID.
id
Eine ID.
timestamp
Ein Zeitstempel.
signedTokenData
Signierte Token-Daten des Benutzers.
encryptedData
Verschlüsselte Daten für den Anbieter.
cancelAppointment()
Storniert eine Buchung.
Parameter
cancelAppointment
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
cancelAppointmentData
id
Eine ID.
providerID
Eine Anbieter-ID.
timestamp
Ein Zeitstempel.
signedTokenData
Signierte Token-Daten des Benutzers.
Storage-API
Die Storage-API speichert verschlüsselte Einstellungen für Nutzer und Anbieter von Impfterminen. Sie ist aus organisatorischen Gründen von der Appointments-API getrennt, so dass sie unabhängig betrieben werden kann (wobei es auch möglich ist, beide APIs zusammen zu betreiben).
storeSettings()
Speichert verschlüsselte Einstellungen.
Parameter
storeSettings
id
ID, unter der die Einstellungen gespeichert werden sollen.
data
Einstellungen, die unter der angegebenen ID gespeichert werden sollen.
Rückgabetyp
getSettings()
Ruft verschlüsselte Einstellungen ab.
Parameter
getSettings
id
ID, für die Einstellungen abgerufen werden sollen.
Rückgabetyp
deleteSettings()
Löscht die verschlüsselten Einstellungen.
Parameter
deleteSettings
id
ID, für die die Einstellungen gelöscht werden sollen.
Rückgabetyp
resetDB()
Setzt die Datenbank zurück. Nur für Testverteilungen aktiviert.
Parameter
resetDB
data
Ein JSON-Datenfeld.
signature
Eine ECDSA-Signatur.
publicKey
Ein öffentlicher ECDSA- oder ECDH-Schlüssel.
Rückgabetyp
Zugehörige Formulare
resetDBData
timestamp
Ein Zeitstempel.