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