Appearance
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/kundenidHinweis
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- Eine
urlwarenkorbwird hinterlegt - Im Artikelinformationsbereich erscheint ein "In den Warenkorb"-Button
- Klick auf den Button sendet den aktuellen Artikel (komplettes JSON) per POST an die hinterlegte URL
- Immer der komplette Artikel wird gesendet (bei Meta-Planung: der oberste Artikel)
- 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:
- Artikel-Daten (ab Root-Ebene) per POST an
/api/ofml.dll/ofml/reinitsenden - 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.phpWARNING
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
| Parameter | Beschreibung |
|---|---|
urlwarenkorb | URL des externen Warenkorbs |
warenkorbbtntext | Custom Text für den Warenkorb-Button |
urlmerkzettel | URL des Merkzettels (alternativ zum Warenkorb) |