Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Link korrigiert

...

AngabeBeschreibungBeispiel
Basis-URLDie Basis-URL definiert, unter welcher URL die Services verfügbar sind.http://www.domain.com/daylight/
Service-URLDie verschiedenen daylight Service-Methoden sind in Gruppen zusammengefasst, so finden sich z.B. alle Event relevanten Methoden unter {Basis-URL}/EventService/.http://www.domain.com/daylight/EventService
MethodePro Service steht eine Anzahl an Methoden zur Verfügung. Eine Übersicht kann der folgenden Seite entnommen werden.http://www.domain.com/daylight/EventService/GetOccurrence?x=1
Header Informationen

Nebst der vollständigen URL (Basis-URL, Service-URL und Methode) müssen drei HTTP Header bei jedem Aufruf gesetzt werden.

 
api-keyDer API-Key wird jeweils kommuniziert, ohne diese Information wird der Service keine Antwort geben. Damit wird der Service rudimentär vor unbefugtem Zugriff geschützt.1234
AcceptDer Accept Header muss auf application/json oder application/xml gesetzt werden.application/json
Content-TypeDer Content-Type Header muss auf application/json oder application/xml gesetzt werden.application/json

Für jeden Service steht eine Hilfeseite zur Verfügung. So kann unter http://www.domain.com/daylight/EventService/help eine Liste aller Methodensignaturen und allfälligen Rückgabe DTOs eingesehen werden. Als Illustration untenstehend ein Screenshot von Fiddler mit POST eines Person DTO.

Image Added

Rückgabewerte

 

In der Regel liefert der Service ein DTO in JSON Notation zurück. Darüber hinaus werden die folgenden HTTP Status Codes zurückgesendet:

...

In daylight können weitere Felder über die Mandantenparametrierung erstellt werden. Damit nicht jeder Service kundenspezifisch um die entsprechenden Felder ergänzt werden muss, stellen die jeweiligen DTOs zwei Attribute bereit, um die Informationen zu übertragen: GenericProperties, GenericPropertyValues und GenericPropertyValues.

In den GenericProperties stehen die Metadaten zu den einzelnen Attributen zur Verfügung. Die Werte für ein Attribute wird in der GenericPropertyValues-Liste gespeichert. Referenziert das GenericProperty auf eine Liste, so muss das Attribut LookupValues verwendet werden.

Code Block
languagetext
linenumberstrue
"GenericProperties": [
  {
    "Behaviour": 3,
    "Description": {
       "Values": [
         {
           "IetfLanguageTag": "de-CH",
           "Value": "AGB"
         },
         {
           "IetfLanguageTag": "en-US",
           "Value": "AGB"
         }
       ]
     },
     "DisplayName": {
       "Values": [
         {
           "IetfLanguageTag": "de-CH",
           "Value": "AGB"
         },
         {
           "IetfLanguageTag": "en-US",
           "Value": "AGB"
         }
       ]
     },
     "IsDynamicStringValue": false,
     "IsExtensionProperty": false,
     "IsMultiline": false,
     "LookupId": null,
     "Name": "AGB",
     "Nullable": true,
     "SortOrder": "2012-09-19 10:55.16730",
     "Type": 3
  },
  { ... }
]

 

LanguageValues

LookupValues. Für weitere Informationen lesen Sie bitte die entsprechende Seite: GenericProperties, GenericPropertyValues und LookupValues.

DynamicString

daylight ist Viel- und Mehrsprachig. Das bedeutet, dass gewisse Werte gleichzeitig in mehreren Sprachen zur Verfügung stehen können. In diesem Fall werden die Werte in folgender Notation übertragen:

Code Block
languagetext
linenumberstrue
"Values": [
  {
    "IetfLanguageTag": "de-CH",
    "Value": "Wert in de-CH"
  },
  {
    "IetfLanguageTag": "en-US",
    "Value": "Wert in en-US"
  }
]

Das Objekt enthält immer das Attribute Values, welches aus einer Liste von beliebig vielen Wertepaaren IetfLanguageTag und Value besteht. Wird ein Wert nur in einer Sprache eingegeben, so wird dieser Wert in die anderen Sprachen kopiert. Das beduetet, dass wenn ein Anlass nur in de-CH ausgeschrieben und nicht übersetzt wird, der gleiche Wert im Objekt mit der Bezeichnung en-US kopiert wird.Diese mehrsprachigen Werte werden über das DynamicStringDto zur Verfügung stellt.

MessageList

Finden Fehler in der Verarbeitung statt, so werden die Informationen in dieses Listenobjekt geschrieben.

Use Cases

In vielen Fällen reicht das Abfragen eines spezifischen Services aus, um die relevanten Daten zu laden. In ein paar Situationen ist es aber notwendig, die Services in einer gewissen Reihenfolge aufzurufen, damit die Daten in daylight gespeichert werden können. Die folgende Liste gibt einen Überblick:

Use CaseBeschreibungDokumentation
Anmeldung erstellenBeschreibt das erstellen einer AnmeldungAnmeldung erstellen
Dokumente und Bilder laden Dokumente und Bilder per Web API laden