Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Der Adapter wird wie folgt umgesetzt:

...

Beispiel in einem OData-Filter: $filter=modifiedDate gt 2021-06-14T00:00:00Z

Belastung der Schnittstelle

...

  • Artikelstamm / Produktinformationen und Produzenten sollten im Web-Server gecached werden. Diese Abfragen können grosse Last und somit Zeitverlust bei der Abfrage verursachen.
  • Dort wo vorhanden wird auf den Tabellen ein Timestamp der letzten Änderung angeboten. Damit können Delta-Abfragen gemacht werden, um die Daten schneller abzugleichen.

...

Die komplette Schnittstellendefinition ist über <Url>/swagger abrufbar. Die Projekt-Api ist in einer separaten gekapselt:

Image Removed


Authentifizierung

Sämtliche REST-Endpunkte erlauben den Zugriff nur mit Authentifizierung. Einzige Ausnahme ist der folgende Token-Request. Die Antwort enthält ein Bearer-Token (access_token), das beim Zugriff auf die REST-Endpunkte im Http-Header mitgegeben werden muss.

Url: /api/Identity/Realm/RequestToken

Bsp. Demo-Server: https://vinxapi.i-ag.ch/api/Identity/Realm/RequestToken

Felder 

Feld

Typ

Info

client_id

stringKonstante "Integrated"

scope

stringKonstante "VinX.Shop"

username

stringBenutzername,

password

stringPasswort

Beispiel Body:

{
  "client_id""Integrated",
  "scope""VinX.Shop",
  "username""<User>",
  "password""<Pwd>",
}

Beispiel Antwort:

{
    "access_token""eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc2ODczNkI5NERFRjU1RjIxNDFBNTQ4NTJGRjM3RjlDODk3QjlBNzIiLCJ4NXQiOiJkb2MydVUzdlZmSVVHbFNGTF9OX25JbDdtbkkiLCJ0eXAiOiJKV1QifQ.eyJyb2xlIjoiQ3JlYXRlfFJlYWR8VXBkYXRlfERlbGV0ZXxFeGVjdXRlOkdlbmVyYWxAQ2FtcHVzU3Vyc2VlLlJFU1QiLCJ1bmlxdWVfbmFtZSI6IlN0dWlxIiwibmJmIjoxNTkzMDc1ODI4LCJleHAiOjE1OTMwNzc2MjgsImlhdCI6MTU5MzA3NTgyOCwiaXNzIjoiaHR0cDovL3cxMG1hcy1uZXQ6ODA4NSJ9.Q_aN6n1i0QpDbTflqafqQcLPN_Xz_Qk1FXarTLZ9T4ohhpmdL2YlH7SQR4WGKPcoJvbZeWIHBy0h4ByxB06ILKL2pFypUpWobGKfp8C4gEBgqi1xfRtvMgUPR3JUhmFTJhpijGD0lbJJ7SpPCydgyCwufyVmfgX_U308CQY40fuDtEA6xNs-wZpGGd0a0WygFf1xqmbaz3TdptqNGddl22GsJscuvkbSrrf572Ke3Hfn_bj7KXk-5FB06dkb-0tAwvnXf7PTY_Xgc1Unm04AiwRb5kL1SsfPWjH9LCdn4sJuw1pUQev1dcj9tHtQ",
    "token_type""Bearer",
    "user""<User>",
    "userRole""Create|Read|Update|Delete|Execute:General@GlobalwineGeneral@VinX.Shop",
    "userShouldChangePassword"false
}

Der Swagger-Endpunkt selbst verlangt Basic Authentication, wobei für Benutzer/Pwd dieselben Werte wie für den Token-Request verwendet werden können.

Für den Zugriff auf die api aus Swagger muss der Authentifizierungs-Header gesetzt werden. Dabei muss dem Token der Wert "Bearer" wie im folgenden Screenshot vorangesetzt werden:

Image Removed