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 |
| sendUnterschriftenlink | 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 |
|---|---|---|
| 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 |