temuco
Goto Top

Postman - PATCH eines Array-Elements

Ich habe hier einen JSON-Datensatz, welchen ich aus Übersichtsgründen auf das Wesentliche kürze.

Elemente wie "name", "date_created" usw. kann ich problemlos ändern, indem ich den zu ändernden Datensatz adressiere

https://test.tld/wp-json/wc/v3/products/38515

und im Boy folgendes übergebe:

{ "name": "Auslaufschütte groß" }  

Also Werte der obersten Ebene kann ich in Postmann problemlos ändern, aber wie ändere bzw. setze ich den Wert "value" vom z. B. nachstehenden Element?

{
      "id": 23650,  
      "key": "_ts_gtin",  
      "value": ""  
}

Hier der vereinfachte Datensatz im JSON-Format:

[
    {
        "id": 38515,  
        "name": "Auslaufschütte",  
        "date_created": "2022-06-03T15:53:44",  
        "date_created_gmt": "2022-06-03T13:53:44",  
        "date_modified": "2022-09-01T11:20:37",  
        "date_modified_gmt": "2022-09-01T09:20:37",  
        ...
        "meta_data": [  
        ...
            {
                "id": 23650,  
                "key": "_ts_gtin",  
                "value": ""  
            },
            {
                "id": 23651,  
                "key": "_ts_mpn",  
                "value": ""  
            },
        ...
        ]
        ...
]

Vielleicht kennt sich jemand damit aus und kann mir dabei auf die Sprünge helfen.

LG

René

Content-ID: 3811788559

Url: https://administrator.de/contentid/3811788559

Printed on: December 4, 2024 at 05:12 o'clock

3803037559
Solution 3803037559 Sep 01, 2022 updated at 12:06:00 (UTC)
Goto Top
Moin.
Indem du den gesamten aktuellen "meta_data" Key übermittelst (vorher natürlich den ganzen Inhalt abfragen) und den gewünschten Wert darin änderst und per PUT überträgst, also
{"meta_data": [  
            {
                "id": 23650,  
                "key": "_ts_gtin",  
                "value": "Blablub"  
            },
            {
                "id": 23651,  
                "key": "_ts_mpn",  
                "value": ""  
            }
        ]
}
https://woocommerce.github.io/woocommerce-rest-api-docs/#update-a-produc ...

Ein Patch von "einzelnen" Array Elementen ist zumindest laut der WooCommerce-API nicht vorgesehen, kannst aber probieren ob es das auch akzeptiert.

Cheers
certguy
temuco
Solution temuco Sep 01, 2022 at 11:46:07 (UTC)
Goto Top
Zitat von @3803037559:

Moin.
Indem du den gesamten aktuellen "meta_data" Key übermittelst (vorher natürlich den ganzen Inhalt abfragen) und den gewünschten Wert darin änderst und per PUT überträgst, also

Ein Patch von "einzelnen" Array Elementen ist laut der WooCommerce-API nicht vorgesehen übermittle also den gesamten meta_data key

Danke, es funktioniert. Dank deinem Anstoß habe ich versucht, das ganze schlanker zu machen, indem ich das doch mit einem PATCH gemacht habe:

{"meta_data": [  
	{
		"id": 23650,  
		"key": "_ts_gtin",  
		"value": "abc"  
	}
	]
}

Siehe da, es geht. Alle anderen Elemente bleibe davon unberührt.

Nochmals vielen Dank!

LG

René