Tovább a tartalomhoz

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.

  • 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 PUT kérés, amely tartalmazza az addons tö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ített options tö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.

Terminál
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.

Terminál
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
}
]
}
]
}'

A meglévő kiegészítőket azonosítóval jelöld meg, az újat teljes leírással add hozzá.

Terminál
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"
}
]
}'

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.

Terminál
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
}
]
}'

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások