Erscheinungsbild
Identifizierung
Um die Besonderheiten der Kunden bei der Identifizierung abbilden zu können, erfolgt die Identifizierung in zwei Schritten.
Zunächst wird nur die Policennummer (externe Vertragsnummer bei Assekuradeuren) angegeben. Daraufhin wird bei der WebApi angefragt, welche weiteren Felder für eine Identifizierung des Nutzers erforderlich sind.
Anschließend werden die weiteren Felder angegeben und die Identifizierung wird durchgeführt.
Der Zweistufige Prozess ist notwendig, da die Identifizierung teilweise über die E-Mail-Adresse erfolgen kann, teilweise aber z.B. das Geburtsdatum besser geeignet wäre. Somit kann flexibel auf die jeweilige Situation reagiert werden.
Die Identifizierung erfolgt in einem Identifizierungskontext, welche anfrageübergreifend gültig ist. Dieser Identifizierungskontext wird mit der ersten Anfrage erstellt und wird mit den weiteren Anfragen sukzessive befüllt.
Am Ende des Identifizierungsprozesses wird ein AccessToken-Ticket ausgestellt, mit dem dann schlussendlich in einem dritten Schritt ein AccessToken beantragt werden kann. Mit dem AccessToken kann dann alles weitere abgewickelt werden.
Ablaufdiagramm
Das Identifizierungskontext Objekt
Weitere Details zu den möglichen Werten sind im Abschnitt Models der API-Dokumentation zu finden.
json
// IdentifizierungsKontext
{
"id": "...",
"melder": "...",
"produktArt": "...",
"zuordnungsNummer": "...",
"identifizierungsFelder": [
{
"name": "...",
"typ": "...",
"wert": "..."
}
],
"signatureIssuer": "...",
"signatureTimestamp": "...",
"prefillSignature": "...",
}Hinweis
Nicht benötigte Felder werden im folgenden zur Übersichtlichkeit im JSON nicht mit aufgeführt. Es handelt sich allerdings immer um das Identifizierungskontext-Objekt.
Schritt 1: Abfragen benötigter Felder
Im ersten Schritt wird vom Client nur eine Kontext-ID, sowie Melder, ProduktArt und die Zuordnungsnummer angegeben. Der Begriff der Zuordnungsnummer ist absichtlich allgemein gehalten, um auch die Verwendung von externen Vertragsnummern (bei Assekuradeuren) zu ermöglichen und sich nicht auf NV-Policennummern beschränken zu müssen.
Möglicher Inhalte sind
- NV-Policennummer
- Externe Vertragsnummer (bei Assekuradeuren)
json
// IdentifizierungsKontext
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"melder": "VN",
"produktArt": "fahrradkasko",
"zuordnungsNummer": "1234567001"
}json
// IdentifizierungsKontext
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"melder": "VN",
"produktArt": "fahrradkasko",
"zuordnungsNummer": "1234567001",
"identifizierungsFelder": [
{
"name": "Geburtsdatum",
"typ": "date"
}
],
"signatureIssuer": "webapi",
"signatureTimestamp": "20230627102004",
"prefillSignature": "55d68ce617f9a2cd4dc38b0fd358ccca0a"
}Die WebApi füllt nun das Feld identifizierungsFelder mit den Feldern, die für eine Identifizierung benötigt werden. Die Felder haben jeweils einen Namen und einen Typ. Der Typ gibt an, wie das Feld vom Nutzer zu befüllen ist und wie das Frontend das Feld vorvalidieren kann.
Außerdem wird die Signatur gefüllt, die für die spätere Verwendung für die WebApi wichtig ist.
Schritt 2: Identifizierung durchführen
Im zweiten Schritt werden die benötigten Felder befüllt und die Identifizierung durchgeführt. Die WebApi prüft die angegebenen Werte und gibt das Ergebnis zurück.
Die Anfrage enthält nun in einem Identifizierungsfeld den Wert für (hier Beispielhaft) das vom Nutzer eingegebene Geburtsdatum.
json
// IdentifizierungsKontext
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"melder": "VN",
"produktArt": "fahrradkasko",
"zuordnungsNummer": "1234567001",
"identifizierungsFelder": [
{
"name": "Geburtsdatum",
"typ": "date",
"wert": "01.01.1970"
}
],
"signatureIssuer": "webapi",
"signatureTimestamp": "20230627102004",
"prefillSignature": "55d68ce617f9a2cd4dc38b0fd358ccca0a"
}json
// AccessToken-Ticket
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"signatureIssuer": "webapi",
"signatureTimestamp": "20230627102135",
"signature": "66d68ce617f9a2cd4dc38b0fd358ccca5b",
"produktArt": "fahrradkasko",
"policenNr": 1234567001,
"vertragsNr": 1
}Konnte die Identifizierung erfolgreich durchgeführt werden, so wird ein Schadenkontext-Ticket ausgestellt und zurückgegeben. Mit dem Schadenkontext-Ticket kann nun ein Schadenkontext erstellt werden.
Schritt 3: AccessToken anfragen
Mit dem AccessToken-Ticket kann nun ein AccessToken angefragt werden.
json
// AccessToken-Ticket
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"signatureIssuer": "webapi",
"signatureTimestamp": "20230627102135",
"signature": "66d68ce617f9a2cd4dc38b0fd358ccca5b",
"produktArt": "fahrradkasko",
"policenNr": 1234567001,
"vertragsNr": 1
}json
// AccessToken
{
"id": "297ee660-7064-49db-a8ee-e7b5b29a105d",
"signatureIssuer": "webapi",
"signatureTimestamp": "20230627102216",
"signature": "99d68ce617f9a2cd4dc38b0fd358ccca7f",
"policenNr": 1234567001,
"vertragsNr": 1
}