Appearance
AsirGroup
AsirGroup is a supplier integration with catalog, stock, price, and attribute-mapping paths. The source also contains historical product-import modes; those modes are not interchangeable with the current stock job.
Evidence boundary
This page describes the source at commit 42116ebc0ba509bce9cc6651a55ecefd9a5fdb38. It does not prove that the SFTP credentials, schedules, deployment, or the separate warehouse-mode bundle are active today.
Entry points
| Operation | Command | What the source does |
|---|---|---|
| Historical/catalog import | menzzo:asir-group:products --type=<type> | Dispatches a required type to many legacy import/update routines, including create, price, importFurniture, and category-specific modes. It has no active lock in the reviewed source. |
| Stock import | menzzo:asirgroup:sync-product-stock | Reads XML files from the Asir SFTP /in directory, maps supplier SKUs to asr-prefixed Logidav SKUs, updates quantity/status/visibility, and sends quantity batches to the product API. |
| Price export | menzzo:asirgroup:sync-asir-prices | Reads recent price history and current supplier data, computes regular/special prices, and writes main-catalog and catalog-database CSV/SQL output plus a fallback JSON file. |
| Attribute mapping | menzzo:sync-asir-attribute-mapping-from-meduse | Reads meduse/connectors/logidav/export-asir-mappings/mapping.jsonl from FTP and merges mapping rows into the Asir mapping table. |
Do not document menzzo:asir-group:products as a single safe “sync” operation. The --type value selects different routines and the command has no dry-run option in this source revision.
Configuration and stock rules
The stock command uses the supplier quantity as a starting point. When quantity is below 2, it checks internal supplier stock; internal stock can keep the product active and replace the published quantity. For quantity 2 or greater, the source marks the supplier product active and may still use internal stock as the quantity.
For a linked product, the job can update:
mz_product.qty;- active status, unless
is_inactive_forcedis set; - visibility, including direct-access and supplier-internal-stock cases;
- supplier-internal-stock data and the downstream product API payload.
Files are downloaded to data/asir/sync-stock-csv. Missing-SKU handling and the remote-file move are present in the command but need runtime verification before being described as an operational guarantee.
Price and mapping rules
The price job creates temporary price-history tables, considers the last 30 days of price logs, and reads store 3 price data. It writes to absolute web-root paths, including new_asir_price_main_db.csv, new_asir_price_catalog_db.csv, and fallback_prices.json; those writes are externally observable and require an approved execution window.
The mapping job stages rows in mz_asir_group_attributes_mapping_tmp, then inserts only rows not already present in the main mapping table. Mapping data includes the Meduse attribute/option codes, Asir labels/values, mapping type, and extra information.
Pallet management
No current pallet-management implementation was included in the reviewed source set. The separate AsirGroupModeBundle should be audited before this section is used as an operational procedure.
Warehouse integration
The supplier stock job updates catalog quantity and visibility; it does not by itself prove a physical pallet or barcode workflow. Link warehouse instructions only after the mode bundle and runtime routes are reviewed.
Error handling and remaining unknowns
- Which
--typevalues are still used and which are historical. - Whether the SFTP job, price exports, and Meduse mapping transfer are scheduled or enabled in each environment.
- Whether
AsirGroupModeBundlewarehouse/pallet operations are part of the current runtime; that behavior is outside the source paths reviewed here.
Source locations
src/AsirGroupBundle/Command/Product/SyncProductsStockCommand.php— SFTP stock import and status/visibility rules.src/AsirGroupBundle/Command/Product/SyncAsirPricesCommand.php— price-history calculation and generated files.src/AsirGroupBundle/Command/SyncAsirAttributeMappingFromMeduse.php— Meduse-to-Asir mapping transfer.src/AsirGroupBundle/Command/Product/ProductCommand.php— historical--typecatalog entry point.