Erklärung zu Mengeneinheiten in der REST API bei Artikelvarianten?

Thema wurde von sirtet, 16. Januar 2023 erstellt.

  1. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Eigentlich sollte ich nichts mit der API zu tun haben, aber da ich mit Vario in einer Schleife feststecke, bleibt mir nichts als selbst zu graben...
    Ich hab das schon hier und hier gemacht, aber das war immer nur in Nebensätzen, darum frag ich lieber hier explizit weiter:

    Wenn ich wie im Handbuch beschrieben keine Grundpreise angebe und somit keine VPE verwende, wie muss dann ein REST POST zum erstellen einer Variante aussehen?

    Ich vermute mal, in untenstehenden Request fehlt "vpeUnitId": null, richtig?
    und was muss denn bei vpeScalarValue stehen, wenn man VPE nicht nutzt? Das ist ja laut API Referenz required, und nicht nullable?
    Momentan ist da der netto-Preis drin.

    Code:
    16.01.2023 11:49:33 [TGambioAPI] POST  https://www.redpig.ch/var47/api.php/v3/products/7/variants
    
    [HEADER]: Authorization=Basic xxxxxxxxxxxxxxxxxxxxxxxxxg==
    [HEADER]: Content-Type=application/json
    
    CONTENT:
    [
        {
            "combination": [
                {
                    "optionId": 9,
                    "optionValueId": 112
                },
                {
                    "optionId": 4,
                    "optionValueId": 52
                }
            ],
            "sortOrder": 25000600,
            "modelNumber": "1204.1-XL-GN",
            "GTIN": "",
            "ASIN": "",
            "EAN": "",
            "stockType": "only-positive",
            "stock": 0,
            "weightType": "replacing",
            "weight": 0,
            "priceType": "replacing",
            "price": 0,
            "vpeScalarValue": 268.338,
            "deliveryTimeId": 1,
            "imageListId": null
        }
    ]
    
    16.01.2023 11:49:33 [TGambioAPI] STATUS:
        400 Bad Request
    
    HEADER:
        Cache-Control: public, max-age=0
        Connection: Keep-Alive
        Date: Mon, 16 Jan 2023 10:49:33 GMT
        Keep-Alive: timeout=5, max=100
        Content-Length: 52
        Content-Type: application/json; charset=UTF-8
        Expires: Mon, 16 Jan 2023 10:49:33 GMT
        x-rate-limit-limit: 5000
        x-rate-limit-remaining: 4705
        x-rate-limit-reset: 1673866869
        x-shop-version: v4.7.1.2
        x-api-version: 3.0.0
        x-content-type-options: nosniff
    
    CONTENT:
    {
        "errors": [
            [
                "Attribute \"vpeUnitId\" is missing."
            ]
        ]
    }
    
     
  2. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Hmm, ich hoffe is ist nicht zu unangebracht hier mal zu pingen? @Gambio?
     
  3. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Nein, passt, keine Sorge.

    Wir hatten das Thema vorhin schon kurz bei uns, mein Kollege Marvin wollte zusehen dass du hier eine Antwort bekommst, aber der hängt wohl auch noch an einem anderen Job. Kommt.
     
  4. Marvin (Gambio)

    Marvin (Gambio) Moderator
    Mitarbeiter

    Registriert seit:
    5. Februar 2019
    Beiträge:
    68
    Danke erhalten:
    33
    Danke vergeben:
    22
    Das ist richtig. "vpeUnitId" muss im Request enthalten sein kann aber null sein.

    Netto-Preis oder 0 funktioniert beides. Der Wert in diesem Feld wird nur verwendet wenn auch eine "vpeUnitId" angegeben ist.

    Ich habe dafür für mal ein Ticket angelegt. "vpeScalarValue" sollte auch null akzeptieren können
     
  5. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Danke. Aber...
    Stimmt nicht ganz, im Warenkorb gibt's so Probleme (in 4.7.1.2):
    upload_2023-1-17_17-11-35.png
     

    Anhänge:

  6. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Bei VPE gehören niemals Preise rein. Das ist ein Skalarfaktor da, der den Grundpreis zum Einzelpreis skaliert. Solange da Preise im ScalarFactor landen wird das immer kaputt sein...

    Das hatten wir Vario auch schon mal im direkten Gespräch gesagt und ich dachte eigentlich auch das sei dort verstanden worden. Hmmm. Ich pinge die Jungs dazu nochmal.
     
  7. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Danke.
    Kannst du mir vielleicht per PM sagen wer das war/ist, dass ich auch auf meinem Kanal besser nachhaken kann?
     
  8. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Ich hab keine Ahnung ob ich das so namentlich teilen kann, aber die Funktionen sind Prokurist und ausführender Entwickler für die Schnittstelle.
     
  9. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Ich habe gepingt, mein Kontakt bei Vario antwortete mir zu der VPE Sache:

    "Ist heute Mittag gefixt worden. Unser Support (=Vario) hat auch eben die Info bekommen und spricht die Leute aktiv an die sich dazu gemeldet haben. Nutzer können sich an support@vario.ag wenden."

    Ich denke das ist damit erledigt.
     
  10. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Danke @Wilken (Gambio) ...
    Ich glaube, mein Post #5 hat sich mit deiner #6 fast gekreuzt, so dass #5 übersehen wurde?
    Ich pinge das darum nochmals... :)