Brekz Exact API¶
Serves as a Proxy between the Brekz PrestaShop and Exact Globe. Has a MySQL connection with the Brekz PrestaShop database. Translates the MySQL data to Exact Globe XML data.
Listing (index) XML responses: - Sometimes we utilize listing/index to reduce the memory usage, for example when a large amount of orders are ready to be processed to Exact Globe.
Brekz Exact Windows Service¶
Serves as a Proxy between the Brekz PrestaShop and Exact Globe and runs on a MS Windows Server next to the Exact Globe MS Windows server. Has a Microsoft SQL connection with the Exact Globe database(s). See: https://bitbucket.org/flooris/brekz-exact-service/commits/branch/master
Listening to Socket connections at port: 6666 Can see the status of this Windows Service via this socket connection Can start several processes from this socket connection, which normally starts periodic
Socket connection is used by the Brekz PrestaShop
${SHELL} "${BASEDIR}/every_05_mins/exact/start_products.sh"
https://github.com/brekz-group/brekz-prestashop/blob/f0a7084ca21e3212128992e4bbd846928947e3f2/cron/cron_every_05_mins.sh
Product Sync to Exact Globe¶
How it works¶
Every 5 minutes, Exact Globe automatically checks for products that have been updated in PrestaShop and imports them. This process works in two steps:
- Exact asks for a list of products that have changed since the last sync.
- Exact fetches each product from that list individually and imports it.
The sync is always initiated by Exact — PrestaShop and the API never push to Exact on their own.
When does a product appear in the sync?¶
A product combination must meet all four of the following criteria to be picked up by Exact.
1. The product must not be excluded¶
A product combination can be manually marked with a special flag to permanently exclude it from the Exact sync. This is used for combinations that exist in the shop but should never appear in Exact Globe (for example, internal-use items).
If a product is missing and you suspect this flag is set, ask a developer to verify.
2. The product must not be a bundle component¶
Products that are sold as part of a bundle are excluded from the sync individually. Only the bundle product itself is synced — not its components.
3. The product must have been updated after the last sync¶
Exact only picks up products that were modified after its last successful sync. If a product was updated before the last sync ran, it will not appear until it is modified again.
Does changing the EAN code count as an update?
Yes. Saving any change to a product or combination in PrestaShop — including updating the EAN code — registers the product as recently updated and makes it eligible for the next sync.
4. The product must be active in the NL shop¶
The sync reads all product data (name, price, description) from the NL shop specifically. A product that is active in the BE or DE shop but inactive in the NL shop will not produce valid data for Exact and will be skipped.
This is the most common cause of missing products in Exact
Always verify that the product combination is set to active in the NL shop, not just in other shops.
When is the product data complete?¶
Even if a product appears in the sync list, the data sent to Exact may be incomplete if the product is not properly configured.
The following fields in Exact will be empty if the product combination is not active in the NL shop:
- Item code
- Description
- Price
The following fields are optional and will simply be left blank in Exact if not configured in PrestaShop — they do not block the sync:
- Main category
- Brand
- Special / reduced price
- Cover image
- Tax rate
Force re-sync specific products¶
If a product was not picked up by Exact and you need to push it immediately, a developer can run the following command on the server to force it into the next sync:
php8.2 artisan brekz:products-force-sync <id1> <id2> ...
To diagnose why a specific product is not appearing, a developer can run:
php8.2 artisan brekz:products-diagnose <id1> <id2> ...