# Sales-Channel-Api / Cart-Endpunkt: Produkt quantity lässt sich nicht ändern

**URL:** https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482
**Category:** Programmierung
**Created:** [9. September 2020 um 19:08 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482 "2020-09-09T19:08:21Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![mit3233](https://avatars.discourse-cdn.com/v4/letter/m/f6c823/32.png) [@mit3233](https://forum.shopware.com/u/mit3233)
#### Post date: [9. September 2020 um 19:08 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/1 "2020-09-09T19:08:21Z")

</div>

Hallo Zusammen,

ich verzweifle gerade etwas an der Sales-Channel API. Ich habe einen neuen Warenkorb über die API angelegt und ihn auch mittels " **POST&nbsp; /sales-channel-api/v3/checkout/cart/product/{id}**" befüllt. Wenn ich jetzt aber ein " **PATCH&nbsp; /sales-channel-api/v3/checkout/cart/line-item/{id}**" mache, bekomme ich einfach nicht die quantitiy geändert. Der Wert “stackable” steht bei den Produkten auch auf true, der sollte aber standardmäßig false sein. Wenn er true ist, kann man die quantity nicht ändern - laut Doku. Deshalb wird es wahrscheinlich auch nicht gehen.

Jetzt ist die Frage: Wie geht es? Es muss doch möglich sein, den Warenkorb mit Produkten zu füllen und hinterher die Anzahl zu verändern? Oder gibt es eine nicht dokumentierte Route für die Sales-Channel-Api?

Danke!

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [10. September 2020 um 05:34 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/2 "2020-09-10T05:34:06Z")

</div>

dann setzt doch den Wert `stackable=false` in deinem PATCH-Request

---

<div class="post-metadata">

### Author: ![mit3233](https://avatars.discourse-cdn.com/v4/letter/m/f6c823/32.png) [@mit3233](https://forum.shopware.com/u/mit3233)
#### Post date: [10. September 2020 um 05:43 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/3 "2020-09-10T05:43:25Z")

</div>

> [@AlexGalax schrieb:](https://forum.shopware.com/profile/3059/AlexGalax "AlexGalax")
> 
> dann setzt doch den Wert `stackable=false` in deinem PATCH-Request

Das funktioniert auch nicht, habe ich natürlich schon probiert. Aber vielleicht mache ich was falsch: Ich teste mit Postman, nehme PATCH und verwende für die Parameter im Body „raw“ und sende ein JSON (z.B. {„stackable“: „false“} ). Das ist doch so korrekt? Jedenfalls bekomme ich den Cart auch zurück…

---

<div class="post-metadata">

### Author: ![mit3233](https://avatars.discourse-cdn.com/v4/letter/m/f6c823/32.png) [@mit3233](https://forum.shopware.com/u/mit3233)
#### Post date: [10. September 2020 um 06:36 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/4 "2020-09-10T06:36:34Z")

</div>

Ich habe es gelöst. In der Doku steht zu stackable „Default: false, if set to true, quantity cannot be changed“. Es ist aber genau anders herum. Es muss true sein. Ich sende jetzt mit CURL erst ein stackable (bool) 1 und dann ein quantity (int) 2 und er ändert die Anzahl…

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [10. September 2020 um 07:42 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/5 "2020-09-10T07:42:01Z")

</div>

ah okay, gut zu wissen. Ich habe mich schon über die Semantik des Attributs gewundert.

Muss man dann echt zwei Requests machen, oder kann man beide in einem abfrühstücken?

---

<div class="post-metadata">

### Author: ![mit3233](https://avatars.discourse-cdn.com/v4/letter/m/f6c823/32.png) [@mit3233](https://forum.shopware.com/u/mit3233)
#### Post date: [10. September 2020 um 08:35 UTC](https://forum.shopware.com/t/sales-channel-api-cart-endpunkt-produkt-quantity-lasst-sich-nicht-andern/69482/6 "2020-09-10T08:35:51Z")

</div>

Ich habe beide Parameter in einem gesendet. Ich nutze Curl via PHP, hier mal ein Beispiel für löschen und updaten:

```
 $ch = curl_init();

    if($quantity==0){

        $sc_url = $domain."/sales-channel-api/v3/checkout/cart/line-item/".$line_item_id;

        curl_setopt($ch, CURLOPT_URL, $sc_url); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
        curl_setopt($ch, CURLOPT_HTTPHEADER,['sw-access-key:'.$sw_access_key.'','sw-context-token:'.$_COOKIE['session_token'].'']);
        

    } else {

        $sc_url = $domain."/sales-channel-api/v3/checkout/cart/line-item/".$line_item_id;

        curl_setopt($ch, CURLOPT_URL, $sc_url); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
        curl_setopt($ch, CURLOPT_POSTFIELDS,
        json_encode(array("stackable"=>(bool)1,"quantity"=>(int)$quantity)));
        curl_setopt($ch, CURLOPT_HTTPHEADER,['sw-access-key:'.$sw_access_key.'','sw-context-token:'.$_COOKIE['session_token'].'','Content-Type: application/json-patch+json']);
        
    }

    curl_exec($ch);

    curl_close($ch);  

```

&nbsp;
