Produkt per API anlegen

Guten Morgen zusammen,

ich versuche gerade ein Produkt per API anzulegen. Grundsätzlich funktioniert die Kommunikation mit der API, nur das Anlegen von Produkten klappt nicht.

Es kommt die Meldung, dass mein Payload leer sei.

Payload als Array:

Array
(
    [name] => test2
    [productNumber] => random2
    [stock] => 10
    [taxId] => 018f5769b77e708888cbb8f9623ab918
    [price] => Array
        (
            [currencyId] => b7d2554b0ce847cd82f3ac9bd1c0dfca
            [gross] => 15
            [net] => 10
            [linked] => 
        )

)

Payload als JSON:

{"name":"test2","productNumber":"random2","stock":10,"taxId":"018f5769b77e708888cbb8f9623ab918","price":{"currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca","gross":15,"net":10,"linked":false}}

Übergabe an curl:

    curl_setopt_array($curl, [
        CURLOPT_URL => $url . "/api/product",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 600,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $payload,
        CURLOPT_HTTPHEADER => [
            "authorization: Bearer ".$access_token."",
            "content-type: application/json"
        ],
        CURLOPT_SSL_VERIFYPEER => false,
    ]);

Hat jemand eine Idee, einen Hinweis wo der Fehler liegen könnte? Benötigt Ihr weitere Informationen?

Vielen Dank vorab und Grüße,
Frank

  1. Schau dir die Response an, da sollte drin stehen was falsch ist.
  2. Ich vermute es wird eine fehlende Produkt–Id sein. Ids sind kein Auto–Increment mehr, und werden demnach nicht automatisch erzeugt. Generiere am besten uuid v7.