Fehlende und doppelte Preisgruppen in s_articles_prices bei Artikel-PUT-API-Aufruf

Obwohl zweimal dieselben Daten im PUT mitgegeben werden, ergeben sich unterschiedliche Preise in s_articles_prices.

Das Ganze kann so nachgestellt werden:

  1. Voraussetzung: Artikel ist vorhanden, aber keine Preise in s_articles_prices

  2. Testschritt 1: Ausführen PUT /api/articles mit neuen Preisen in mainDetail/prices:

    array (
    ‘id’ => 214635,
    ‘mainDetailId’ => 214635,
    …,
    ‘mainDetail’ =>
    array (
    ‘prices’ =>
    array (
    0 =>
    array (
    ‘customerGroupKey’ => ‘EK’,
    ‘price’ => ‘69.33’,
    ‘from’ => ‘1’,
    ‘to’ => ‘beliebig’,
    ‘customerGroup’ =>
    array (
    ‘id’ => 1,
    ‘key’ => ‘EK’,
    …,
    ),
    ),
    1 =>
    array (
    ‘customerGroupKey’ => 88,
    ‘price’ => ‘26.99’,
    ‘from’ => ‘1’,
    ‘to’ => ‘beliebig’,
    ‘customerGroup’ =>
    array (
    ‘id’ => 57,
    ‘key’ => ‘88’,
    …,
    ),
    ),
    2 =>
    array (
    ‘customerGroupKey’ => 20,
    ‘price’ => ‘26.99’,
    ‘from’ => ‘1’,
    ‘to’ => ‘beliebig’,
    ‘customerGroup’ =>
    array (
    ‘id’ => 88,
    ‘key’ => ‘20’,
    …,
    ),
    ),
    ),
    …,
    ),
    …,
    )

  3. Ergebnis: Artikel mit richtigen Preisen/Preisgruppen in s_articles_prices vorhanden (Preisgruppen EK, 88, 20)
     

  4. Testschritt 2: Erneutes Ausführen PUT(Batch) /api/articles mit exakt gleichen Preisen in mainDetail/prices (array siehe 2.)

  5. Resultat: Fehlende und doppelte Preise in s_articles_prices:
    Preisgruppen EK, 88, 88 vorhanden - Preisgruppe 20 fehlt

Mir ist aufgefallen, dass dies nur passiert, wenn die ID einer Customer Group mit dem Key einer anderen Customer Group übereinstimmt.
In diesem Fall hat die erste Preisgruppe einen customerGroupKey von 88 und die zweite Preisgruppe (mit Key 20) die ID 88. Nach dem Ausführen von Testschritt 2 ist die erste Preisgruppe (also die mit Key 88) doppelt vorhanden und die zweite Preisgruppe (ID ist 88) gar nicht vorhanden.

Stimmt was an den mitgegebenen Daten nicht (siehe 2.)? Oder ist das eher ein Bug von Shopware?

Es ist eher ungewöhnlich, dass man der Kundengruppe einen rein numerischen Key gibt - habe ich so noch nicht gesehen.

@Moritz Naczenski schrieb:

Es ist eher ungewöhnlich, dass man der Kundengruppe einen rein numerischen Key gibt - habe ich so noch nicht gesehen.

Aber sollte es dann nicht irgendwo erwähnt werden, dass der Key nicht rein numerisch sein darf?

Beim ersten Ausführen funktioniert es ja auch - und an dem Key hab ich zwischen dem ersten und zweiten Ausführen nichts geändert.