×

REST API Anpassung

REST API Anpassung
Im folgenden sind verschiedene Anpassungen am REST API beschrieben.
 
REST API - Invoice.hasDocument - Verknüpfung von Dokumenten in einem DMS
Im REST API wurden Anpassungen am Invoice() Objekt vorgenommen. Neu kann einer Rechnung (Invoice Objekt) direkt
das Property hasDocument übergeben werden. Dieses Property dient dazu, Topal mitzuteilen, dass für eine Rechnung (Invoice) ein Dokument in einem
DMS abgelegt und verknüpft wurde. Wird dieses Property gesetzt, wird Topal direkt die "Büroklammer" für verknüpfte Dokumente im Grid anzeigen.
 
public int hasDocument { get; set; }
    Member of TopalRest.Models.Invoice

// 1 – has a Document
// 0 - has  no document
 
REST API - Fiscalyear.closed - Abfrage ob ein Geschägtsjahr geschlossen ist
Dem FiscalYear Objekt ist für die Abfrage, ob ein Geschäftsjahr geschlossen ist, das Property closed hinzugefügt.
Dies ist notwendig, um sicherzustellen, dass Daten nicht an ein geschlossenes Geschäftsjahr übergeben werden
 
public bool closed { get; set; }
    Member of TopalRest.Models.FiscalYear
 
REST API - Token expiration - Parameter zum steuern der Token expiration Zeit
Damit 3. Applikationen mit Topal via REST API kommunizieren können, müssen diese einen Token beziehen.
Ein Token steuert die Zugriffsrechte eines Users. Ein Token hat einen Ablaufzeitpunkt. Läuft die Tokenlaufzeit aus, muss sich die Applikation/User neu
anmelden. Im Moment liegt die Ablaufzeit des Tokens bei 30min. Dies oft etwas kurz. Entsprechend wurde ein neuer Parameter (keep_alive) beim Bezug
des Tokens hinzugefügt.
 
keep_alive = false - Token läuft nach 30 Minuten ab
keep_alive = true  - Token läuft nach 24 Stunden ab

Beispiel code:
var loginParams = new List<KeyValuePair<string, string>>
            {
                new KeyValuePair("grant_type", "password"),
                new KeyValuePair("username", username),
                new KeyValuePair("password", password),
                new KeyValuePair("useSSL", useSSL),                       // "true", "false";
                new KeyValuePair("localization", localization),             // "en";  "de", "fr"
                new KeyValuePair("keep_alive", keep_alive),       // false = 30min. ; true = 24h expiration of token
            };