Skip to content

MitarbeiterWebservice - Kundenverwaltung

Funktionen

Name HTTP Eingabe Ausgabe
addKunde POST ${pfad}/{$ma}/kunden JSON Kunde JSON Kunde
getKunde GET ${pfad}/{$ma}/kunden/${Kunde-Id} JSON Kunde
setKunde PUT ${pfad}/{$ma}/kunden/${Kunde-Id} JSON Kunde JSON Kunde
getKundenAdressen GET ${pfad}/{$ma}/kunden/${Kunde-Id}/adressen JSON ArrayOf Adresse
addKundenAdresse POST ${pfad}/{$ma}/kunden/${Kunde-Id}/adressen JSON Adresse JSON Adresse
setKundenAdresse PUT ${pfad}/{$ma}/kunden/${Kunde-Id}/adressen/${Adresse-Id} JSON Adresse JSON Adresse
deleteKundenAdresse DELETE ${pfad}/{$ma}/kunden/${Kunde-Id}/adressen/${Adresse-Id}
getKundenKontaktdaten GET ${pfad}/{$ma}/kunden/${Kunde-Id}/kontaktdaten JSON ArrayOf Kontaktdatensatz
addKundenKontaktdatensatz POST ${pfad}/{$ma}/kunden/${Kunde-Id}/kontaktdaten JSON Kontaktdatensatz JSON Kontaktdatensatz
setKundenKontaktdatensatz PUT ${pfad}/{$ma}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id} JSON Kontaktdatensatz JSON Kontaktdatensatz
deleteKundenKontaktdatensatz DELETE ${pfad}/{$ma}/kunden/${Kunde-Id}/kontaktdaten/${Kontaktdatensatz-Id}
getKundenVertraege GET ${pfad}/{$ma}/kunden/${Kunde-Id}/vertraege JSON ArrayOf Vertrag
getKundenDokumente GET ${pfad}/{$ma}/kunden/${Kunde-Id}/dokumente JSON ArrayOf Archiveintrag
getKundenArchiveintraege GET ${pfad}/{$ma}/kunden/${Kunde-Id}/archiveintraege JSON ArrayOf Archiveintrag
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
sendUnterschrifftenlink GET ${pfad}/{$ma}/kunden/unterschriftenlinks/_senden JSON SendeUnterschrifftenlinkAuftrag JSON Meldungen
getKundenDetail GET ${pfad}/{ma}/kunden/${Kunde-Id}/details/${Detail-Id} JSON Kundendetail
setKundenDetail PUT ${pfad}/{ma}/kunden/${Kunde-Id}/details/${Detail-Id} JSON Kundendetail
getKundenDetails GET ${pfad}/{ma}/kunden/${Kunde-Id}/details JSON Array of Kundendetail
getVermittlerKundenDetail GET ${pfad}/{ma}/kunden/details/{detail-Id} JSON KundendetailDefinition
getVermittlerKundenDetails GET ${pfad}/{ma}/kunden/details JSON Array of KundendetailDefinition

addKunde

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

Beispiele

Request (formatiert)
POST ${path}/${ma}/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 Authentetifizierung */ ];


$ma = '123456_123456';
$kunde = '12345678';


$body = '';

$headers = 'GET /service/bd/employee/1.0/rest/'.$ma.'/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);

addKundenAdresse

☛ die Adresse darf nicht vom Typ hauptwohnsitz sein

setKundenAdresse

☛ bei der speziellen Adresse mit der Id 0 (Hauptwohnsitz) wird die Angabe von Typ ignoriert
☛ Adressen welche nicht die Id 0 (Hauptwohnsitz) haben dürfen nicht vom Typ hauptwohnsitz sein

deleteKundenAdresse

☛ bei der speziellen Adresse mit der Id 0 (Hauptwohnsitz) kann nicht gelöscht werden

setKundenKontaktdatensatz

☛ es werden nur die Attribute Value und Standard berücksichtigt

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

[...]

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}/{ma}/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/employee/1.0/rest/123456_123456/kunden/12345678/details/a4ed3j",
  "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"
  },
  {...}
]

getVermittlerKundenDetail

Gibt Details des angeforderten Kundendetails zurück.

Response

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

[
  {
    "Id": "239327",
    "Name": "Test",
    "Type": "betrag_2",
    "Definition": null
  }
]

getVermittlerKundenDetails

Gibt eine Liste aller Kundendetails zurück, die für einen bestimmten Vermittler verfügbar sind (Array of Arrays)

Response

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

[
  {
    "ID": "a4ed3j",
    "Name": "Größe",
    "Type": "zahl",
    "Definition": {"1":"value1","2":"value2"}|null //verfügbare Optionen für den Feldtyp auswahl
  }
]

Datentypen

Kunde

Name Typ Anmerkung
Id string
Vermittler string Vermittlernummer
Anrede EnumValue getAnreden
PerDu boolean
Verstorben boolean
KundenbeziehungBeendetAm Date
Benutzername string
Person KundePerson
Kontaktdaten Uri getKundenKontaktdatan
Adressen Uri getKundenAdressen
Vertraege Uri getKundenVertraege
Maklervollmacht Uri getArchiveintrag falls der Kunde bereits eine Maklervollmacht unterschrieben hat
Notizen KundennotizKompakt
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

KundennotizKompakt

Name Datentyp Beschreibung
Typ EnumValue getKundenNotizTypen
Text string

SearchQuery

Name Datentyp Beschreibung
mail string
id string

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
Benutzername boolean Wenn true wird dem Kunden der Benutzername per E-Mail gesendet
PasswortLink boolean Wenn true wird dem Kunden per E-Mail ein Link zum Passwort setzen gesendet
Passwort boolean deprecated Wenn true wird Benutzername und PasswortLink mit true überschrieben
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 getAnreden
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

SendeUnterschrifftenlinkAuftrag

Name Typ Anmerkung
Art string maklervollmacht
Kommunikationsweg string sms o. email
Kommunikationsadresse string optional, abweichender Empfänger

Kundendetail

Name Typ Anmerkung
Id string
Name string
Value string
Type string

KundendetailDefinition

Name Typ Anmerkung
Id string
Name string
Type string
Definition array | null Beispiel: {"1":"value1","2":"value2"} | null