JSON

Copyright (c) Global IP Telecommunications GmbH | Phone +49 6445 279971 0
Vorheriges Thema  Nächstes Thema 





Nummer


Beschreibung 


1


JSON Menüansicht






2


Bearbeiten der Einstellungen zu einem Eintrag






3


Löschen einer Verbindung






4


Aktivieren einer Verbindung
Neben üblichen Kontakt- und Bildinformationen können auch Registrierungsdaten für Besetzlampenfeld und Präsenzanzeige übermittelt werden. Entsprechende Attribute müssen dafür angelegt sein.






5


Hinzufügen einer neuen Datenquelle











Nummer


Beschreibung 


1


Menü JSON






2


Aktiviert
Aktiviert die Anfrage an eine beliebigen JSON Quelle






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
Freie Bezeichnung der JSON Quelle auf die Zugriff genommen werden soll






7


API Interface

Auswahl eines verfügbaren API Interfaces






8


Authentifizierungstyp

Mit diesem Parameter wird festgelegt, wie und wo die Authentifizierung stattfindet






9


Benutzername
Benutzername für Aushandlungsverfahren wie Negotiate






10


Kennwort
Kennwort des Benutzers






11


URL
URL der JSON Datenquelle













Nummer


Beschreibung 


1


Lokales Datenattribut






2


Attribut
Wählen Sie einen Wert in der Listbox aus (wenn angeboten) oder schreiben Sie ein individuelles Attribut in die editierbare Listbox.







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:


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 JPG erwartet. JPG 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.