Custom Endpoints

eigene Endpunkte definieren, Filterabfrage auf Datensätze, Ausführen von Server Actions, Ausführen von Python Code

API & Hooks -> Endpunkte -> Custom Endpoints

Mit Custom Endpoints können eigene REST-Endpunkte definiert werden. Damit lassen sich verschiedene Integrationen umsetzen, von einfachen Datenabfragen über die Ausführung von Server Actions bis hin zu frei definierbarem Python-Code, z.B. ein Endpunkt, der /customlist/products heißt und beim Aufruf eine Liste von Produkten zurückgibt.

Anlegen eines Custom Endpoints
Anlegen eines Custom Endpoints

Name

Der Name des Endpunkts

Custom Endpoint

der Pfad des Enpunkts, z.B. customlist/products

HTTP Method

HTTP-Methode des Endpunkts (GET, POST, PUT, DELETE).

Model

Auf dieses Datenmodell bezieht sich der Endpunkt, z.B. Produkte (product.template)

Protected

Bestimmt, ob ein Endpunkt geschützt ist, erfordert eine Authentifizierung, wenn aktiviert. u

Sudo Evaluation

Führt Code ohne Zugriffsbeschränkungen aus, wenn aktiviert.

Wrap Response

Fügt Metadaten zum Response hinzu, wenn aktiviert.

Evaluation Type

Es gibt 3 verschiedene Typen

Evaluate a Domain: Filterabfrage auf Datensätze

Nutzt eine Domain (Filter) auf ein Modell und gibt gefilterte Datensätze zurück.

Beispiel:

  • HTTP-Methode: GET

  • Model: Produkt

  • Domain Settings: [('list_price', '>', 100)]

  • Domain Fields: name und list_price

Es werden Name und Preis aller Produkte mit einem Preis größer 100 zurückgegeben.

  "domain": [["price", ">", 100]],
  "fields": ["name", "list_price"],
  "result": [
    {"name": "Product A", "list_price": 120},
    {"name": "Product B", "list_price": 150}
  ],
  "count": 2
}

Domain Settings

In den Domain-Settings kann eine Filterung der Datensätze eingestellt werden.

Domain Fields

Docs

Execute a Server Action: Ausführen einer vordefinierten Aktion

Server Action, Docs

Die gewünschte Aktion wird unter "Server Actions" ausgewählt, z.B. "Löschen/Archivieren"

Execute Python Code: Ausführen von eigenem Code

Code Settings

Unter Code Settings wird der auszuführende Python-Code eingegeben.

Beispiel:

result = model.search_read([('list_price', '>', 100)], ['name', 'list_price'])

Es werden Name und Preis aller Produkte mit einem Preis größer 100 zurückgegeben.

Help

Gibt weite Informationen zu den Python expressions an, z.B. welche Parameter im Python-Code verwendet werden können.

Docs

Last updated