Skip to content

Astra — import produktů

Stav k 2026-06-21.


Účel

Plný produktový import — ceny, texty, obrázky, dostupnost. Astra je jeden z hlavních dodavatelů.


Zdroj dat

Parsovací skript stahuje 2 soubory z astramodel.cz B2B (autentizace tokenem v URL):

Soubor URL Formát Obsah
export_full.xml https://www.astramodel.cz/b2b/export_xml_PSQYUmNanDfgNp1e9rkCk5DpS.zip XML (ZIP) hlavní katalog — produkty, zásoby, obrázky
cenik.csv https://www.astramodel.cz/b2b/pricelist_csv_PSaTcdIb5eyrMGGVhzpAMHLtO.zip CSV (ZIP) velkoobchodní ceník — VOC (nákup), MOC

Token je součástí URL (ne hlavička) — při změně přístupu je nutné aktualizovat přímo v astra_parsovani.php.

Zálohy v _ASTRA/ se drží 7 dní.

CSV ceník se parsuje do staging tabulky import_astra_cenik (kod, moc, moc_www, voc, cenik, znacka, marze, nizka_marze). Import pak tuto tabulku JOINuje na import_astra.code = import_astra_cenik.kod a čte z ní voc (nákupní cena) a příznak nizka_marze.


Spouštění

Krok Skript Kdy
Parsování cron/astra_parsovani.php 23:20
Import cron/import/astra/import.php 23:35

Import je samostatný cron. Jako pojistka kontroluje, že parsování proběhlo v posledních 4 hodinách.


Co se děje při parsování

  1. Stáhne a rozbalí XML katalog → import_astra + import_astra_discontinued.
  2. Stáhne a rozbalí CSV ceník → import_astra_cenik.
  3. Z ceníku spočítá marži: (MOC - VOC) / MOC * 100.
  4. Označí nizka_marze = 1 pro položky s marží < 18 % — ty se z importu vyřadí.
  5. Výjimka: výrobci z manufacturersWithoutSales (prodávají za MOC, marže je irelevantní).
  6. Z XML odstraní před importem tyto skupiny:
  7. Značka Airfix — od 2016 se bere z Corfixu.
  8. Plastikové modely, syntetické a akrylové barvy — od 2020 se berou z Corfixu.
  9. Kódy začínající ZV- (Zvezda) — tamtéž.
  10. Loguje typ PA.

Co import mění v DB

Logika je shodná s Pelikánem — viz Pelikán:

  • od = 'Astra' → full update (ceny, texty, dostupnost)
  • od = 'Pecka' → omezený update (jen cena_c, dostupnost, obrázky; od zůstane Pecka)
  • nový produkt → INSERT (novy=1, zobrazovat='')
  • Chybějící produkty: dostupnost = 0, dostupnost_dodavatel = 0
  • Díly (sum_parts > 0) → eshop_produkty_souvisejici

Cenotvorba

  • cena_a = prodejní cena zákazníka (roundPeckamodel, sleva momentálně 0 %)
  • cena_b / cena_c = MOC
  • cena_nakup = VOC z ceníkového CSV
  • Výrobci bez slevy prodávají za MOC. Viz Výrobci bez slev.
  • Do importu jdou jen záznamy s platna_cena = 1.

Migrace

Co si pohlídat

  • Kontrola marže je Astra-specifická — 18% spodní limit je natvrdo v parsovacím skriptu. V novém systému by mělo být konfigurovatelné.
  • Tři kategorie vyloučené ve prospěch Corfixu — Airfix, plastikové modely, ZV- — musí být v novém systému zachovány nebo přerozděleny vědomě.
  • import_astra_discontinued se plní při parsování — slouží jako informativní přehled ukončených produktů pro ruční dohledání, ne pro automatický import.
  • Import loguje typ IA, parsování PA.