Integration Externes Bestellsystem (Lieferservice): Unterschied zwischen den Versionen

Aus GRITON
Zur Navigation springen Zur Suche springen
K
Zeile 50: Zeile 50:
 
   
 
   
 
# Beispiel Request Body:
 
# Beispiel Request Body:
<code>
+
<nowiki>
 
{"_id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
 
{"_id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
 
   "restaurant": {
 
   "restaurant": {
Zeile 126: Zeile 126:
 
   "confirmedReceiveTime": "2021-03-03T22:44:50.014Z",
 
   "confirmedReceiveTime": "2021-03-03T22:44:50.014Z",
 
   "confirmedDeliveryTime": "2021-03-03T22:44:54.308Z"
 
   "confirmedDeliveryTime": "2021-03-03T22:44:54.308Z"
  }</code>
+
  }</nowiki>
  
 
Beispiel Response:  
 
Beispiel Response:  
<code>{"ok": true,
+
<nowiki>{"ok": true,
 
   "id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
 
   "id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
 
   "rev": "1-b85936d29366137954efa9c7f84c3073"
 
   "rev": "1-b85936d29366137954efa9c7f84c3073"
  }</code>
+
  }</nowiki>

Version vom 4. März 2022, 10:35 Uhr

IntraSell kann Daten aus externen Systemen übernehmen. Daher ist eine Integration notwendig.

Der Integrationspartner stellt folgendes bereit:

  1. Web Service für die Orders/Status.
  2. Logo für die Integration in IntraSell
  3. Optional Logo in Bitmap Format für Beleg Druck.
  4. Telefon Nummer für Integrationen - wenn was schief geht und keine Orders ankommen.

Datenformat und Aufbau der Schnittstelle orientiert sich an das Datenformat von Lieferservice:

external_order_api_manual.pdf


In IntraSell wird eine Schnittstelle bereitgestellt. Wie z.Bsp:

UI Externe Schnittstelle.png

Tests werden gemeinsam durchgeführt. Dafür ist eine Test Restaurant zu konfigurieren mit:

  1. Web Service Adresse.
  2. Restaurant ID
  3. Username
  4. Passwort


Übermittlung Orders and IntraSell mit der VIP

Ein Externes System kann Orders an IntraSell mittels der API übermitteln.

Neue Order übermitteln

  1. HTTP POST an https://vip-pizza.at/vip?conflicts=true
  2. Basic Authentication: User und Passwort bitte anfragen gt@griton.net
Feld Kommentar
restaurant Block Daten "restaurant" muss nicht übermittelt werden
restaurantId Pflichtfeld, das ist die Id des Restaraunts, wo die Order ausgeführt werden muss
publicReference Pflichtfeld, für Emails und SMS Referenz für den Kunden
orderKey gleich wie publicReference
  1. Beispiel Request Body:
{"_id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
  "restaurant": {
    "_id": "Test",
    "_rev": "4-b4a9bf70c5db718856ae83a1abc2acab",
    "class": "restaurant",
    "name": "Test",
    "adresse": "Hauptstr. 66",
    "plz": "4040",
    "ort": "Linz",
    "mindestbestellwert": 13,
    "zustellinfo": "Express Zustellung + EUR 2,00 pro Hauptspeise",
    "orderlink": "http://shop.griton.net/Order.aspx?mandant=Test",
    "email": "gt@griton.net",
    "tel": "0732/370629",
    "uid": "ATU75666156",
    "zustellgebiet": "4040,4020,4030",
    "status": "online",
    "coords": {
      "latitude": 0,
      "longitude": 0
    },
    "oeffnungszeiten": "MO-SO 11:00 24:00"
  },
  "restaurantId": "Test",
  "publicReference": "[object Object]:VXU2ZT",
  "orderKey": "VXU2ZT",
  "class": "order",
  "platform": "VIP",
  "orderDate": "2021-09-08T13:51:31.167Z",
  "orderType": "Lieferung",
  "totalPrice": 12.8,
  "products": [
    {
      "id": "25988",
      "name": "Knoblauchbaguette",
      "description": "",
      "category": "Frühstück",
      "vat": 10,
      "count": 1,
      "price": 2.9,
      "sideDishes": []
    },
    {
      "id": "26226",
      "name": "Seelachsfilet im Backteig",
      "description": "",
      "category": "Fisch",
      "vat": 10,
      "count": 1,
      "price": 6.9,
      "sideDishes": []
    },
    {
      "id": "trinkgeld",
      "name": "Trinkgeld",
      "description": null,
      "category": "Trinkgeld",
      "vat": 0,
      "count": 1,
      "price": 3
    }
  ],
  "paymentMethod": "Bar",
  "customer": {
    "name": "Pham Tu Binh",
    "email": "gt@griton.net",
    "phoneNumber": "06766063036",
    "city": "Linz",
    "postalCode": "4040",
    "street": "Hauserstr. 12"
  },
  "remark": "",
  "status": "Zugestellt",
  "confirmedReceiveTime": "2021-03-03T22:44:50.014Z",
  "confirmedDeliveryTime": "2021-03-03T22:44:54.308Z"
 }

Beispiel Response:

{"ok": true,
  "id": "0d765ceb-b4ce-41ad-af63-dc17a80c1b63",
  "rev": "1-b85936d29366137954efa9c7f84c3073"
 }