Termék eszközök

Kösd be a katalógusokat, ahonnan a termékeid érkeznek, és kezeld a kötelező érvényű szabályokat, amiket az AI-nak követnie kell, amikor róluk beszél — beleértve a szabályok tömeges létrehozását MCP kliensből, ami egy nagy szabálykészlet egy menetben való betöltésének módja.

Áttekintés

Két eszköz fedi le egy márka termékkatalógusát: a manage_product_source beköti és karbantartja azokat a helyeket, ahonnan a termékek érkeznek, a manage_product_rules pedig megírja a szöveget, amit az AI-nak követnie kell, valahányszor említ egyet.

Szükséges jogosultság:ContentSources — a jogosultsági listában Tartalomforrások néven jelenik meg. A termékkatalógus közös tartalom: olvassa a Vex, a hangügyintézők, a beérkezettekben megjelenő válaszjavaslatok és az AI közösségimédia-posztolás egyaránt.

Ezek az eszközök ugyanabba a Vex AI eszközkategóriába tartoznak, mint a chatbot eszközök, tehát egy kategóriákat mutató MCP kliensben ott találod meg őket. Amit viszont szabályoz, az a Tartalomforrások jogosultság, nem a Vex AI.

Mindkét eszköz rajta van a Copilot jóváhagyási listáján. Az irányítópulti Copilotban mindkettő megerősítést kér, mielőtt lefutna — egy forrás törlése törli a termékeit, egy szabály jóváhagyása pedig megváltoztatja, mit mondhat az AI.

Hogy mindez mit jelent a termékben, arról az irányítópulti dokumentáció szól: termékszabályok és termékforrások.


manage_product_rules

Termékszabályokat hoz létre, szerkeszt, hagy jóvá és töröl. Egy szabály kulcsok listájából (a szavak, amik közösek a szabályban és a termékben, jellemzően egy összetevő neve) és a szövegből áll, amit az AI szó szerint elolvas.

Paraméterek

ParaméterTípusKötelezőLeírás
actionstringIgencreate, bulk_create, update, delete vagy approve.
brandIdstringFeltételesA create és a bulk_create esetén kötelező, valamint approve/delete esetén, ha allDrafts van megadva.
idstringFeltételesSzabályazonosító. Az update esetén kötelező; a delete is használhatja.
idsstringFeltételesSzabályazonosítók az approve vagy a delete művelethez. Legfeljebb 500.
allDraftsbooleanNemA márka minden piszkozat szabályára hat. brandId szükséges hozzá.
importIdstringNemAz allDrafts mellett leszűkíti egyetlen dokumentumimport piszkozataira.
keysstringFeltételesLegfeljebb 100 kulcs, egyenként legfeljebb 200 karakter.
textstringFeltételes1–5000 karakter. Az AI szó szerint olvassa.
notestringNemLegfeljebb 2000 karakter, csak embereknek. A null törli.
modestringNemalways (alapértelmezett) vagy when_relevant.
statusstringNemdraft (alapértelmezett) vagy active.
rulesobjectFeltételesCsak bulk_create esetén. Legfeljebb 200 elem { keys, text, note?, mode? } formában.

Hogyan működik

Az illesztés pontos, soha nem közelítő. Egy szabály akkor vonatkozik egy termékre, ha közös kulcsuk van, normalizálás után összevetve — kisbetűsítve, ékezetek nélkül, összevont írásjelekkel. Tedd ugyanannak a dolognak minden írásmódját egyetlen szabály keys mezőjébe; a szinonimákat és a fordításokat nem illesztjük helyetted.

always kontra when_relevant. Egy always szabály minden egyes alkalommal átmegy, amikor egy illeszkedő termék szóba kerül — ezt használd feltételekre, korlátozásokra és kötelező figyelmeztetésekre. Egy when_relevant szabályt a látogató kérdéséhez mérten szűrünk — ezt használd az egyes engedélyezett állításokra, hogy egy hosszú lista ne érkezzen meg egyszerre.

Az új szabályok piszkozatok, és a piszkozatok soha nem jutnak el az AI-hoz. A status: "active" értéket csak akkor add meg, ha az, akinek dolgozol, elolvasta és jóváhagyta a pontos szöveget. Egyébként hagyd őket piszkozatként, jóváhagyásra.

Tömeges jóváhagyás és törlés. Az approve és a delete is elfogad vagy egy kifejezett ids listát, vagy az allDrafts: true értéket egy brandId mellé, opcionálisan importId-vel leszűkítve. Csak a piszkozat sorokat hagyjuk jóvá. Egy szabály nem aktiválható legalább egy kulcs nélkül — a kulcs nélküli szabályokat tartalmazó köteg hibára fut, és megnevezi őket.

A bulk_create mindent vagy semmit. Legfeljebb 200 szabály kerül be egyetlen utasításban; ha a szervezet 20 000 szabályos korlátja beleszól, semmi nem kerül be.


manage_product_source

Beköti és kezeli a katalógusokat, ahonnan a termékek érkeznek.

Paraméterek

ParaméterTípusKötelezőLeírás
actionstringIgencreate, update, delete vagy fetch_now.
idstringFeltételesAz update, a delete és a fetch_now esetén kötelező.
brandIdstringFeltételesA create esetén kötelező.
kindstringNemapi (alapértelmezett) vagy csv. Csak létrehozáskor — utólag nem módosítható.
namestringFeltételes1–200 karakter. A create esetén kötelező.
urlstringFeltételesLegfeljebb 2048 karakter. api esetén kizárólag https. Egy csak küldésre használt API forrásnak nem kell; egy CSV forrásnak mindig kell.
secretstringNem16–256 karakter, csak API forrásoknál. Ha létrehozáskor kihagyod, generálunk egyet. Frissítéskor megadva lecseréli.
headersobjectNemLegfeljebb 20 { key, value } pár, amit minden beolvasással elküldünk.
keyFieldsstringNemLegfeljebb 20 mezőnév, amelyek értékeiből a termékek kulcsai lesznek.
intervalDaysnumberNem1–30. Alapértelmezés: 1.
scheduleEnabledbooleanNemA false azt jelenti: csak küldés — soha nem olvasunk be ütemezetten.
onFailurestringNemkeep (alapértelmezett) vagy hide — mi történjen a termékekkel, ha a forrás lekapcsol.

Hogyan működik

Egyedül a create válasza mutatja meg a titkot. Visszaadja a forrást, a secret értékét, a push_url címet, ahová a webshopod postázhat, és egy emlékeztetőt arról, hogy a webshop a szervezet API kulcsával hitelesít a Y-API-Key fejlécben. Minden más válasz elhagyja a titkot, és csak a has_secret értéket, valamint az egyedi fejlécek nevét adja vissza.

Csak az api forrás hordozhat szabályokat. A CSV folyam egyszerű termékek Google Shopping fájlja — nincs kulcsa, nincs szabálya, nincsenek változatai, nincs küldési végpontja, és megengedett hozzá a http.

Az api forrás által szolgáltatott JSON egyetlen, egymásba ágyazott alak. Egy termék hordozza az id, title, link mezőt, és opcionálisan a description, image, category, brand, priority, attributes, search_terms, rule_keys, rules és variants mezőt. A variants minden eleme egy megvásárolható változat, saját id, options ({"Íz": "Pisztácia", "Kiszerelés": "1 kg"}), price, sale_price, availability, link, image, attributes, priority, search_terms, rule_keys és rules mezőkkel. Egy variants nélküli termék egyszerű termék, ami a saját árát és készletét hordozza — ezért érvényes ma is egy olyan feed, ami a változatok bevezetése előtt készült. A category útvonal: "Fehérje > Tejsavó" vagy ["Fehérje", "Tejsavó"], legfeljebb hat szint, szintenként 100 karakterrel, és egy CSV product_type oszlopa ugyanígy bomlik szét. Teljes leírás: A Termék API.

A keyFields azonnal életbe lép, a termékeken és a változataikon is. A módosítása újraszámolja a forrás minden termékének kulcsait — a megnevezett mezőket a terméken és mindegyik változatán beolvasva —, újbóli beolvasás és újraindexelés nélkül.

A fetch_now forrásonként ötperces várakozási időt tart. Ezen belül az eszköz { started: false } választ ad a hátralévő idővel — ez válasz, nem hiba. Egyébként run_id értéket ad vissza; a befejeződést a product_sources erőforráson futtatott get_record hívással követheted.

Egy forrás törlése törli a termékeit, mindennel együtt, amit az AI megtanult róluk. Az eszköz visszautasítja, amíg beolvasás vagy küldés fut.

Termékek, források és szabályok olvasása

Három erőforrás érhető el az Adathozzáférési eszközökön keresztül, ugyanazzal a Tartalomforrások jogosultsággal:

ErőforrásMit tartalmaz
product_sourcesA katalógusok, ahonnan a termékek érkeznek, az ütemezésükkel és a legutóbbi futásukkal.
product_rulesA kötelező érvényű szöveg, a kulcsaival, az állapotával és a módjával.
productsMaga a katalógus: alaptermékek a változataikkal a variants mezőben, plusz minden termék kulcsai és saját szabálymondatai.

Mindhárom elfogadja a brandId paramétert. A products emellett a sourceId, a product_rules pedig a ruleStatus, a ruleMode és az importId paramétert is. A product_rules és a products egyaránt elfogadja a key paramétert — ez a normalizált kulcs, amin a kettő illeszkedik, tehát az ékezetek és az írásjelek nem számítanak —, valamint a search paramétert, ami a szabály szövegére vagy a termék címére illeszkedik.

A get_record hívásnál egy szabály ezen felül jelenti a matched_products_count értéket (hány termékhez jut el ma), egy termék pedig a matched_rules mezőt (minden rá vonatkozó szabályt, a piszkozatokkal együtt) — a kettő együtt a leggyorsabb módja annak, hogy jóváhagyás előtt ellenőrizz egy szabálykészletet.

Példa utasítások

Create a product API source called "Shop feed" on brand <id>, reading https://shop.example.com/yaplet/products every day, and turn the Ingredients field into keys.
Bulk-create these permitted claims as draft rules on brand <id>, one Always rule per substance — consolidate all of that substance's permitted claims into one rule — keyed on the substance name and its common synonyms.
Show me every product on brand <id> that has no keys, so I know which ones no rule can reach.
How many products does the rule with id <id> currently apply to?