JSON Import
<< Click to Display Table of Contents >> Navigation: Einstellungen > Kontakte > JSON > JSON Import
|
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.
Function Descriptions for Data Import Modification:
•writeIfNotEmpty("<Value>") → Writes the value only if the result is not null.
Example:
writeIfNotEmpty("+")|privatephone
•write("<Value>") → Always writes the value, regardless of the result.
Examples:
write("1")
write("Helogoland-")|firstname
•writeIfValueMatches("Value to write"[JSON Item to write],"Matching value")|<JSONItemValueToMatch> → Writes the value only if the result matchs with the JSON Item.
Examples:
writeIfValueMatches("Margarethe", "Elias")|firstname
writeIfValueMatches("Margarethe"[name], "Elias")|firstname
writeIfValueMatches(""[name], "Elias")|firstname
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.