Strukturen / Typen

Allgemeine Typen

Typ JSON-Typ Beschreibung
string string Text
int number Ganze Zahl
double number Kommazahl
boolean boolean Wahr/Falsch
datetime string Datum und Uhrzeit im ISO Format. Das Datum wird immer in UTC angegeben.
guid string GUID im Registry Format: {C94BFFB5-789D-4F55-8252-2B7EED5278D5}
object object JSON Objekt
array array JSON Array
permission int Berechtigung in Bit-Kombination
000 = Keine
001 = Erstellen
002 = Lesen
004 = Schreiben
008 = Löschen
255 = Alle
langstring object Der Typ langstring beinhaltet übersetze Strings für einen String. Der Code ist der LCID Code von Windows.
{ "bezeichnung": { "0": "nur ein wert (nicht übersetzt)" } }
{ "bezeichnung": { "1033": "Hello", "2055": "Hallo"} }
status int

Result

Jede Funktion gibt immer ein Rückgabewert in der Form eines JSON Objekts zurück. Entweder mit Daten oder ohne. Der Result-Wert ist immer vorhanden.

{
    "result": 0,
    "data": {...}
}

Metadata

{
    "subject": "Hans Muster",
    "ident": "423",
    "version": 12,
    "date": "2019-01-01T08:00:00"
    "geo": {...},
    "task": {
        "start": "2019-01-02",
        "status": 1
    },
    "appointment": {
        "start": "2019-01-02T12:30:00Z",
        "end": "2019-01-02T14:30:00Z"   
    },
    "timetracking": {
        "requires": 1
    },
    "responsible": {
        "account": "{77a22c36-f199-4d94-8cab-6101b1623c5b}"
    },
    "author": {
        "account": "{FF9A524E-C957-4B3E-BB2F-294301DB3C8D}",
        "text": "Werner Berger"
    }
}
Key Typ Beschreibung
subject string Beschreibung/Text des Eintrags
ident string Identifikation des Elements z.B. Nummer, Auftragsnummer oder Code
geo geo Koordinaten des Objektes
date datetime Datum der letzten Bearbeitung
version int Version des Eintrags. Bei jeder Änderung muss der Wert erhöht werden.
task object (optional) Wenn dieses Objekt vorhanden ist, gilt das Element als Aufgabe
task.start datetime Startdatum der Aufgabe
task.duedate datetime Fälligkeitsdatum der Aufgabe
task.status numeric 0 = Nicht begonnen
1 = In Bearbeitung
3 = Erledigt
4 = Warten auf jemanden anders
5 = Zurückgestellt
appointment object (optional) Wenn dieses Objekt vorhanden ist, gilt das Element als Termin
appointment.start datetime Startdatum/-zeit
appointment.end datetime Enddatum-/Zeit
timetracking object (optional) Wenn dieses Objekt vorhanden ist, kann auf diesem Element die Zeiterfassung gestartet werden
timetracking.requires numeric 1 = Position, 2 = Code, 3 = Position oder Code, 4 = Position und Code
responsible object (optional) Dieses Objekt beschreibt, wer für dieses Element zuständig ist.
responsible.account guid Guid des Kontos

UserValues

Die Uservalues sind Werte, die pro Konto (Account) gespeichert sind. Je nach EntityType können diese unterschiedlich sein.

{
    "readstatus": 1
}
Key Typ Beschreibung
readstatus int 1 = Ungelesen

Geo

{
    "latitude": 41.0,
    "longitude": 41.0,
    "radius": 0,
    "text": "Beschreibung"
}
Key Typ Beschreibung
latitude double Längengrad
longitude double Breitengrad
radius int Optional. In diesem Bereich liegt das Objekt (Meter)
text string Optional. Beschreibung des Punktes

Entity

