Skip to content

VermittlerWebservice - Kundenverwaltung

Funktionen

Name HTTP Eingabe Ausgabe
addKunde POST ${pfad}/{$vmt}/kunden JSON Kunde JSON Kunde
getKunde GET ${pfad}/{$vmt}/kunden/${Kunde-Id} JSON Kunde
setKunde PUT ${pfad}/{$vmt}/kunden/${Kunde-Id} JSON Kunde JSON Kunde
getKundenAdressen GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen JSON ArrayOf Adresse
addKundeAdresse PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen JSON Adresse JSON Adresse
setKundeAdresse PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen/${Adresse-Id} JSON Adresse JSON Adresse
deleteKundeAdresse DELETE ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen/${Adresse-Id}
getKundenKontaktdaten GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten JSON ArrayOf Kontaktdatensatz
addKundeKontaktdaten POST ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten JSON Kontaktdatensatz JSON Kontaktdatensatz
setKundeKontaktdaten PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id} JSON Kontaktdatensatz JSON Kontaktdatensatz
deleteKundeKontaktdaten DELETE ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id}
getKundenTags GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/tags ArrayOf Strings
addKundenTag PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/tags/${Tag}
deleteKundenTag DELETE ${pfad}/{$vmt}/kunden/${Kunde-Id}/tags/${Tag}
getKundeVerknüpfungen GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/verknuepfungen JSON ArrayOf Verknüpfung
searchKunden GET ${pfad}/{$ma}/kunden/_search?q=${SuchText}&from=${Einträge-Von}&size=${Einträge-Maximal} JSON ArrayOf KundenSuchErgebnis
searchKunden POST ${pfad}/{$ma}/kunden/_search?q=${SuchText}&from=${Einträge-Von}&size=${Einträge-Maximal} JSON SearchQuery JSON ArrayOf KundenSuchErgebnis
addKundenPolicenDokument POST ${pfad}/​{$vmt}/​policendokumente PDF JSON Dokument Id
getKundenDetail GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/details/${Detail-Id} JSON Kundendetail
setKundenDetail PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/details/${Detail-Id} JSON Kundendetail
getKundenDetails GET ${pfad}/{$vmt}/kunden/${Kunde-Id}/details JSON Array of Kundendetail

addKunde

Legt einen neuen Kunden an.
☛ Es werden derzeit nur Id & Benutzername des neu angelegten Kunden zurückgegeben.

Beispiele

Request (formatiert)
POST ${path}/${vmt}/kunden HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Content-Length: 310
Connection: close

