REST API: termékszintű kiegészítők kezelése
Termék és kiegészítőinek létrehozása, módosítása, bővítése és szűkítése a WooCommerce REST API-val, curl példákkal.
A példákkal terméket és annak kiegészítőit hozhatod létre és tarthatod karban a WooCommerce REST API-val. A mezők leírása a REST API referenciában van.
Előkészületek
Szekció neve “Előkészületek”- Tesztboltot használj, amelyen a WooCommerce és a Product Add-Ons aktív.
- Hozz létre WooCommerce REST API-kulcsot olvasási és írási joggal, és HTTPS-en keresztül hívd a boltot.
- Cseréld a példában szereplő címet és kulcsot a sajátodra. Valódi kulcsot soha ne tegyél verziókezelőbe.
- A kérések egymásra épülnek. A létrehozó kérés válaszából jegyezd fel a termék és a kiegészítők azonosítóját, és a későbbi kérésekben ezeket használd.
- A
PUTkérés, amely tartalmazza azaddonstömböt, felülírja a termék kiegészítőinek körét: minden megtartandó kiegészítőt vegyél bele. Ha egy opciót kihagysz a frissítettoptionstömbből, az opció törlődik.
1. Termék létrehozása két kiegészítővel
Szekció neve “1. Termék létrehozása két kiegészítővel”A kérés vázlat állapotú terméket hoz létre. Az exclude_global_add_ons: true miatt a globális kiegészítők nem érvényesek rá. A válaszban megkapod a további lépésekhez szükséges azonosítókat.
curl -X POST \ https://example.com/wp-json/wc/v3/products \ -u customer_key:customer_secret \ -H "Content-Type: application/json" \ -d '{ "name": "Boldogság gyűrű", "status": "draft", "type": "simple", "regular_price": "21.99", "description": "Gyönyörű gyűrű, amely jókedvre derít.", "exclude_global_add_ons": true, "addons": [ { "name": "Gravírozás", "title_format": "label", "description": "Kézi gravírozás a gyűrűre", "type": "custom_text", "display": "select", "restrictions_type": "any_text", "price_type": "flat_fee", "price": "100", "placeholder": "Neked", "min": 0, "max": 10 }, { "name": "Hozzáillő tű", "type": "multiple_choice", "required": false, "title_format": "label", "default": "0", "options": [ { "label": "Ezüst", "price": "30", "price_type": "flat_fee", "visibility": true }, { "label": "Arany", "price": "45", "price_type": "flat_fee", "visibility": true } ] } ]}'2. Kiegészítő módosítása és opció hozzáadása
Szekció neve “2. Kiegészítő módosítása és opció hozzáadása”Az első kiegészítő új nevet, új árat és nagyobb legnagyobb hosszt kap. A másodikhoz új opció (platina) kerül. A meglévő opciókat is el kell küldeni, különben törlődnek.
curl -X PUT \ https://example.com/wp-json/wc/v3/products/123 \ -u customer_key:customer_secret \ -H "Content-Type: application/json" \ -d '{ "addons": [ { "id": 1719406272, "name": "Kézi gravírozás", "price": "120", "max": 12 }, { "id": 1719406273, "options": [ { "label": "Ezüst", "price": "30", "price_type": "flat_fee", "visibility": true }, { "label": "Arany", "price": "45", "price_type": "flat_fee", "visibility": true }, { "label": "Platina", "price": "50", "price_type": "flat_fee", "visibility": true } ] } ]}'3. Új kiegészítő hozzáadása
Szekció neve “3. Új kiegészítő hozzáadása”A meglévő kiegészítőket azonosítóval jelöld meg, az újat teljes leírással add hozzá.
curl -X PUT \ https://example.com/wp-json/wc/v3/products/123 \ -u customer_key:customer_secret \ -H "Content-Type: application/json" \ -d '{ "addons": [ { "id": 1719406272 }, { "id": 1719406273 }, { "name": "Díszdoboz egyedi szöveggel", "type": "custom_text", "price_type": "quantity_based", "price": "20" } ]}'4. Kiegészítő eltávolítása
Szekció neve “4. Kiegészítő eltávolítása”Sorold fel azokat a kiegészítőket, amelyeket meg akarsz tartani. A kihagyottak törlődnek a termékről. Ha az összeset törölnéd, küldj üres addons tömböt.
curl -X PUT \ https://example.com/wp-json/wc/v3/products/123 \ -u customer_key:customer_secret \ -H "Content-Type: application/json" \ -d '{ "addons": [ { "id": 1719406272 }, { "id": 1719406273 } ]}'Ellenőrzés és hibaelhárítás
Szekció neve “Ellenőrzés és hibaelhárítás”Minden módosítás után olvasd vissza a terméket GET kéréssel, és nézd meg, hogy a kiegészítők azonosítói, értékei és opciói a kívántak-e.
- Ha a kérés hibával tér vissza, ellenőrizd a végpontot, a HTTPS-kapcsolatot, a kulcs jogosultságait és az azonosítókat.
- Ha egy kiegészítő eltűnt, hasonlítsd össze a frissítésben elküldött teljes tömböt azzal, amit meg akartál tartani.
Készült: