Shopware API deaktiviert keine Artikel

Hallo, ich lasse durch einen Drittanbieter durch die Shopware REST API bestimmte Felder im Shop aktualisieren, z.B. Lieferzeit und diverse Freitextfelder gehen ohne Problem.

Aber ob ein Artikel aktiv oder nicht sein soll, übernimmt der Shop irgendwie nicht. Es wird der Wert active mit 0 übermittelt, ändert aber nicht den Artikel.

Kann einer sagen, woran das liegen könnte?

Das ganze sieht dann ungefähr so aus

{
"mainDetail": {
"number": "0000-95",
"active": "0",
"shippingTime": "1-2"
}
}

 

Hi,

versuche mal so:

“active”: 0,

Ohne Anführungszeichen.

Gruß,
Hagen

Die Anführungszeichen lassen sich wohl nicht wegnehmen, kommt automatisch durch das System/PHP-Funktion des Anbieters.

Kann es vielleicht sein, dass ein weiterer Wert Pflicht ist, damit active geändert wird?

außerhalb des maindetail arrays müsste es auch noch ein active flag geben.

{
"active": 0,
"mainDetail": {
"number": "0000-95",
"active": "0",
"shippingTime": "1-2"
}
}

Über Maindetail schaltest du soweit ich weiß nur die erste Variante auf inaktiv.

@t2oh4e‍, das stimmt, hier ein größerer Ausschnitt von mir:

 

'supplierId' => $hersteller_id,
    'taxId' => 1,
    'name' => $product_name,
    'descriptionLong' => $beschreibung,
	'added' => $datum,
    'active' => $aktiv,
    'pseudoSales' => $pseudoSales,
    'keywords' => $keywords,
	'metaTitle' => $product_name,
    'changed' => $datum,
    'crossBundleLook' => 0,
    'mode' => 0,
    'mainDetail' => array (
        'number' => $artikelnummer,
        'kind' => 1,
        'active' => $aktiv,
        'inStock' => $lagermenge,
        'stockMin' => 0,
        'weight' => 0.000,
        'ean' => $ean,

 

Es lag an dem 0 oder 1, richtig ist true oder false.

Bin durch diese Beschreibung drauf gekommen: REST API - Examples using the article resource

Ich habe hier schon wieder ein Problem mit der REST-API.

Diesmal soll der Einkaufspreis übermittelt werden, es kommt aber nichts an…

{
    "active": "1",
    "mainDetail": {
        "prices": [
            {
                "price": "9999,00",
                "basePrice": "459,00",
                "customerGroupKey": "EK"
            }
        ],
        "number": "12345",
        "active": "1",
        "shippingTime": "6-12",
        "attribute": {
            "attr2": "60"
        }
    }
}

kann einer sagen woran das liegen könnte? Habe es mit dem title und ohne versucht, leider ohne Erfolg. Der normale Preis wird übergeben, nur der basePrice nicht.

Das Feld basePrice wurde ja jetzt verschoben.

Hast du es mal direkt in den mainDetails probiert?