{
    "Benutzername": "maxmustermann",
    "Anrede": "1",
    "Person": {
        "Typ": "natuerlich",
        "Vorname": "Max",
        "Nachname": "Mustermann",
        "Geburtsdatum": "1980-08-02"
    },
    "Kontaktdaten": [
        {
            "Kontext": "private",
            "Typ": "email",
            "Value": "maxmustermann@example.com"
        }
    ],
    "Mitteilungen": {
        "Passwort": true
    }
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 46
Connection: close

{
    "Id": "123456",
    "Benutzername": "maxmustermann"
}

getKunde PHP mit fsockopen

$authHeaders = [ /* s. Abschnitt Authentifizierung */ ];


$vmt = '123456';
$kunde = '12345678';


$body = '';

$headers = 'GET /service/bd/broker/1.0/rest/'.$vmt.'/kunden/'.$kunde.' HTTP/1.1
Host: www.maklerinfo.biz
'.implode("\r\n", $authHeaders).'
Content-Length: '.strlen($body).'
User-Agent: Dionera HttpClient 1.0
Connection: close';

$content = $headers
    ."\r\n\r\n"
    .$body;


$fp = fsockopen('tls://www.maklerinfo.biz',443);
fwrite($fp, $content);
$response = stream_get_contents($fp);

setKunde

Passt einen vorhandenen Kunden an.

Beispiele

Request (formatiert)
PUT ${path}/${vmt}/kunden/${Kunde-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Content-Length: 310
Connection: close

{
  "Anrede": "7",
  "Person": {
    "Typ": "juristisch",
    "Firma": "Firma AG",
    "Ansprechpartner": "Max Mustermann",
    "Gruendungsdatum": "1980-08-02",
    "Branche": "Musterhaft"
  }
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 46
Connection: close

{
  "Id": "123456",
  "Vermittler": "12345678",
  "Anrede": "7",
  "Person": {
    "Typ": "juristisch",
    "Titel": null,
    "Vorname": null,
    "Firma": "Firma AG",
    "Nachname": null,
    "Ansprechpartner": "Max Mustermann",
    "Geburtsdatum": null,
    "Gruendungsdatum": "1980-08-02",
    "Beruf": null,
    "Branche": "Musterhaft",
    "Fachrichtung": null
  },
  "Adressen": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/12345678/kunden/123456/adressen",
  "Kontaktdaten": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/12345678/kunden/123456/kontaktdaten",
  "Vertraege": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/12345678/kunden/123456/vertraege",
  "Maklervollmacht": null
}

getKunde PHP mit fsockopen

$authHeaders = [ /* s. Abschnitt Authentifizierung */ ];


$vmt = '123456';
$kunde = '12345678';


$body = '{"Anrede": "7","Person": {"Typ": "juristisch","Firma": "Firma AG","Ansprechpartner": "Max Mustermann","Gruendungsdatum": "1980-08-02","Branche": "Musterhaft"}}';

$headers = 'PUT /service/bd/broker/1.0/rest/'.$vmt.'/kunden/'.$kunde.' HTTP/1.1
Host: www.maklerinfo.biz
'.implode("\r\n", $authHeaders).'
Content-Length: '.strlen($body).'
User-Agent: Dionera HttpClient 1.0
Connection: close';

$content = $headers
    ."\r\n\r\n"
    .$body;


$fp = fsockopen('tls://www.maklerinfo.biz',443);
fwrite($fp, $content);
$response = stream_get_contents($fp);

addKundeAdresse

Fügt eine Kundenadresse hinzu, jedoch keinen Hauptwohnsitz.

Beispiele

Request (formatiert)
PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json

{
    "Typ": "ferienhaus",
    "Zusatz": "Zusatz 345",
    "Strasse": "Strasse 123",
    "Postleitzahl": "56535",
    "Ort": "Berlin",
    "Land": "de"
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Connection: close

{
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678/adressen/22",
    "Id": "22",
    "Typ": "ferienhaus",
    "Zusatz": "Zusatz 345",
    "Strasse": "Strasse 123",
    "Postleitzahl": "56535",
    "Ort": "Berlin",
    "Land": "de"
}

setKundeAdresse

Aktualisiert eine bestehende Kundenadresse.

Beispiele

Request (formatiert)
PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen/${Adresse-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json

{
    "Typ": "hauptwohnsitz",
    "Zusatz": "Zusatz 895",
    "Strasse": "Strasse 5",
    "Postleitzahl": "14535",
    "Ort": "Berlin",
    "Land": "de"
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Connection: close

{
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678/adressen/0",
    "Id": "0",
    "Typ": "hauptwohnsitz",
    "Zusatz": "Zusatz 895",
    "Strasse": "Strasse 5",
    "Postleitzahl": "14535",
    "Ort": "Berlin",
    "Land": "de"
}

deleteKundeAdresse

Löscht eine bestehende Kundenadresse, jedoch keinen Hauptwohnsitz.

Beispiele

Request (formatiert)
DELETE ${pfad}/{$vmt}/kunden/${Kunde-Id}/adressen/${Adresse-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Response (formatiert)
HTTP/1.1 200 OK
Content-Length: 20
Connection: close
Content-Type: text/html; charset="ISO-8859-1"

addKundeKontaktdaten

Fügt einen Kundenkontaktdatensatz hinzu.

Beispiele

Request (formatiert)
POST ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Content-Length: 73

{
    "Kontext": "business",
    "Typ": "website",
    "Value": "www.meine-website-123.de",
    "Standard": true
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Connection: close

{
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678/kontaktdaten/1a83d119",
    "Id": "1a83d119",
    "Kontext": "business",
    "Typ": "website",
    "Value": "http://www.meine-website-123.de",
    "Standard": true
}

setKundeKontaktdaten

Ändert einen bestehenden Kundenkontaktdatensatz.

Beispiele

Request (formatiert)
PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Content-Length: 57

{
    "Value": "www.meine-neue-website-456.de",
    "Standard": true
}
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Connection: close

{             
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678/kontaktdaten/1a83d119",
    "Id": "1a83d119",
    "Kontext": "business",
    "Typ": "website",
    "Value": "http://www.meine-neue-website-456.de",
    "Standard": true
}

deleteKundeKontaktdaten

Löscht einen bestehenden Kundenkontaktdatensatz.

Beispiele

Request (formatiert)
DELETE ${pfad}/{$vmt}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Connection: close
Response (formatiert)
HTTP/1.1 200 OK
Content-Length: 20
Connection: close
Content-Type: text/html; charset="ISO-8859-1"

getKundenTags

Listet alle Tags eines Kunden auf.

Beispiele

Request (formatiert)
GET ${path}/${vmt}/kunden/${Kunde-Id}/tags HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Connection: close
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 40
Connection: close

[
    "Test",
    "Wichtig",
    "Vermerk"
]

getKundenTags PHP mit fsockopen

$authHeaders = [ /* s. Abschnitt Authentifizierung */ ];


$vmt = '123456';
$kunde = '12345678';


$body = '';

$headers = 'GET /service/bd/broker/1.0/rest/'.$vmt.'/kunden/'.$kunde.'/tags HTTP/1.1
Host: www.maklerinfo.biz
'.implode("\r\n", $authHeaders).'
Content-Length: '.strlen($body).'
User-Agent: Dionera HttpClient 1.0
Connection: close';

$content = $headers
    ."\r\n\r\n"
    .$body;


$fp = fsockopen('tls://www.maklerinfo.biz',443);
fwrite($fp, $content);
$response = stream_get_contents($fp);

addKundenTag

Legt einen neuen Tag zu einem Kunden an.
☛ Ein Tag darf nicht mit einem Ausrufezeichen ("!") anfangen und maximal 32 Zeichen lang sein.

Beispiele

Request (formatiert)
PUT ${path}/${vmt}/kunden/${Kunde-Id}/tags/${Tag} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Connection: close
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: text/html; charset="ISO-8859-1"
Content-Length: 20
Connection: close

addKundenTag PHP mit fsockopen

$authHeaders = [ /* s. Abschnitt Authentifizierung */ ];


$vmt = '123456';
$kunde = '12345678';
$tag = 'Wichtig';

$body = '';

$headers = 'PUT /service/bd/broker/1.0/rest/'.$vmt.'/kunden/'.$kunde.'/tags/'.$tag.' HTTP/1.1
Host: www.maklerinfo.biz
'.implode("\r\n", $authHeaders).'
Content-Length: '.strlen($body).'
User-Agent: Dionera HttpClient 1.0
Connection: close';

$content = $headers
    ."\r\n\r\n"
    .$body;


$fp = fsockopen('tls://www.maklerinfo.biz',443);
fwrite($fp, $content);
$response = stream_get_contents($fp);

deleteKundenTag

Entfernt einen vorhandenen Tag von einem Kunden.

Beispiele

Request (formatiert)
DELETE ${path}/${vmt}/kunden/${Kunde-Id}/tags/${Tag} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Connection: close
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: text/html; charset="ISO-8859-1"
Content-Length: 20
Connection: close

deleteKundenTag PHP mit fsockopen

$authHeaders = [ /* s. Abschnitt Authentifizierung */ ];


$vmt = '123456';
$kunde = '12345678';
$tag = 'Wichtig';

$body = '';

$headers = 'DELETE /service/bd/broker/1.0/rest/'.$vmt.'/kunden/'.$kunde.'/tags/'.$tag.' HTTP/1.1
Host: www.maklerinfo.biz
'.implode("\r\n", $authHeaders).'
Content-Length: '.strlen($body).'
User-Agent: Dionera HttpClient 1.0
Connection: close';

$content = $headers
    ."\r\n\r\n"
    .$body;


$fp = fsockopen('tls://www.maklerinfo.biz',443);
fwrite($fp, $content);
$response = stream_get_contents($fp);

getKundeVerknüpfungen

Listet alle Kundenverknüpfungen eines Kunden auf.

Beispiel

Request GET
GET ${path}/${vmt}/kunden/${Kunde-Id}/verknuepfungen HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Connection: close
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
X-Dio-Total: 2
Connection: close

[
  {
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345677",
    "Id": "12345677",
    "Rolle": "Inhaber"
  },
  {
    "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678",
    "Id": "12345678",
    "Rolle": "Bruder"
  }
]

searchKunden

Eingabeparameter:

Name Typ Beschreibung
SuchText string mind. ein zeichen
Einträge-Von integer default 0
Einträge-Maximal integer default 50

Eingabeparameter POST: JSON SearchQuery

Rückgabe im Header:

Name Typ Beschreibung
Total integer Treffer insgesamt um eine Seitenblätterfunktion zu ermöglichen

Beispiel

Request GET
GET ${path}/${ma}/kunden/_search?q=test&from=10&size=5 HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Connection: close
Request POST
POST ${path}/${ma}/kunden/_search?q=test&from=10&size=5 HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Connection: close

{ "mail": "test" }
Response (gekürzt)
HTTP/1.1 200 OK
Content-Type: application/json
X-Dio-Total: 767
Connection: close

[...]

addKundenPolicenDokument

Reiht eine PDF-Datei (Police) für die Verarbeitung in einer Strecke ein, die die relevantesten Vertragsdaten aus dem Dokument extrahiert und anschließend einen Vertrag mit diesen Daten im MVP anlegt. Als Rückgabewert wird die eindeutige ID des freizugebenden Dokuments geliefert.

Folgende Header müssen mit angegeben werden

Name Typ Beschreibung
Mitarbeiter EnumValue Mitarbeiter

Beispiel Dokument

POST ${path}/${vmt}/kunden/${Kunde-Id}/policendokumente HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
X-Dio-Mitarbeiter: 999999_TESTER
Content-Type: application/pdf; name="Lorem ipsum.pdf"

%PDF...
Response (formatiert)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 46
Connection: close

{
    "Id": "987654e"
}

getKundenDetail

Gibt Details des angeforderten Kundendetails zurück.

Response

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "a4ed3j",
  "Name": "Größe",
  "Value": "42",
  "Type": "zahl"
}

oder

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "fad52c",
  "Name": "Geburtdatum",
  "Value": "12.04.1980",
  "Type": "datum"
}

oder

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "85f8bc",
  "Name": "Variante",
  "Value": "1",
  "Type": "auswahl"
}

oder

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "90aed1",
  "Name": "Beschreibung",
  "Value": "irgendein Text",
  "Type": "text"
}

oder

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "acgh4",
  "Name": "Betrag",
  "Value": "42.42",
  "Type": "betrag_2"
}

oder

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "ID": "1be34a",
  "Name": "versichert",
  "Value": true,
  "Type": "boolean"
}

setKundenDetail

Erzeugt oder aktualisiert Kundendetail mit angegebener ID

Request PUT

PUT ${pfad}/{$vmt}/kunden/${Kunde-Id}/details/${Detail-Id} HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Type: application/json
Connection: close

{
  "Value": "42"
}

Response

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

{
  "Uri": "https://www.maklerinfo.biz/service/bd/broker/1.0/rest/123456/kunden/12345678/adressen/0",
  "ID": "a4ed3j",
  "Name": "Größe",
  "Value": "42",
  "Type": "zahl"
}

getKundenDetails

Gibt eine Liste aller Details des Kundens zurück. (Array of Arrays)

Response

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json

[
  {
    "ID": "a4ed3j",
    "Name": "Größe",
    "Value": "42",
    "Type": "zahl"
  },
  {
    "ID": "fed4ac",
    "Name": "Geburtsdatum",
    "Value": "12.02.1978",
    "Type": "datum"
  },
  {
    "ID": "be98ae",
    "Name": "Betrag",
    "Value": "42.42",
    "Type": "betrag_2"
  },
  {...}
]

Datentypen

SearchQuery

Name Datentyp Beschreibung
mail string
id string

Kunde

Name Typ Anmerkung
Id string
Vermittler string Vermittlernummer
Anrede EnumValue getKundenAnreden
Benutzername string
Person Person
Kontaktdaten Uri getKundenKontaktdaten
Adressen Uri getKundenAdressen
Vertraege Uri getVertraege getKundenVertraege
Maklervollmacht Uri getArchiveintrag falls der Kunde bereits eine Maklervollmacht unterschrieben hat
Notizen string
Mitteilungen Benachrichtigung

KundePerson

Name Datentyp Beschreibung
Typ string "natuerlich" oder "juristisch"
Natürliche Person:
Titel string
Vorname string
Nachname string
Geburtsdatum Date
Beruf string
Fachrichtung string
Juristische Person:
Firma string
Ansprechpartner string
Gruendungsdatum Date
Branche string

Kontaktdatensatz

Name Datentyp Beschreibung
Uri Uri
Id string
Kontext string private o. business
Typ EnumValue getKundenKontaktarten
Value string
Standard boolean Bevorzugte Adresse je Typ

Adresse

Name Datentyp Beschreibung
Uri Uri
Id string
Typ EnumValue getAdresstypen
Zusatz string
Strasse string
Postleitzahl string
Ort string
Land EnumValue getLaender

Benachrichtigung

Name Datentyp Beschreibung
Passwort boolean Wenn true wird ein Passwort generiert und an die E-Mail des Kunden gesendet
ErstinfoUnterbinden boolean Wenn true wird keine E-Mail mit den Erstinformationen nach §11 der Vermittlerverordnung an den Kunden gesendet

KundenSuchErgebnis

Name Typ Anmerkung
Uri string
Id string
Anrede EnumValue getKundenAnreden
Person KundenSuchErgebnisPerson
Hauptwohnsitz Adresse

KundenSuchErgebnisPerson

Name Datentyp Beschreibung
Typ string "natuerlich" oder "juristisch"
Natürliche Person:
Titel string
Vorname string
Nachname string
Geburtsdatum Date
Juristische Person:
Firma string
Ansprechpartner string
Gruendungsdatum Date

Verknüpfung

Name Typ Anmerkung
Uri string
Id string
Rolle string Vater, Mutter, Arbeitgeber, usw...

Kundendetail

Name Typ Anmerkung
Id string
Name string
Value string
Type string