we had to limit request frequency for security reasons, please check below.
to get you limit send a request to /getlimit (not counted)

wir mussten aus Sicherheitsgründen die Abfragehäufigkeit beschränken, bitte prüfen. um das aktuelle limit abzufragen eine Abfrage an /getlimit senden (wird nicht mitgezählt)



Accessing resources of LINA third party API (TPAPI) is permitted by the data owner (login) . Data transfer is either secured by OAuth token chain or API-key token. This token is transferred for each data request. Data requesting frequency is limited (threshold).

Der Zugriff auf Ressourcen der LINA Third Party API (TPAPI) erfolgt immer mit einer Anmeldung des Dateneigners (login) . Die Datenübertragung ist entweder mit der OAuth token chain oder API-Key token gesichert. Dieses token ist bei allen weiteren Abfragen zu übergeben. Die Häufigkeit der Datenabfrage ist limitiert (Begrenzung). 



TOC /INHALTSVERZEICHNIS


prerequisites /Voraussetzungen 

Available endpoints, endpoint licensing and client configuration

Verfügbaren Endpunkte, Lizensierung des Endpunktes und Konfiguration des Clients in LINA


authentication /Anmeldung an einem Endpunkt

successful authentication with one of the methods OAuth or API-key.
Erfolgreiche Anmeldung mit einer der zur Verfügung gestellten Methoden OAuth or API-key.


ratelimit / Begrenzung Abfragefrequenz

For security reasons a ratelimit of 100 data-requests per store within 15 minutes is set. Threshold is calculated as moving sum. All requests in the last 15 min are summed up and are limited to 100. No other calculation.
Exceeding requests will be responded with a block by our firewall. Error message exceeding the threshold is a HTTP-Code 429, status: error, message: "API-Calls exhausted: 100 Calls per 15 minutes". Authentication is not affected.


The ratelimit can be increased by booking LINA Data POS multiple times, please see ratelimit (TPAPI) : Gastro-MIS GmbH .


Aus Sicherheitsgründen ist ein ratelimit von 100 Datenanfragen pro Laden und 15 Minuten gesetzt. Das Limit wird als gleitende Summe berechnet. Alle Anfragen innerhalb der letzten 15 min werden summiert. keine anderen Limits.
Zusätzliche Anfragen werden von unserer Firewall geblockt.. Die Fehlermeldung beim Überschreiten des Limits ist HTTP-Code 429, status: error, message: "API-Calls exhausted: 100 Calls per 15 minutes" Die Authentifizierung ist nicht betroffen.


Das ratelimit kann erweitert werden, wenn LINA Data POS mehrfach gebucht wird, siehe ratelimit (TPAPI) : Gastro-MIS GmbH  .


http-request example /Beispiel Artikelstamm

nativer http-request im Browser an den Webservice in LINA

GET https://login.amadeus360.de/extern/merchandiseman/index

Beispielabfrage mit OAuth Access-Token

Eine korrekte Anfrage in cURL übergibt das Access-Token im Authorization-Header. Das Access-Token muss bei allen Abfragen mit gesendet werden.

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer f5eac38d0a41f1ecb882bd9240a16cddd838c5f3" -X GET https://login.amadeus360.de/extern/merchandiseman/index


Anfrage-Header:

NameBeispielwertBeschreibung
Authorizationb18f0405b7d8dfdaa6702b9295064e769924eac8Das zuvor erzeugte Access-Token (Zugriffs-Token). Vor dem Access-Token darf auch noch Bearer stehen, muss es jedoch nicht.


JSON-Antwort

Als Antwort auf obige Anfrage erhalten Sie immer ein JSON-Objekt bzw. JSON-Array.


Antwort bei Erfolg

In der Antwort erhält man z.B. Daten eines Artikels als JSON-Objekt:

[
{
"number": 1234,
"name": "Testartikel",
"function": "MAIN",
"prices": [
{
"active": true,
"priceperunit": 100,
"pricefixed": 5,
"menucard": 0,
"site": 0
}
]
}
]

Antwort bei Fehler

Die durchgehende Behandlung von Fehlermeldungen ist essentiell für eine zuverlässige Programmierung der TP API.

{
"status": "error",
"message": "Not authenticated."
}


Beispiel: Abfrage des aktuellen Betriebes

Um gerade für Partner, die Endpunkte für mehrere Betriebe ansprechen herausfinden zu können, welcher Client/Token für welchen Betrieb gilt, kann in jedem Endpunkt eine Abfrage an "store" geschickt werden.


GET http://login.amadeus360.de/extern/merchandiseman/store


In der Antwort erhält man Daten des aktuellen Betriebes sowie den aktuellen Client als JSON-Objekt:

{
"name": "Gastro-MIS GmbH",
"mail": "info@gastro-mis.de",
"token": {
"access_token": "<AccessToken>",
"client_id": "<ClientID>",
"expires": "1649016198",
"scope": "merchandisemanagement_read,merchandisemanagement_write,revenuejournal_read,taxonomie_import,personal_read,webcashregister_write,bwa_read"
}
}