Warenkorb API

Mit der Warenkorb API werden Positionen in den Warenkorb gelegt.

Funktionsweise

Die Warenkorb Positionen werden über Token referenziert. Jeder neue Token bedeutet ein neuer Warenkorb.

Token Anfordern

documentation/component/de/docs/checkout/token-anfordern.md

Warenkorb Position anlegen / aktualisieren

documentation/component/de/docs/checkout/warenkorb-hinzufuegen.md

Warenkorb auslesen

Mit GET /api/plugin/order/position/{token} können die angelegten Positionen ausgelesen werden

Beispiel : /api/plugin/order/position/Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY

{
    "dataset": [
        {
            "scid": 1702,
            "customerUID": 0,
            "customerNumber": "",
            "customerText": "",
            "salesmanUID": 0,
            "orderOID": 0,
            "packagingItemIID": 0,
            "positionCount": "1.",
            "positionVariant": "L",
            "positionDescription": "",
            "positionCreated": "2021-05-04T08:17:57",
            "positionSerialnumber": "",
            "positionCustom1": "",
            "positionCustom2": "",
            "positionCustom3": "",
            "positionSystemtext": "",
            "restrictionToCount": "",
            "restrictionToVariant": "",
            "stockUpdated": "0",
            "itemIID": 1005,
            "itemName": "Armkettchen",
            "itemSKU": "1465948883717",
            "itemNumber": "0 215 659 62",
            "itemDealersnumber": "",
            "priceVat": 0,
            "priceGross": 0,
            "priceNet": 0,
            "priceDigits": 0,
            "priceType": 0,
            "priceCurrency": "",
            "deliveryDID": 0,
            "priceRecommendedGross": 0,
            "priceRecommendedNet": 0,
            "priceRecommended": "",
            "pricePurchasingGross": 0,
            "pricePurchasingNet": 0,
            "priceBaseNet": 0,
            "priceBaseGross": 0,
            "priceBaseMesaureReference": 0,
            "priceBaseMeasureValue": 0,
            "priceExchangerateLeadCurrency": "",
            "priceExchangerateRate": 0,
            "priceExchangerateNet": 0,
            "priceExchangerateGross": 0,
            "priceExchangerateDigits": 0,
            "validated": "0",
            "token": "Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY"
        }
    ],
    "sys": {
        "message": "200 OK",
        "code": 200
    }
}

Wird der Token nicht gefunden wird 404 zurück geliefert

{
    "sys": {
        "code": 404,
        "message": "404 Not Found"
    }
}

sind keine Positionen enthalten wird ein leerer Datensatz zurück geliefert

{
    "dataset": {},
    "sys": {
        "message": "200 OK",
        "code": 200
    }
}

Warenkorb löschen

Wenn ein Fehler beim löschen auftritt wird keine Position gelöscht.

Alles löschen

Mit DELETE /api/plugin/order/position/{token} werden alle Einträge und den alle Token Informationen gelöscht.

Antwort:

{
    "dataset": [
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY",
                "scid": 1713
            }
        },
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY",
                "scid": 1714
            }
        },
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY",
                "scid": 1715
            }
        },
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY",
                "scid": 1716
            }
        }
    ],
    "sys": {
        "message": "200 OK",
        "code": 200
    }
}

Einzeln löschen

Mit DELETE /api/plugin/order/position können einzelne Positionen gelöscht werden

{
    "scid": 1254
    "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
}

oder mehrere in einem Datensatz

{
    "dataset": [
        {
            "scid": 1254
            "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
        },
            "scid": 1255
            "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
        },   
    ]
}

Antwort - OK

{
    "dataset": [
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST",
                "scid": 1254
            }
        },
        {
            "sys": {
                "message": "200 OK",
                "code": 200
            },
            "dataset": {
                "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST",
                "scid": 1255
            }
        }
    ],
    "sys": {
        "message": "200 OK",
        "code": 200
    }
}

Antwort - Fehler

In diesem Beispiel wird die SCID nicht gelöscht obwohl diese gefunden und gelöscht werden könnte.

{
    "dataset": [
        {
            "sys": {
                "message": "404 Not Found",
                "code": 404
            },
            "dataset": {
                "token": "2Cf3Oh932SUytcbLcx7aI8g7q8kEfmCAY",
                "scid": 1710
            }
        },
        {
            "sys": {
                "message": "400 OK",
                "code": 200
            },
            "dataset": {
                "token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST",
                "scid": 1255
            }
        }
    ],
    "sys": {
        "code": 400,
        "message": "Bad Request"
    }
}