Skip to content

Warenkorb-Integration

Der Warenkorb wird für die Bestellung von konfigurierten Artikeln verwendet. Er liegt immer auf dem Kundenserver, nicht auf web.3doffice.de.

Einrichtung

Mit dem URL-Parameter urlwarenkorb wird die externe Warenkorb-URL angegeben:

https://web.3doffice.de/webkatalog2_5/planning?urlwarenkorb=www.meinserver.de/warenkorb/kundenid

Hinweis

Die URL wird ohne http:// oder https:// angegeben. HTTPS:// wird automatisch vorangestellt.

Ablauf

mermaid
sequenceDiagram
    participant U as Benutzer
    participant WK as WebKatalog
    participant EK as Externer Warenkorb
    U->>WK: Artikel konfigurieren
    WK->>U: "In den Warenkorb"-Button anzeigen
    U->>WK: Auf Button klicken
    WK->>EK: POST mit JSON-Daten
    EK-->>WK: Bestätigung
  1. Eine urlwarenkorb wird hinterlegt
  2. Im Artikelinformationsbereich erscheint ein "In den Warenkorb"-Button
  3. Klick auf den Button sendet den aktuellen Artikel (komplettes JSON) per POST an die hinterlegte URL
  4. Immer der komplette Artikel wird gesendet (bei Meta-Planung: der oberste Artikel)
  5. Kindartikel können nicht einzeln gesendet werden

POST-Daten

Der Request Body enthält das vollständige Artikel-JSON:

json
{
  "json": {
    "typename": "",
    "id": "{815F0BB3-0BC2-4D9B-AE21-0B25F026A14F}",
    "rootid": "{815F0BB3-0BC2-4D9B-AE21-0B25F026A14F}",
    "manufacturer": "_dx",
    "program": "webti",
    "basearticlenumber": "27R0614Q",
    "ocd": {
      "finalarticlenumber": "27 R 06 14 KL Q",
      "price": 540,
      "currency": "EUR",
      "shorttext": "Rechtecktisch, Tiefe 600 mm, Breite 1400 mm",
      "reinitstring": "..."
    }
  },
  "hierarchy": {
    "manufacturer": "_dx",
    "program": "webti",
    "basearticlenumber": "27R0614Q",
    "shorttext": "Rechtecktisch, Tiefe 600 mm, Breite 1400 mm",
    "price": 540,
    "currency": "EUR",
    "id": "{815F0BB3-0BC2-4D9B-AE21-0B25F026A14F}"
  }
}

Artikel-IDs

Jeder Artikel hat eine eindeutige ID. Diese sollte für die Speicherung im Kunden-Warenkorb verwendet werden. Auch eine Aktualisierung nach Nachkonfiguration kann über die ID gehandhabt werden.

Nachkonfiguration

Um einen bestehenden Artikel nachzukonfigurieren:

  1. Artikel-Daten (ab Root-Ebene) per POST an /api/ofml.dll/ofml/reinit senden
  2. Zurückgegebene ID verwenden: {BASE}/planning?id={ID}

Demo-Warenkorb

Für Tests gibt es einen Demo-Warenkorb, der keine Artikel speichert:

https://web.3doffice.de/webkatalog2_5/planning?urlwarenkorb=web.3doffice.de%2Fwebkatalog2%2Fassets%2FDemo-Warenkorb%2Fwarenkorb.php

WARNING

Der Demo-Warenkorb speichert keine Artikel und ist nur für die einmalige Ansicht gedacht. Er kann nicht für den Live-Betrieb verwendet werden.

Parameter

ParameterBeschreibung
urlwarenkorbURL des externen Warenkorbs
warenkorbbtntextCustom Text für den Warenkorb-Button
urlmerkzettelURL des Merkzettels (alternativ zum Warenkorb)

3D office WebKatalog 2.5 — ub.unitel GmbH