WooCommerce kuponų problemos

Kai kuponas elgiasi keistai, rask sluoksnį, kuris priėmė sprendimą.

Akcijų problemas lengviau diagnozuoti, kai natyvus WooCommerce galiojimas, PerkRule taisyklių tinkamumas, automatinė nuosavybė ir konfliktų sprendimas laikomi atskirais sluoksniais.

01 ŽINGSNIS

Pirmiausia patikrink natyvų WooCommerce galiojimą.

PerkRule neperrašo kupono, kurį pati WooCommerce jau laiko negaliojančiu. Produktų apribojimai, panaudojimo limitai, galiojimo laikas ir natyvus individual-use elgesys lieka autoritetingi.

PRADĖK NE NUO PERKRULE

Jei WooCommerce kuponą jau laiko negaliojančiu, PerkRule sąmoningai nėra pirmasis įtariamasis.

Patikrink patį native kuponą: publish būseną, galiojimą, min/max sumą, produktų ir kategorijų apribojimus, usage limits, allowed emails, individual-use ir exclusions. PerkRule validavimo integracija gauna WooCommerce sprendimą ir, jei native validity jau false, iš karto grąžina false. Taip advanced rule match negali netyčia prikelti kupono, kurį WooCommerce jau atmetė.

KODĖL SVARBI EILĖ

Troubleshooting daug greitesnis, kai pirmiausia nustatai, kuris sluoksnis priėmė sprendimą.

Dažna klaida yra redaguoti pažangias taisykles, kai reali priežastis yra expiry, arba keisti WooCommerce restrictions, kai kuponas native galioja, bet vėliau pralaimi conflict resolution. Žiūrėk sluoksniais. Pirma įrodyk native validity. Tada PerkRule eligibility. Auto Apply atveju — ownership ir application state. Galiausiai selection policy. Kiekvienas žingsnis siaurina problemą vietoj atsitiktinio settings junginėjimo.

02 ŽINGSNIS

Tada tikrink PerkRule taisyklių tinkamumą.

Kuponas gali būti natyviai galiojantis, bet nepasiekiamas, nes jo PerkRule sąlygos neatitinka dabartinio krepšelio, kliento, vietos, mokėjimo ar pristatymo konteksto.

ELIGIBILITY SNAPSHOT

Native galiojantis kuponas gali būti nepasiekiamas todėl, kad dabartiniai request faktai neatitinka PerkRule rule tree.

Tikrink faktus, nuo kurių taisyklė priklauso: dabartinį subtotal ir kiekius, login state ir roles, billing ar shipping geografiją, pasirinktą payment ir shipping metodą bei kitus applied coupons. Kai kurie checkout faktai neegzistuoja iki vėlesnio žingsnio. PerkRule trūkstamą optional informaciją laiko no-match, todėl akcija gali būti teisėtai nepasiekiama anksti ir tapti tinkama tik atsiradus reikiamam faktui.

INVALID NĖRA PAPRASTAS NO-MATCH

Sugadinta konfigūracija ir normaliai nesutapusi taisyklė yra skirtingos priežastys, nors abi saugiai neleidžia akcijos.

Nežinomos taisyklės, invalid operatoriai, netinkamos reikšmės, nepalaikoma schema ar struktūriškai blogas tree yra safe failure. Tokios problemos nereikia diagnozuoti keičiant kliento krepšelį, nes problema yra definicijoje. Compiler ir evaluator išlaiko ribotą diagnostiką vidiniam aiškinimuisi, o klientui rodoma bendra žinutė. Taip galima atskirti 'taisyklei trūko match' nuo 'taisykle nebuvo galima saugiai pasitikėti'.

03 ŽINGSNIS

Auto Apply atveju atskirk konfigūraciją nuo nuosavybės.

Tai, kad kuponas nustatytas Auto Apply, dar nereiškia, kad PerkRule jį valdo. Nuosavybė atsiranda tik po sėkmingo automatinio pritaikymo ir taip apsaugo vėlesnius rankinius kliento veiksmus.