{
    "text": "Carla Koch",
    "entity-type": "{DDC05D42-F1CE-419B-83C6-8510698EDEC9}",
    "entity-id": "{5BBD1737-D76F-485C-B0F1-48A82E9AEDB6}"
}
Key Typ Beschreibung
text string Angezeigter Name
entity-type guid Entitätstyp
entity-id guid ID

Objekte

Account

{
    "id": "{6CD83162-3D6F-41D5-9FC9-3AE669D57988}",
    "name": "Carla Koch",              
    "email": "ck@cleanpartner.ch"      
}
Parameter Typ Beschreibung
id id Eindeutige Id des Benutzers.
username string Anmeldename
name string
email string
password string Das Kennwort kann bei Create und Update

Workspace

Liste

{
    "id": "c29756e7be2943b4bfbedb2301a52744",
    "name": "Arbeitsbereich Firma XY",
    "owners": [
        {
            "id": "4df0f646334b4d7c9a82bba359cf5428",
            "name":"Firma XY"
        }
    ],
    "permission": 0,
    "flags": 0,
    "updated": "2019-01-01T20:00:00",
    "delegations": [
        {
            "workspace": {
                "id": "{894A4D8C-581E-4549-8526-CE15C1E49E77}",
                "text": "Clean Partner AG"
            },
            "entityrights": [
                "{7DCD8279-3779-4062-B9A2-C13E64B58372}": 1,
                "{B11CE142-5E6A-4389-A0E4-E88E417A31E0}": 4
            ]
        }
    ]
}

Einzeln (Get)

Parameter Typ Beschreibung
publicid string
name string

WorkspaceLink

Über eine Verknüpfung können verschiedene Arbeitsbereiche miteinander verknüpft werden.

{
    "id": "{477A95AC-F522-42CD-8242-7E6B3F24D2D7}",
    "client": "{2CCD4313-C65D-433E-91FC-7F39D23FDC45}",
    "role": "{2553F5C0-2ABC-45BA-8A23-B25B521EFBBD}"
}
Parameter Typ Beschreibung
id guid Id
client guid Arbeitsbereich-Id des Klienten
role guid Rollen-Id vom Eigentümerarbeitsbereich.

WorkspaceRole

Die Arbeitsbereich-Rolle definiert den Zugriff und die automatische Verteilung innerhalb eine Gruppe.

Beispielsweise: Kunden, Mitarbeiter, Handwerker

{
    "id": "{03161628-4981-4472-8072-051612d724e6}",
    "workspace": "0d7db675dcbe43bbaa5ac28810c5e635",
    "name": "Mitarbeiter",
    "entity-type": "DDC05D42F1CE419B83C68510698EDEC9",
    "dataparts": [
        ""
    ],
    "items": [
        {
            "id": "{833C9DF9-6A16-4B6A-A9EC-FE5B0E82AA49}",
            "name": "Tagesjournal",
            "entity-type": "5054152798174b66adeed5144da677df",
            "filter": {
                "{B4EA7A9A-CF30-45FA-882D-04D91721E2C1}": [
                    "$parent"
                ]
            },
            "permission": 2,
            "dataparts": [
                "{87C70345-BEF1-403A-B2AC-42EAEF54DDA8}"
            ]
        }
    ]
}
Parameter Typ Beschreibung
id guid Id
workspace guid Arbeitsbereich-Id
items.id guid Eigene Id
items.name string Name der Regel
items.entity-type guid Dieser Entitätstyp wird freigegeben
items.filter.(filterguid) array Diese Werte gelten für den angegebenen Filter. Mögliche spezielle Werte sind:
$parent = Der Filterwert entspricht des Vaterelements
$null = Der Filterwert muss NULL sein.
items.permission permission Diese Rechte hat der Empfänger auf den Elementen.
item.dataparts array Diese Dataparts werden freigegeben.

WorkspaceAccount

Das Arbeitsbereichkonto beschreibt die verschiedenen Kontos innerhalb eines Arbeitsbereichs.

