Rest API: Aktionspreis kommt nicht an

Thema wurde von sirtet, 27. Februar 2023 erstellt.

  1. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.122
    Danke erhalten:
    88
    Danke vergeben:
    89
    Hmm, ich erstelle mit VARIO einen Artikel, lade ihn hoch.
    Das klappt. Dann füge ich einen Sonderpreis hinzu.
    Der wird laut debug-log von Gambio (GX4.7.2.3) angenommen (siehe unten 200 OK),
    ist aber danach beim Artikel nicht zu finden, auch nicht in der DB, Tabelle specials...

    Fällt da jemandem von Gambio etwas auf am log?

    27.02.2023 14:36:51 [TGambioAPI] PUT https://www..../api.php/v2/special_offers/800

    [HEADER]: Authorization=Basic dG...Mg==
    [HEADER]: Content-Type=application/json

    CONTENT:
    {
    "productId": 800,
    "price": 65,
    "quantity": 9999999,
    "status": true,
    "expiresAt": "28.02.2023"
    }

    27.02.2023 14:36:51 [TGambioAPI] STATUS:
    200 OK

    HEADER:
    Cache-Control: no-store, no-cache, must-revalidate
    Connection: Keep-Alive
    Date: Mon, 27 Feb 2023 13:36:51 GMT
    Keep-Alive: timeout=5, max=100
    Pragma: no-cache
    Content-Length: 180
    Content-Type: application/json; charset=utf-8
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    x-frame-options: SAMEORIGIN
    x-api-version: v2.6.0
    x-rate-limit-limit: 5000
    x-rate-limit-remaining: 4980
    x-rate-limit-reset: 1677505160
    x-shop-version: v4.7.2.3
    x-content-type-options: nosniff

    CONTENT:
    {
    "id": 800,
    "price": 65,
    "quantity": 9999999,
    "status": true,
    "expiresAt": "2023-02-28 00:00:00",
    "productId": 800,
    "modified": "2023-02-27 14:36:51"
    }
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hallo,

    wenn noch kein Sonderangebot existiert, musst du es per POST anlegen. Erst danach kannst du es per PUT aktualisieren. Achte beim expiresAt auf das korrekte Format. Du hast "28.02.2023" statt "2023-02-08 00:00:00".
     
  3. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.122
    Danke erhalten:
    88
    Danke vergeben:
    89
    Danke.

    Hmm, sollte der obige PUT Request dann nicht zu einem Fehler, statt zu 200 OK führen, wenn nichts zum updaten gefunden wurde?

    Ich hab jedenfalls von Hand ein neues Sonderangebot in Gambio erstellt, und ihm dann in der DB die specials_id gegeben, die im obigen Log zurückgemeldet wurde (... "id": 800, ...).
    Danach wurden tatsächlich Änderungen am Aktionspreis von Vario an Gambio repliziert.

    Wegen Datumsformat:
    Laut Response im Log oben wurde das trotzdem richtig erkannt...
    Aber das geht mich nichts an, die VARIO Schnittstelle macht das ja, nicht ich.
     
  4. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Stimmt, das ist ein Bug, dass ein 200 OK gemeldet wird, auch wenn ein Request ungültig ist. Das werden wir korrigieren.

    VARIO muss hier nachbessern. Da haken wir mal nach.