CONFIGURED NĖRA APPLIED

Auto Apply nustatymas tik įtraukia kuponą į kandidatų politiką; jis neįrodo, kad dabartinį cart entry pridėjo PerkRule.

Klientas gali ranka įvesti kuponą, kurio metadata taip pat sako Auto Apply. Tokia būsena turi likti customer-owned. PerkRule automatinį ownership užrašo tik po sėkmingos automatinės mutacijos. Jei owned kuponas pašalinamas, ownership išvalomas. Todėl diagnozuojant 'kodėl PerkRule šito nepašalino?' pirmas klausimas turi būti kas realiai pritaikė dabartinę kupono instanciją, o ne ką sako application mode.

RECONCILIATION BŪSENA

Kuponas gali būti eligible ir vis tiek nebūti pritaikytas, nes po policy resolution norimas automatinis rinkinys pasikeitė.

Auto Apply tikrina ne vieną kuponą vakuume. Jis randa ribotą kandidatų rinkinį, validuoja pagal tuos pačius dabartinius faktus, apsaugo rankinę būseną, pritaiko priority ir stacking politiką ir tik tada apskaičiuoja minimalų mutation diff. Kandidatas, kurio taisyklės matchino, vis tiek gali būti atmestas, jei kita akcija exclusive, yra toje pačioje conflict group, laimi Best Deal arba konfliktuoja su apsaugotu individual-use kuponu.

04 ŽINGSNIS

Galiausiai patikrink konfliktų sprendimą.

Tinkamas automatinis kuponas vis tiek gali pralaimėti prioritetui, išskirtinumui, konfliktų grupei ar Best Deal pasirinkimui. Tinkamumas ir pasirinkimas sąmoningai yra atskiri sprendimai.

ELIGIBLE ≠ SELECTED

Eligibility atsako, ar akcija gali dalyvauti; conflict resolution atsako, ar ji išlieka tarp kitų tinkamų akcijų.

Tai sąmoningai du skirtingi klausimai. Kuponas gali būti native validus ir matchinti kiekvieną PerkRule sąlygą, bet vis tiek pralaimėti, nes nesuderinamame santykyje kitas kandidatas turi aukštesnį priority, nes jis nėra Best Deal laimėtojas arba todėl, kad protected manual state neleidžia automatiniam exclusive ar individual-use kuponui patekti į krepšelį. Jei tai laikysi rule failure, diagnozė nueis ne ten.

ATKURK PLANĄ

Kai sąveikauja kelios akcijos, pirmiausia atkurk conflict set ir tik tada keisk individualias taisykles.

Susirašyk tinkamus kuponus, pažymėk, kurie jau pritaikyti rankiniu būdu, tada patikrink konkuruojančių auto kandidatų priority ir stacking mode. Best Deal atveju prisimink, kad palyginimas vyksta tik aiškioje grupėje per native discount poveikį; tai nėra global optimizer. Jei selected set atrodo teisingas, bet cart po mutacijos vis tiek skiriasi, problema jau persikėlė iš policy į mutation arba native WooCommerce application — daug siauresnį sluoksnį.

Pažiūrėk architektūrą už šių sluoksnių.

Inžinerijos užrašai paaiškina, kodėl produktas atskiria validavimą, nuosavybę ir konfliktų planavimą.

Atidaryti inžineriją

PerkRule pagalbos erdvė

Tikra pagalba veikia geriau, kai galima normaliai pasikalbėti.

PerkRule Discord bus tiesioginė vieta diegimo klausimams, klaidų pranešimams, suderinamumo pastaboms ir išleidimų aptarimui. Naudingi atsakymai neturi dingti privačiuose ticketuose — pasikartojančios problemos galės virsti dokumentacija ir Inžinerijos užrašais.

Discord atsidarys artėjant Produkto 001 išleidimui