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¶
Ein neuer Token wird über den Entpunkt per POST
über die URL /api/plugin/order/position/token
angefordert.
Es muss der Header Accept: application/json
gesendet werden.
Antwort:
{
"dataset": {
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
},
"sys": {
"message": "200 OK",
"code": 200
}
}
Warenkorb Position anlegen / aktualisieren¶
Die Positionen werden per POST
über die URL /api/plugin/order/position
angelegt oder aktualisiert.
Es kann eine Position oder mehrere in einem Request angelegt oder aktualisiert werden.
Die Header Content-Type:application/json
und Accept: application/json
müssen bei verwendung von Json mitgeliefert werden.
eine Position¶
{
"itemSKU": "36259745224728",
"positionCount": 1,
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
}
mehrere Positionen¶
{
"dataset": [
{
"itemSKU": "36259745224728",
"positionCount": 1,
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
},
{
"itemSKU": "36259745224728",
"positionCount": 2,
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
},
{
"itemSKU": "36259745224728",
"positionCount": 1,
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
},
{
"itemSKU": "36259745224728",
"positionCount": 1,
"token": "ielkdyU2ROvRiGQUzaa6gO.oHz2vOTST"
}
]
}
Antwort¶
eine Position Update¶
{
"dataset": [
{
"dataset": {
"itemSKU": "1465948883717",
"positionCount": 1,
"token": "xczgFQ4PGqnHZmAw02WQfTNeUVbpC8AJ",
"scid": 1695,
"itemIID": 1005,
"positionVariant": "L",
"itemName": "Armkettchen",
"itemNumber": "0 215 659 62"
},
"sys": {
"message": "200 OK",
"code": 200
}
}
],
"sys": {
"message": "200 OK",
"code": 200
}
}
eine Position Update und eine Position anlegen¶
{
"dataset": [
{
"dataset": {
"itemSKU": "1465948883717",
"positionCount": 1,
"token": "xczgFQ4PGqnHZmAw02WQfTNeUVbpC8AJ",
"scid": 1695,
"itemIID": 1005,
"positionVariant": "L",
"itemName": "Armkettchen",
"itemNumber": "0 215 659 62"
},
"sys": {
"message": "200 OK",
"code": 200
}
},
{
"dataset": {
"itemSKU": "1465948883717",
"positionCount": 1,
"token": "xczgFQ4PGqnHZmAw02WQfTNeUVbpC8AJ",
"itemIID": 1005,
"positionVariant": "L",
"itemName": "Armkettchen",
"itemNumber": "0 215 659 62",
"scid": 1701
},
"sys": {
"message": "201 Created",
"code": 201
}
}
],
"sys": {
"message": "207 Multi-Status",
"code": 207
}
}
Fehler¶
{
"sys": {
"error": {
"code": 400,
"message": "400 Bad Request"
}
},
"dataset": [
{
"dataset": {
"itemSKU": "1465948883717",
"positionCount": 0,
"token": "xczgFQ4PGqnHZmAw02WQfTNeUVbpC8AJ",
"scid": 1695
},
"sys": {
"error": {
"code": 400,
"message": "400 Bad Request",
"hint": "Es wurde keine Menge angegenben. Verwenden Sie den Schlüssel:positionCount"
}
}
}
]
}
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"
}
}