# API 500 Response (python3.10)

**URL:** <https://forum.shopware.com/t/api-500-response-python3-10/92892>\
**Category:** Programmierung\
**Tags:** administration, programming\
**Created:** [11. Februar 2022 um 08:46 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892 "2022-02-11T08:46:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![weselben](https://avatars.discourse-cdn.com/v4/letter/w/e68b1a/32.png) [@weselben](https://forum.shopware.com/u/weselben)\
**Post date:** [11. Februar 2022 um 08:46 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/1 "2022-02-11T08:46:09Z")

</div>

Hallo liebe Shopware Community,

leider hab ich in Python ein Problem mit dem posten vom body an die Shopware API:

folgenden Fehler erhalte ich

```auto
{
   "errors":[
      {
         "status":"500",
         "code":"FRAMEWORK__WRITE_TYPE_INTEND_ERROR",
         "title":"Internal Server Error",
         "detail":"Expected command for \"Shopware\\Core\\Content\\Product\\ProductDefinition\" to be \"Shopware\\Core\\Framework\\DataAbstractionLayer\\Write\\Command\\InsertCommand\". (Got: Shopware\\Core\\Framework\\DataAbstractionLayer\\Write\\Command\\UpdateCommand)",
         "meta":{
            "parameters":{
               "definition":"Shopware\\Core\\Content\\Product\\ProductDefinition",
               "expectedClass":"Shopware\\Core\\Framework\\DataAbstractionLayer\\Write\\Command\\InsertCommand",
               "actualClass":"Shopware\\Core\\Framework\\DataAbstractionLayer\\Write\\Command\\UpdateCommand"
            }
         }
      }
   ]
}

```

Leider konnte ich zu diesem Fehler direkt nichts finden, helft mir bitte ggf. auch beim Googlen wenn ich zu bled dafür bin 😉

Code den ich verwende ist folgender:

```auto
    def transferartikels():
        print("Artikeltransfer wurde gestartet")

        url = "https://tollewebseite.shop/api/product"

        headers = CaseInsensitiveDict()
        bearertoken()
        headers["Authorization"] = "Bearer " + authkey
        headers["Content-type"] = "application/json"
        datas = open("art-import.json", "r").read()
        print("Jsondatei geladen")
        resp = requests.post(url, headers=headers, data=datas)
        print(resp.json())
        print("Aritkeltranfer wurde beendet")
        print("[-------------------------------------------]")

    transferartikels()

```

JSON Datei die Importiert wird:

```auto
{
   "id":"af204985dc6c42e094dca007ccae2070",
   "stock":0,
   "productNumber":"{artnumb}",
   "name":"{artname}",
   "taxId":"9d4a11eeaf3a41bea44fdfb599d57058",
   "manufacturerId":"e31fe228f4b042c1ac2ef61143aa5fb3",
   "price":[
      {
         "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
         "net":100,
         "gross":119,
         "linked":true
      }
   ],
   "children":[
      {
         "productNumber":"{artnumb}-99",
         "stock":0,
         "options":[
            {
               "id":"31814c89f6e94b2d99986ad1363dce78"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-22",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"fd08f8b6596746129d3fef75eb366389"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-85",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"73567c14a5724e5ca253385d56ee9c88"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-48",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"cc478939f5f64f2dbfe6d33ae0895b23"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-80",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"6da09445b5ef419a8e5b98d0ae3da17b"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-68",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"f63285d3f23f441c993a2f2aab499082"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-50",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"5503ef20a7424bc58facdac2b8ca6ac5"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-77",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"24da21ac840d4abbb358d01bb03ad74c"
            }
         ]
      },
      {
         "productNumber":"{artnumb}-91",
         "stock":0,
         "price":[
            {
               "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
               "net":100,
               "gross":119,
               "linked":true
            }
         ],
         "options":[
            {
               "id":"a300f872a68f4f93b1af3d6e1c50e397"
            }
         ]
      }
   ],
   "configuratorSettings":[
      {
         "optionId":"31814c89f6e94b2d99986ad1363dce78"
      },
      {
         "optionId":"fd08f8b6596746129d3fef75eb366389"
      },
      {
         "optionId":"73567c14a5724e5ca253385d56ee9c88"
      },
      {
         "optionId":"cc478939f5f64f2dbfe6d33ae0895b23"
      },
      {
         "optionId":"6da09445b5ef419a8e5b98d0ae3da17b"
      },
      {
         "optionId":"f63285d3f23f441c993a2f2aab499082"
      },
      {
         "optionId":"5503ef20a7424bc58facdac2b8ca6ac5"
      },
      {
         "optionId":"24da21ac840d4abbb358d01bb03ad74c"
      },
      {
         "optionId":"a300f872a68f4f93b1af3d6e1c50e397"
      }
   ],
   "visibilities": [
        { "id": "9d4a11eeaf3a41bea44fdfb599d57058", "salesChannelId": "6d8478bd752d4c17a19ad3f7e6af851a", "visibility": 30 }
    ]
}

```

LG Ben

---

<div class="post-metadata">

**Author:** ![weselben](https://avatars.discourse-cdn.com/v4/letter/w/e68b1a/32.png) [@weselben](https://forum.shopware.com/u/weselben)\
**Post date:** [11. Februar 2022 um 08:47 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/2 "2022-02-11T08:47:19Z")

</div>

Das die Variablen aus der JSON nicht geladen werden ist mir bewusst, jedoch sollte er die artikel doch eigentlich auch mit {artnumb} oder ähnlichem als artikel name anlegen können ?

---

<div class="post-metadata">

**Author:** ![FSA](https://avatars.discourse-cdn.com/v4/letter/f/e9a140/32.png) [@FSA](https://forum.shopware.com/u/FSA)\
**Post date:** [15. Februar 2022 um 15:31 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/3 "2022-02-15T15:31:12Z")

</div>

mein bester Tip wäre, anstelle von POST PATCH zu verwenden, zumindest konnte ich so (zwar nicht über python) ein Produkt per API anlegen.

folgende JSON konnte ich an „shopurl/api/product/96b6cd2880c7416790bb484484b71655“ mit Hilfe von „Insomnia“ erfolgreich an die SW API übertragen

```auto
{
    "productNumber" : "SCG9997",
    "stock" : 0, 
    "price" : [
        {
            "currencyId" : "b7d2554b0ce847cd82f3ac9bd1c0dfca", 
            "gross": 15, 
            "net": 10, 
            "linked" : false,
            "listPrice": {
                "currencyId": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
                "net": 37.81512605042,
                "gross": 45.0,
                "linked": true,
                "listPrice": null,
                "extensions": []
            }
        }
    ],
    "media": [{
        "id": "c9745c2a6d4f44d1ba3983791866d822",
        "media": { 
            "id": "3c503893f77747e19294aec29bb2f33e",
            "position": 0
        }
    }],
    "coverId": "c9745c2a6d4f44d1ba3983791866d822",
    "manufacturerId": "fc9b37e6bdfe4efb8cedf62725dfddec",
    "deliveryTimeId": "910be68cd9f44e378c1ba8965a4a8896",
    "taxId": "05ee7e68ead64bec8157c24014cfbbfc",
    "restockTime": 14,
    "isCloseout": true,
    "purchaseSteps": 16,
    "maxPurchase": 160,
    "minPurchase": 16,
    "weight": 0.26,
    "width": 78.0,
    "height": 178.0,
    "length": 78.0,
    "unitId": "e2845da8c4534b8fadc28267c0b7fb10",
    "referenceUnit": 1,
    "purchaseUnit": 1,
    "properties": [
        {"id": "3b3401cc9c6a4362baa92a373617e712"},
        {"id": "a2b0cd0eff3748d890453e493e743755"}
    ],
    "translations": {
        "99ae24413cbc4c0db13dc6469a938139": {
            "name": "english name",
            "description": "english description",
            "packUnit": "ST",
            "packUnitPlural": "ST",
            "customFields": 
                {
                    "custom_properties_MHD": 365,
                    "custom_properties_MHD_WA": 45,
                    "custom_properties_MHD_WE": 90,
                    "custom_properties_batched": true
                }
        },
        "2fbb5fe2e29a4d70aa5854ce7ce3e20b": {
            "name": "german name",
            "description": "german description",
            "packUnit": "ST",
            "packUnitPlural": "ST",
            "customFields": 
                {
                    "custom_properties_MHD": 365,
                    "custom_properties_MHD_WA": 45,
                    "custom_properties_MHD_WE": 90,
                    "custom_properties_batched": true
                }
        }
    }
}

```

---

<div class="post-metadata">

**Author:** ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)\
**Post date:** [15. Februar 2022 um 15:36 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/4 "2022-02-15T15:36:22Z")

</div>

du übergibst eine ProduktID (erste Teile im JSON). Dadurch wertet SW das als Update, nicht als Insert (sagt auch die Fehlermeldung). Du sprichst aber bei der API das Insert an. Ohne Id dürfte es funktionieren.

---

<div class="post-metadata">

**Author:** ![weselben](https://avatars.discourse-cdn.com/v4/letter/w/e68b1a/32.png) [@weselben](https://forum.shopware.com/u/weselben)\
**Post date:** [17. Februar 2022 um 10:26 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/5 "2022-02-17T10:26:29Z")

</div>

Hallo, ohne ID war richtig hatte ausversehen das drinstehen, geht jedoch so immer noch nicht.

Hab das ganze nun irgendwie gelöst, mich durchgekämpft 🙂  
gleich folgend die Lösung, fragt mich aber bitte nicht, woran das Problem lag, weil ich blick es nicht mehr ^^

---

<div class="post-metadata">

**Author:** ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)\
**Post date:** [17. Februar 2022 um 10:28 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/6 "2022-02-17T10:28:20Z")

</div>

ich bin gespannt ud kann Dir ja vielleicht die Erklärung liefern 😉

---

<div class="post-metadata">

**Author:** ![weselben](https://avatars.discourse-cdn.com/v4/letter/w/e68b1a/32.png) [@weselben](https://forum.shopware.com/u/weselben)\
**Post date:** [17. Februar 2022 um 10:49 UTC](https://forum.shopware.com/t/api-500-response-python3-10/92892/7 "2022-02-17T10:49:30Z")

</div>

Ja hab einfachheits halber einfach mal ne GitHub Repo gemacht.

> **[GitHub - weselben/SW6xCSV: Shopware 6 x CSV (Xentral ERP) Upload using Python](https://github.com/weselben/SW6xCSV)**
>
> Shopware 6 x CSV (Xentral ERP) Upload using Python - GitHub - weselben/SW6xCSV: Shopware 6 x CSV (Xentral ERP) Upload using Python

Das klappt jetzt ohne Probleme erstellen von Artikel geht perfekt damit, jetzt ist in dem Code natürlich auch mein CSV geschlampte mit drin.