Die Kontos haben auf alle Einträge im Arbeitsbereich Leserechte. Eigentümer haben Schreibrechte.

{
    "id": "{57825188-4728-4EFF-9B95-D83A0514E164}",
    "workspace": "{418A1256-DDA3-4F10-862A-E6C8DBA36487}",
    "account": "{4C49E032-90DE-4970-95B1-180041FB2ED7}",
    "flags": 0,
    "options": {...}
}

oder bei unbekanntem Konto

{
    "id": "{57825188-4728-4EFF-9B95-D83A0514E164}",
    "workspace": "{418A1256-DDA3-4F10-862A-E6C8DBA36487}",
    "account": {
        "email":"carla.koch@hotmail.com",
        "lastname":"Koch",
        "firstname":"Carla"
    },
    "flags": 0,
    "options": {...}
}
Parameter Typ Beschreibung
id guid Id
workspace guid Arbeitsbereich-Id
account guid Konto
flags int Bit-Kombination
001 = Eigentümer
permission permission Berechtigung

Item

{
    "id": "{03161628-4981-4472-8072-051612d724e6}",
    "entitytype": "DDC05D42F1CE419B83C68510698EDEC9",
    "owner": "{12387364-4981-4472-8072-051612d724e6}",
    "workspace": "{DE585251-3BDE-4C67-8867-2B9A7504CBA5}",
    "workspaces": [
        "{490330C2-676D-497F-AD69-932B9F355B9B}","{51DC5D98-204A-4A13-B697-1670E3C9AD92}"]
    ],
    "metadata": {

    },

}
Parameter Typ Beschreibung
id guid
entitytype guid
owner guid Eigentümer (wird bei delegate nicht berücksichtigt).
workspace guid Nur für das Erstellen: Beim Erstellen wird das Item in diesem Arbeitsbereich gespeichert. Falls keine Berechtigung vorhanden ist, wird es in den eigenen Arbeitsbereich gespeichert.
workspaces array guid In diesen Workspaces ist das Item gespeichert. Es werden nur Arbeitsbereiche aufgelistet, in die ich Zugriff habe.

ItemShare

{
    "id": "{4c82519e-8cac-40c7-9800-79c4bbf220bf}",
    "item": "{37a2cf49-04c3-42e6-8bbf-6e4304a55a49}",
    "role": "{a4a3e7f4-865a-46eb-ae3d-41256599b55e}",
    "workspace": "{79649f79-3d16-41f6-b533-39593346b3ee}",
    "entity-type": "{596ee233-c2bd-4ed9-9bc2-b4ecf80a7a18}"
}

TaskItems

[
    {
    "type": "text",
    "title": "Subject of the line",
    "value": "Wert des Eintrags basierend auf dem Typ"
    ...
    }
]
Parameter Typ Beschreibung
title string Titel der Zeile
type string text, memo, checkbox, edit, edit-numeric
value string text, memo, checkbox, edit, edit-numeric

Token

[
    {
    "type": 1,
    "valid-until": "2020-01-31T00:00:00",   
    "metadata": {...}
    }
]
Parameter Typ Beschreibung
id guid id
type integer siehe weiter unten
valid-until datetime Gültig bis
Typ Titel Beschreibung
01 EMailConfirm E-Mail-Adresse bestätigen
02 WorkspaceAccount.Add Einladung in einen Arbeitsbereich

APIKey

{
    "id": "{A5435F64-01F2-4784-931D-CB24D8482424}",
    "applications": [
        {
            "id": "{CE0433B8-5C73-45BE-84BF-1BF1ED376BE8}",
            "entitytypes": [
                "{E4405653-8A8E-45A0-A03E-522F090EBCD6}"
            ]
        }
    ]
}
Parameter Typ Beschreibung
id guid id
applications array of objects
applications.id guid Application-Id
applications.entitytypes array of guid (optional) Schränkt die Entitätstypen ein.