In der Amadeus360 Third Party API (TP API) werden an den verschiedenen Endpunkten Daten gelesen/geschrieben. Die Endpunkte POS-API bringen das Amadeus Order Interface (AOI) einer lokalen Kasseninstallation in die Cloud. Die dafür nötige Infrastruktur liefert Amadeus360. Hier wird lediglich beschrieben, wie Requests an die Amadeus360 Kasse gerichtet werden können. Über diesen Endpunkt können die selben Befehle abgesetzt werden wie auch über das AOI: Amadeus Order Interface.

Nach der Freigabe für den Zugriff (Lizensierung, Anlegen des Client, Berechtigung), erfolgreiche Anmeldung und Konfiguration der Webkasse werden Befehle in Amadeus360 SQL (ASQL) meist auf dem abgefragten Tisch ausgeführt. Wie die Webkasse in der Amadeus360 Kasse eingerichtet wird, finden Sie hier (identisch zu AmadeusGo): Kassen konfigurieren


VoraussetzungKonfigurationErgebnis
Lizensierung Amadeus360Endpunkt "Webkasse POS-API"monatliche Buchung
Client Schnittstellemit URIClient-ID und Access-Token
Client-BerechtigungDaten lesen/schreibenLese- /Schreibberechtigung Client
Scopewebcashregister_write
Nutzer-BerechtigungAnmeldung mit BenutzerSchreiben der Daten mit den Berechtigungen des Benutzers
Konfiguration WebkasseKassen konfigurierenTPAPI kann ASQL-Befehle über das AOI an die Kasse senden und Aktionen (meist auf dem Tisch) ausführen



INHALTSVERZEICHNIS



Kasse und Amadeus Order Interface (AOI und ASQL)

Das Amadeus Order Interface (AOI) ist die Schnittstelle der Amadeus360 Kasse, in der Befehle in Amadeus360 SQL (ASQL) ausgeführt werden. Meist werden die ASQL Befehle zum Tisch angewendet, um zu bonieren, zu reservieren, Kundendaten zu schreiben und zu bezahlen. Die die Basis-URL webcashregister lautet wie folgt:

http://login.amadeus360.de/extern/webcashregister

Alle Daten können erst nach erfolgreicher Authentifizierung abgefragt werden. Antwort ist immer ein JSON-Objekt.

API-Doku: https://documenter.getpostman.com/'id' 


Verfügbarkeitsprüfung (Ping)

Um die Erreichbarkeit einer Kasse zu prüfen, gibt es einen eigenen Endpunkt ping. Es sind keine weiteren Header oder Parameter notwendig.

Aufruf ping:

GET http://login.amadeus360.de/extern/webcashregister/ping

Antwort-Beispiel:

{
    "status": "success",
    "pos_online": false,
    "last_send": null
}

ASQL-Befehl senden (Command)

Mögliche ASQL-Befehle:  Amadeus Order Interface. Der Aufruf erfolgt mit POST, die ASQL-Befehle werden als Objekt gesendet, siehe Dokumentation im Postman.

Aufruf command:

POST http://login.amadeus360.de/extern/webcashregister/command

POST-Parameter ASQL:

  • command: ASQL-Befehl, der ausgeführt werden soll; Bsp.: table 999;
  • terminal: Kassennummer der Kasse, an die der ASQL-Befehl gesendet wird


Antwort-Beispiel (Fehler: Kasse nicht online):

{
    "status": "error",
    "message": "pos not online"
}


Antwort-Beispiel (Kasse online):

{
  "status": "success",
  "response": {
    "document": {
      "name": "screen",
      "messageid": "1",
      "section": [
        {
          "name": "status",
          "dataset": [
            {
              "waiter.name": "AmaGo",
              "organization.currency": "EUR",
              "organization.businessdate": "07.04.2020",
              "terminal.tapster": "inactive",
              "table.balance": 0,
              "pricelevel.number": 1,
              "table.pickupdatetime": "2020-04-07T09:13:00.000+02:00",
              "profile.name": "Außer Haus",
              "table.adults": 0,
              "table.sales": 17.8,
              "table.kids": 0,
              "terminal.number": 2,
              "site.name": "Außer Haus",
              "terminal.name": "AmadeusGo",
              "table.number": "A121",
              "table.firstbookdatetime": "2020-04-07T09:13:01.000+02:00",
              "table.ordertype": "Abholung",
              "waiter.number": 10,
              "execution.severity": "I",
              "situation.number": 1,
              "situation.name": "Außer Haus",
              "execution.code": 23600070,
              "organization.name": "Gastro MIS DEMO",
              "pricelevel.name": "Standardpreis",
              "site.color": "notset",
              "master": false,
              "table.lastbookdatetime": "2020-04-07T09:13:01.000+02:00",
              "table.infants": 0,
              "execution.message": "17.8 Bar gegeben.",
              "terminal.status": "open",
              "site.number": 1,
              "organization.number": 2571,
              "situation.color": "notset",
              "profile.number": 2
            }
          ]
        },
        {
          "name": "table.details",
          "dataset": [
            {
              "article.number": 382,
              "vat.name": "7% Mwst",
              "mecgroup.colorcode": "#00bfff",
              "sortorder.name": "Ohne Sortierung",
              "mecgroup.color": "hellblau",
              "article.name": "Hähnchenbrust",
              "type": "article",
              "site.name": "Außer Haus",
              "action": {
                "standard": "book plu 382;"
              },
              "mec.number": 140,
              "finance.categorynumber": 1,
              "sortorder.number": 0,
              "mecgroup.number": 3,
              "article.count": 1,
              "mecgroup.name": "Speisen",
              "article.balance": 17.8,
              "finance.categoryname": "Umsatz",
              "mec.name": "Fleischgerichte",
              "finance.name": "Boniert",
              "site.color": "notset",
              "tabledata.id": "148",
              "finance.number": 1,
              "article.amount": 1,
              "vat.factor": 7,
              "article.priceperunit": 17.8,
              "site.number": 1,
              "finance.categorytype": "SALES"
            },
            {
              "finance.number": 20,
              "finance.balance": -17.8,
              "type": "finance",
              "finance.categoryname": "Bargeld",
              "finance.categorynumber": 20,
              "finance.name": "Bar gegeben",
              "tabledata.id": "149",
              "finance.categorytype": "CASH"
            }
          ]
        },
        {
          "name": "bill.list",
          "dataset": [
            {
              "bill.number": 0,
              "bill.name": "Kein Druck",
              "action": {
                "standard": "print 0;table;"
              },
              "type": "bill"
            },
            {
              "bill.number": 1,
              "bill.name": "Rechnung",
              "action": {
                "standard": "print 1;table;"
              },
              "type": "bill"
            },
            {
              "bill.number": 2,
              "bill.name": "Bewirtungsbeleg",
              "action": {
                "standard": "print 2;table;"
              },
              "type": "bill"
            }
          ]
        }
      ]
    }
  }
}