JSON
<< Click to Display Table of Contents >> Navigation: Einstellungen > Kontakte > JSON
|
Nummer |
Beschreibung |
1 |
JSON Menüansicht |
2 |
Bearbeiten der Einstellungen zu einem Eintrag |
3 |
Löschen einer Verbindung |
4 |
Aktivieren einer Verbindung |
5 |
Hinzufügen einer neuen Datenquelle |
Nummer |
Beschreibung |
||
1 |
Menü JSON |
||
2 |
Aktiviert |
||
3 |
Automatischer Import bei Software-Start deaktivieren |
||
4 |
Datensätze ohne eindeutige Kontakt-ID als neuen Kontakt anfügen (AUS=verwirft Datensatz) |
||
5 |
Einmalig von der Quell-URL importieren |
||
6 |
Verzeichnisname |
||
7 |
API Interface Auswahl eines verfügbaren API Interfaces |
||
8 |
Authentifizierungstyp Mit diesem Parameter wird festgelegt, wie und wo die Authentifizierung stattfindet |
||
9 |
Benutzername |
||
10 |
Kennwort |
||
11 |
URL |
||
Nummer |
Beschreibung |
||
1 |
Lokales Datenattribut |
||
2 |
Attribut |
||
JSON Import
Kontakte können aus JSON-Datenquellen mit URL-Verlinkung oder Dateiverknüpfung importiert werden. URL-Datenquellen sind URLs, die ohne Authentifizierung, mit http-AUTH oder oAUTH abgerufen werden können. Ebenso sind statische Dateien nutzbar, die einmalig für den Import angelegt oder zyklisch aktualisiert werden.
Ungeachtet der Datenquelle können Kontaktdaten „einmalig“ oder zyklisch importiert/synchronisiert werden. Zu Synchronisationszwecken ist eine eindeutige Kontakt-ID-Vergabe zu bevorzugen, um Duplikate bei zyklischen Importvorgängen zu vermeiden.
Für den Import aus lokalen Datenquellen nutzen Sie bitte eine Sonderform der Pfadangabe und fügen vor der Laufwerksangabe „file:///“ an, z.B. „file:///d:/json-csv/data.json“.
Der JSON Aufbau unterliegt keinen speziellen Vorgaben. JSON Objekte können direkt angesprochen und für den Import angepasst werden. Dies gilt für einfache Objekte und auch für JSON Arrays.
Die Zuordnung der zu importierenden Daten erfolgt durch das einfache Prinzip der Wertezuordnung per Objekt-Pfadangabe: [Zu importierender Wert] -> [Lokaler Wert]
Beispiel eines einfachen JSON-Aufbaus zu einem einzelnen „Kontakt-Objekt“:
[
{
"id": "10201",
"cn": "Tim1-WEB",
"sn": "Harper1",
"mail": "tim1@testmail.com",
"title": "Product Manager1",
"o": "Test Company Inc.1",
"postalCode": "11111",
"street": "street1",
"jpegPhoto": "",
"extension": "300",
"data":
{
"postOfficeBox": "PO127653-T3",
"st": "NY"
},
"phoneUseBLF":"1",
"phoneUsePresence":"0",
"AssignedSIPAccountID":"placetel"
}
]
Import-Beispiel “Vorname”:
Import-Beispiel “Postschließfach”:
Für den Import aus einem Array gilt prinzipiell, dass jeder Array Index geprüft und importiert wird, vorausgesetzt es sind verwertbare Daten vorhanden.
"numbers": {
"PRIVATE": [
{
"id": "",
"number_e164": "4964454930560000",
"number_disp": "4930567890"
},
{
"id": "",
"number_e164": "4964454930671111",
"number_disp": "4930678900"
}
]
Import-Beispiel der Telefonnummer “Privat”:
In diesem Fall werden zwei Rufnummern desselben Typs importiert und erhalten anhand der Import-Zuordnung den Rufnummerntyp „Privat“.
Die Array Indexierung beginnt bei 0. Durch die Ergänzung [0] an dem Objektpfad „PRIVATE“ wird nur der Erste Array Index gelesen und eine Rufnummer gemäß Zuordnung importiert. Sinngemäß kann durch die Angabe eines Index ein beliebiger, einzelner Wert eines komplexen Arrays gelesen werden.
In manchen Fällen müssen die zu importierenden Daten modifiziert werden. Hierzu können zwei Funktionen genutzt werden, die einen Wert während des Datenimport beeinflussen. Diese Funktionen können in der Objektpfadangabe mehrfach kombiniert werden. Funktionen und Objektangaben werden logisch mit „|“ (Pipe) verknüpft.
writeIfNotEmpty("<Value>") -> schreibt den Wert nur dann, wenn das Ergebnis > NULL ist
write("<Value>") -> schreibt den Wert immer, unabhängig von dem Ergebnis
Beispiel:
writeIfNotEmpty("+")|numbers/PRIVATE/number_e164
Ergebnis:
+4964454930560000
+4964454930671111
Beispiel:
writeIfNotEmpty("+")|numbers/PRIVATE/number_e164|write("123")
Ergebnis:
+4964454930560000123
+4964454930671111123
Besondere Handhabung bei dem Import von Gruppenzuordnungen ( > Version Build 22039):
Eine Gruppenzuordnung eines Kontaktes kann durch den Datenimport in das Feld „Zuordnung zu Kontaktgruppe“ erfolgen.
Es gilt:
•Externe Gruppenbezeichnungen haben immer Vorrang vor den Programmgruppen.
•Die interne Programmgruppe „Favorit“ ist die einzige Gruppe, die haptisch neben den extern zugelieferten Gruppen genutzt und zugeordnet werden kann.
•Gruppenbezeichnungen werden bei dem Import NICHT „Case sensitive“ behandelt. Damit werden mehrfach angelegte Gruppen mit unterschiedlichen Schreibweisen eines Gruppentyps vermieden (Freunde, freunde, FreunDe).
•Importierte Gruppen sind dauerhaft in der Anwendung hinterlegt. Nicht mehr benötigte Gruppen müssen in der Gruppenverwaltung der Anwendung gelöscht werden. Das Löschen per JSON ist aktuell nicht vorgesehen.
Import-Beispiel “Gruppen” aus einem Array:
"groups": [
{
"id": "14741",
"name": "Freunde",
"desc": "Freunde"
},
{
"id": "14744",
"name": "Partner",
"desc": ""
}
]
Sind noch keine Kontaktgruppen mit den Bezeichnungen „Freunde“ und „Partner“ vorhanden, dann werden diese angelegt. Weiterhin wird der sich im Importvorgang befindliche Kontakt den Gruppen „Freunde“ und „Partner“ zugewiesen.
Import von Bilddateien:
Bilddaten werden immer mit dem Bildformat JPEG erwartet. JPEG Dateien sind für jeglichen Import in das BASE64 Format zu konvertieren.
Die aufgezeigten Funktionsmerkmale sind von dem verbundenen Gerät (Hardwaretelefon)
oder von dem Softwaretelefon abhängig.
Die hier aufgeführten Merkmale können daher von der erwarteten Funktionsfähigkeit abweichen.