Magento — final prices (catalog price rules)
Why a catalog price rule is not in Nexym by itself, and how the unit Prices — final price reads it from your shop every hour.
A catalog price rule in Magento (Marketing → Catalog Price Rules) lowers the price in your shop without changing the product. The shop then shows, say, € 89.10 with RRP € 99.00, while the product itself still has € 99.00 as its price. The normal product import reads the product, so on its own Nexym only sees that € 99.00.
That is what a separate unit on the Magento connection is for: Prices — final price (catalog price rules), IN only.
What the unit reads
Section titled “What the unit reads”For each product Nexym reads the price a visitor who is not logged in pays now in the connection’s store view, with catalog price rules and special prices already applied. That is the result Magento itself works out; Nexym does not recalculate any rule. Beside that final price it reads the regular price and the currency.
- Nexym only asks about the products it holds for this connection, and only products that are switched on. A configurable product comes with the price of each size or colour; each child gets its own final price.
- Each request carries 200 products. With 5,000 products (not counting a configurable’s children) that is 25 requests per run.
- Only a price that changed is stored. When nothing changed, Nexym writes nothing and puts nothing in the search index again.
Why a separate unit
Section titled “Why a separate unit”A rule that starts or ends does not change the product in Magento. An import that only reads what changed since last time never sees it. So this unit asks for the price of every product Nexym holds, every run. That is the only place Nexym does that by itself, and only because you switch the unit on. The product import does not read more because of it.
Switching it on
Section titled “Switching it on”- Go to Connect → Connections & sync → your Magento connection → What to sync.
- Switch on Prices — final price (catalog price rules).
- Start the first sync on the Full sync tab, as for every unit.
From then on the unit reads every hour. Magento applies a rule at once when you save it with Save and Apply or Apply Rules, and otherwise at its nightly reindex. Reading every hour catches both within the hour. With a very large catalogue you can pick another schedule with the pencil, for example every night at 03:30, after the reindex.
After every product import the unit also reads the final price of the products that changed in it. Runs & logs shows that as a run of this unit, with Refreshed after product import.
What you see
Section titled “What you see”| Situation | Price in search, chat, popups and feeds | Struck through |
|---|---|---|
| A rule makes the product cheaper | the final price | the regular price |
| The rule has ended | the regular price | nothing |
| A special price is lower than the rule, within its dates | the special price | the regular price |
The price a visitor sees is always the lowest that applies now: the special price within its dates or the final price, when that is below the regular price. The special price the product import reads stays as it is. In the product detail the final price is listed under Price as Final price (catalog price rules).
The final price is never sent back to Magento or to any other system.
When /graphql is blocked
Section titled “When /graphql is blocked”Nexym reads the final price through Magento’s GraphQL (/graphql), with the connection’s
store view. If your shop or firewall blocks that address, Nexym reads the same prices
through the REST API (products-render-info) and says so in Runs & logs. If neither
works, the run fails with a message that says what both answered. Nexym then leaves the
prices as they were and drops nothing silently.