REST Api - Bestellung anlegen

Thema wurde von cdoo, 1. September 2022 erstellt.

  1. cdoo

    cdoo Erfahrener Benutzer

    Registriert seit:
    15. November 2018
    Beiträge:
    66
    Danke erhalten:
    30
    Danke vergeben:
    23
    Einen schönen guten Morgen!

    Ich habe mich jetzt mit der Bestellanlage über die REST-API laut Doku beschäftigt.
    Der POST mit dem Code in der Doku funktioniert soweit problemlos, dennoch ergeben sich hier einige Fragen auf die eventuell der ein oder andere eine Antwort hat.

    1) Beim Aufruf des nachfolgenden Codes wird ausschließlich die Zwischensumme angelegt und die effektive Endsumme nicht automatisch berechnet - müssen hier die Berechnungen bis zur korrekten Endsumme (mit Steuer) ebenfalls übergeben werden und falls ja, wie müsste das aussehen?

    2) Mit der Anlage der Bestellung werden über "items" die diversen Artikel übergeben. Hier wird zwar die productid übergeben, jedoch muss auch nochmal Text, Preis, Steuer, etc. des Artikels übergeben werden. Wie schaut es hier mit dem Lagerstand aus, wird der Lagerstand von "productId" abgezogen?

    Code für die Bestellanlage:

    Code:
    $data_vorlage = '{
        "addresses": {
            "billing": {
                "additionalAddressInfo": "1. Etage",
                "b2bStatus": false,
                "city": "Bremen",
                "company": "JD Company",
                "countryId": 81,
                "firstname": "John",
                "gender": "m",
                "houseNumber": "123",
                "lastname": "Doe",
                "postcode": "28219",
                "street": "Test Street",
                "suburb": "",
                "zoneId": 0
            },
            "customer": {
                "additionalAddressInfo": "1. Etage",
                "b2bStatus": false,
                "city": "Bremen",
                "company": "JD Company",
                "countryId": 81,
                "firstname": "John",
                "gender": "m",
                "houseNumber": "123",
                "lastname": "Doe",
                "postcode": "28219",
                "street": "Test Street",
                "suburb": "",
                "zoneId": 0
            },
            "delivery": {
                "additionalAddressInfo": "1. Etage",
                "b2bStatus": false,
                "city": "Bremen",
                "company": "JD Company",
                "countryId": 81,
                "firstname": "John",
                "gender": "m",
                "houseNumber": "123",
                "lastname": "Doe",
                "postcode": "28219",
                "street": "Test Street",
                "suburb": "",
                "zoneId": 0
            }
        },
        "comment": "",
        "currencyCode": "EUR",
        "customer": {
            "email": "admin@shop.de",
            "id": 1,
            "number": "",
            "phone": "0421 - 22 34 678",
            "status": {
                "discount": 0,
                "id": 0,
                "image": "admin_status.gif",
                "isGuest": false,
                "name": "Admin"
            },
            "vatId": ""
        },
        "items": [
            {
                "addonValues": {
                    "productId": 2,
                    "quantityUnitId": 1
                },
                "checkoutInformation": "Checkout information goes here ...",
                "discount": 0,
                "finalPrice": 11,
                "id": 1,
                "isTaxAllowed": "true",
                "model": "12345-s-black",
                "name": "Ein Artikel",
                "price": 11,
                "quantity": 1,
                "quantityUnitName": "Liter",
                "shippingTimeInformation": "",
                "tax": 19
            }
        ],
        "languageCode": "DE",
        "paymentType": {
            "module": "cod",
            "title": "cod"
        },
        "purchaseDate": "2015-11-06 12:22:39",
        "shippingType": {
            "module": "flat_flat",
            "title": "Pauschale Versandkosten (Standard)"
        },
        "statusHistory": [
            {
                "comment": "",
                "customerNotified": "true",
                "dateAdded": "2015-11-06 12:22:39",
                "id": 1,
                "statusId": 1
            }
        ],
        "statusId": 1,
        "totalWeight": 0.123,
        "totals": [
            {
                "class": "ot_subtotal",
                "id": 1,
                "sortOrder": 10,
                "title": "Zwischensumme",
                "value": 50,
                "valueText": "50,00 EUR"
            }
        ]
    }';
    
    [​IMG]

    Danke :)