Atbalstītie formāti un parsētāja izvēle

Atbalsts

Atbalsts

Pēdējo reizi atjaunināts Sep 24, 2026

Integrāciju centrāle (kodā un adresēs — EcomLink) nolasa piegādātāja datu plūsmu ar parsētāju. Daļa piegādātāju iztiek ar vienu no četriem vispārīgajiem parsētājiem (XML, CSV, XLSX, JSON), bet 15 konkrētiem vairumtirgotājiem ir savs parsētājs, kas zina tieši šīs plūsmas īpatnības. Šis raksts izskaidro, ar ko abas grupas atšķiras un kur parsētāju izvēlas.

Kas te ir jūsu darbs, kas — administratora. Parsētāja piespraušana notiek ekrānā «Integrācija», lauku pārsaiste — ekrānā «Pārsaiste», profila piemērošana — ekrānā «Vendor profiles» (šajā rakstu komplektā tas saukts «Profili»). Visi trīs ir tikai sistēmas administratoram, un arī poga «Pilnais imports» vadības panelī rādās tikai viņam. Piegādātāja formā parsētāja nosaukums netiek parādīts vispār — tāpēc parastais lietotājs nekur neredz, kurš parsētājs piegādātājam ir izvēlēts. Jūsu darbs ir aizpildīt cilnes «Datu plūsma» un «Datu plūsmas konfigurācija», palaist «Krājumu imports» un pierakstīt simptomu; pārējo piesakiet administratoram vai atbalstam.

PIM šajā rakstā parādās vairākkārt: tā ir EcomCart kopīgā produktu datu bāze — nosaukumi, apraksti, attēli un atribūti, kas savākti par konkrētā vairumtirgotāja precēm. Kā tas tiek nolasīts importa laikā, aprakstīts rakstā Preču imports — kā tas notiek.

Parsētāju tēma ir sadalīta trīs rakstos. Šajā ir jēdzieni, ekrāns «Integrācija», kurā parsētāju piesprauž, un četri vispārīgie parsētāji. Konkrēto piecpadsmit vairumtirgotāju sarakstu un to, kur ieraksta pieejas datus, sk. rakstā Vairumtirgotāju parsētāji un pieejas dati. Katram parsētājam pieejamos iestatījumus, pavadošos failus, sagatavošanos pirmajai palaišanai un kopīgo problēmu sarakstu sk. rakstā Parsētāju iestatījumi un pirmā palaišana.

Pirms sākat

Šis raksts sākas tur, kur piegādātājs jau eksistē. Pirms parsētāja izvēles jābūt izdarītam šim:

  1. Piegādātājs ir izveidots — sk. Piegādātāja pievienošana — sagatavošanās un pamatdati.
  2. Cilnē «Datu plūsma» ir aizpildīts «Datu plūsmas URL (HTTP resursdators)» (vai «FTP resursdators», ja dati nāk pa FTP) un «Faila nosaukums» — galvenā faila ceļš zem resursdatora.
  3. Turpat ir ievadīti pieejas dati, ja plūsma tos prasa: «Lietotājvārds», «Parole», «Klienta / organizācijas ID».

Kā šie lauki aizpildāmi sīkāk, aprakstīts rakstā Datu plūsma — kur atrodas fails un pieejas dati.

Formāts un parsētājs — divas dažādas lietas

Jēdziens Kas tas ir
Faila formāts Tas, ko sistēma nolasa no paša faila baitiem: xml, xlsx, csv vai json. Tā ir avota īpašība.
Parsētājs Konkrēts lasītājs, kas šo avotu pārvērš precēs: «Standard XML», «Duell CSV», «ELKO JSON» utt.

Vienam formātam var būt vairāki parsētāji. Katram formātam tieši viens parsētājs ir noklusējuma — to izvēlas automātiskā noteikšana. Neviens konkrēta vairumtirgotāja parsētājs nav noklusējuma, tāpēc automātiskā noteikšana tos nekad neizvēlas: tādam piegādātājam parsētājs ir jāpiesprauž ar roku.

Katram parsētājam līdzās uzrakstam ir arī ID — īsa tehniska atslēga (duell_csv, elko_json, ebay_lms). Ekrānā tā nav redzama nekur, bet tieši tā tiek ierakstīta piegādātāja laukā ec_vendors.feed_parser (tukšs = «Automātiskā noteikšana»), un tieši ar to runā atbalsts. Tāpēc ID ir gan vispārīgo parsētāju tabulā zemāk, gan vairumtirgotāju tabulā rakstā Vairumtirgotāju parsētāji un pieejas dati: pieteikumā «piespraudiet piegādātājam X parsētāju alsolt_xml» nav ko pārprast.

🔴 Nepazīstams ID pārvēršas par tukšumu. Ja laukā feed_parser nonāk vērtība, kas nav neviena reģistrēta parsētāja ID — piemēram, drukas kļūda —, sistēma to nolasa kā tukšu, neatšķirami no «nav piesprausts», un imports klusi atkāpjas uz automātisko noteikšanu. Kļūdas ziņojuma nav. Tāpēc ID vienmēr jāpārraksta no tabulas, nevis jāatceras no galvas: uzraksts izvēlnē un ID var atšķirties (piemēram, uzraksts Komputronik JSON, ID komptronik_json — bez u).

⚠️ Piegādātāja formā (cilne «Vispārējie») ir lauks «Importa formāts» ar vērtībām XML / XLSX / CSV / PIM / PIM2 / CUST, un piegādātāju sarakstā ir kolonna «Formāts». Tā nav šī izvēle — Integrāciju centrāle šo lauku nekur nenolasa, tas ir tikai apzīmējums sarakstam. Jaunam piegādātājam tur pēc noklusējuma stāv PIM. Praksē ierakstiet tur reālo faila formātu, lai saraksts būtu lasāms; importa gaitu tas nemaina. Īstā izvēle notiek ekrānā «Integrācija».

📷 Ekrānattēls: ecomlink/vendor — cilne «Vispārējie», lauks «Importa formāts», un blakus piegādātāju saraksta kolonna «Formāts»

Kur parsētāju izvēlas — ekrāns «Integrācija»

Maršruts ecomlink/parser, cilne «Integrācija» nolaižamajā cilnē «Uzstādījumi», virsraksts lapā — «Datu plūsmas parsētāji — Integrāciju centrāle». Ekrāns ir tikai sistēmas administratoriem — citiem lietotājiem cilne vispār netiek uzzīmēta, un tiešs maršruts ved atpakaļ uz vadības paneli.

Ekrāna augšā ir paskaidrojums:

Izvēlieties, kurš parsētājs nolasa katra piegādātāja datu plūsmu un vai šis piegādātājs ņem savu produktu saturu no EcomCart PIM. Atstājiet piegādātāju uz Automātiskā noteikšana, lai formātu turpinātu atpazīt no lejupielādētā faila. PIM saturs tiek piemērots tikai pilnā importa laikā — cena, krājumi un statuss vienmēr paliek no datu plūsmas.

Tabulā ir viena rinda katram piegādātājam, kas nav dzēsts — arī tiem, kuriem cilnē «Vispārējie» izslēgts «Imports». Kolonnas ir Piegādātājs, Parsētājs, PIM, PIM piegādātāja kods, PIM attēli un PIM stāvoklis. Pēdējās četras attiecas uz PIM satura ņemšanu, nevis uz plūsmas lasīšanu, un ir aprakstītas rakstā Preču imports — kā tas notiek. Rinda, kurai parsētājs ir piesprausts, ir iekrāsota zila. Kolonnā «Parsētājs» izvēlnes pirmais ieraksts ir «Automātiskā noteikšana», aiz tā — visi 19 reģistrētie parsētāji: vispirms četri vispārīgie, tad piecpadsmit vairumtirgotāju.

Apakšā ir viena poga «Saglabāt», un tā nosūta visu tabulu uzreiz. Pēc saglabāšanas parādās ziņojums «Integrācijas iestatījumi saglabāti (mainīti N piegādātāji).» — skaitlis ir godīgs, tiek ierakstītas tikai tās rindas, kas tiešām mainījās. Ja lietotājam nav rediģēšanas tiesību, visas izvēlnes ir neaktīvas un saglabāšanas pogas nav vispār. Ja piegādātāju nav, ekrāns raksta: «Vēl nav aktīvu piegādātāju, ko konfigurēt.» (Šis teikums ir produkta teksts; filtra pēc «aktīviem» piegādātājiem ekrānam nav.)

Darbību secība ekrānā:

  1. Lietotnes → Integrāciju centrāle → nolaižamā cilne «Uzstādījumi» → «Integrācija».
  2. Atrodiet rindu ar savu piegādātāju kolonnā «Piegādātājs».
  3. Kolonnā «Parsētājs» izvēlieties vajadzīgo ierakstu — nevis «Automātiskā noteikšana».
  4. Nospiediet «Saglabāt» un pārliecinieties, ka ziņojumā mainīto piegādātāju skaits nav 0.
  5. Atveriet piegādātāja formu → cilne «Datu plūsmas konfigurācija» un aizpildiet parsētāja iestatījumus.
  6. Palaidiet «Krājumu imports» un pārbaudiet rezultātu ekrānā Žurnāli — sk. Žurnāli — ekrāns un izpilžu rindas.

📷 Ekrānattēls: ecomlink/parser — viss «Datu plūsmas parsētāji» ekrāns ar PIM statusa joslu un piegādātāju tabulu

📷 Ekrānattēls: ecomlink/parser — atvērta kolonnas «Parsētājs» izvēlne, augšā «Automātiskā noteikšana», zem tās Standard XML/CSV/JSON/XLSX un vairumtirgotāju parsētāji

Poga «Pārlasīt visu saturu»

Šajā pašā ekrānā ir vēl viena poga, kas kaut ko maina, ne tikai rāda. Kolonnā «PIM stāvoklis» katrai rindai, kurai kolonnā «PIM» ir izvēlēts «Ņemt saturu», zem stāvokļa teksta ir poga «Pārlasīt visu saturu». Rindām ar «Izslēgts» tās nav, un lietotājam bez rediģēšanas tiesībām arī ne. Zem tabulas tas pats ir izskaidrots vēlreiz vienā rindkopā.

Ko tā dara. Notīra šī piegādātāja PIM satura enkuru un nepabeigtas lasīšanas kontrolpunktu. Tāpēc nākamais pilnais imports nolasa visu šī piegādātāja PIM saturu no sākuma, nevis tikai to, kas mainījies kopš pēdējās lasīšanas.

Kad to lieto. Kad piesaistītām precēm trūkst PIM satura — parasti tām rindām, kas piesaistītas vai pārsaistītas pēc pēdējās pilnās lasīšanas. Parastā lasīšana tādas preces neatgriež, jo PIM pusē tās nav mainījušās; pilnā pārlasīšana tās paņem.

  1. Lietotnes → Integrāciju centrāle → nolaižamā cilne «Uzstādījumi» → «Integrācija».
  2. Atrodiet piegādātāja rindu un pārliecinieties, ka kolonnā «PIM» stāv «Ņemt saturu».
  3. Kolonnā «PIM stāvoklis» nospiediet «Pārlasīt visu saturu».
  4. Atveras apstiprinājuma logs ar piegādātāja kodu un brīdinājumu, ka viss katalogs tiek pārstaigāts no jauna. Pogas ir «Atcelt» un «Pārlasīt visu saturu».
  5. Pēc apstiprināšanas parādās ziņojums «… satura enkurs notīrīts — nākamais pilnais imports pārlasa visu tā PIM saturu.» (sākumā ir piegādātāja kods), un kolonnā «PIM stāvoklis» turpmāk stāv «saturs vēl nav nolasīts».

⚠️ Uzreiz nekas nenotiek. Poga neko nepalaiž — tā tikai noņem atzīmi par to, kas jau nolasīts. Saturs tiek pārlasīts tikai tad, kad nostrādā pilnais imports.

🔴 Pārlasīšana aptver visu katalogu, un lielam piegādātājam tās ir stundas. Tāpēc to nespiež «katram gadījumam».

ℹ️ Jau uzliktais saturs tiek atsvaidzināts, nevis vispirms dzēsts — preces nepaliek tukšas, kamēr pārlasīšana notiek.

📷 Ekrānattēls: ecomlink/parser — kolonna «PIM stāvoklis» rindai ar «Ņemt saturu»: stāvokļa teksts un zem tā poga «Pārlasīt visu saturu»

📷 Ekrānattēls: ecomlink/parser — atvērts «Pārlasīt visu saturu» apstiprinājuma logs ar piegādātāja kodu un pogām «Atcelt» un «Pārlasīt visu saturu»

Kā parsētājs tiek izvēlēts katrā importā

Secība ir fiksēta:

  1. Skaidrs pārraksts komandrindā — ja imports palaists ar norādītu avotu, uzvar tas.
  2. Piegādātājam piespraustais parsētājs — tas, kas izvēlēts ekrānā «Integrācija».
  3. Automātiskā noteikšana — formāts tiek nolasīts no faila, un tiek ņemts šī formāta noklusējuma parsētājs.

Ja neviens no trim nedod rezultātu, imports apstājas ar kļūdu.

Zemākā tabula ir svarīga viena iemesla dēļ: ja piegādātājs dod REST API bez faila nosaukuma, automātiskā noteikšana pēc paplašinājuma nenostrādā un paliek tikai satura pazīme — sk. sarkano brīdinājumu aiz tabulas.

Formātu nosaka no pirmajiem 512 baitiem, šādā secībā:

Pazīme faila sākumā Rezultāts
Fails patiesībā ir arhīvs (tā sākumā ir burti PK) — tā izskatās Excel darbgrāmata xlsx
Pirmā īstā rakstzīme ir < (neredzamas rakstzīmes faila sākumā un atstarpes tiek izlaistas) xml
Pirmā īstā rakstzīme ir { vai [ json

Ja satura pazīme nepalīdz, tiek skatīts faila paplašinājums (.xml; .xlsx/.xls; .csv/.tsv/.txt; .json/.jsonl/.ndjson), un pēdējā iespēja: ja galvā ir komats, semikols vai tabulācija — csv. Citādi formāts paliek neatpazīts.

🔴 Ja piegādātāja adreses ceļam nav paplašinājuma vispār (piemēram, REST adrese, kas beidzas bez faila vārda), lejupielādētais fails tiek saglabāts kā <kods>.download, un uz paplašinājumu balstītā atpazīšana nenostrādā nemaz. Ja paplašinājums ir, bet tas ir svešs — .asp, .aspx, .dll — fails gan tiek saglabāts ar to pašu paplašinājumu, taču atpazīšana tāpat nenostrādā, jo sarakstā ir tikai xml/xlsx/xls/csv/tsv/txt/json/jsonl/ndjson. Abos gadījumos secinājums ir viens: API tipa piegādātājam parsētājs jāpiesprauž.

Četri vispārīgie parsētāji

Šie ir noklusējuma parsētāji saviem formātiem, tos izvēlas automātiskā noteikšana, un tie apkalpo daudzus piegādātājus. Cenas semantiku tie ņem no piegādātāja kartītes («Datu plūsmas cenu valūta», «Datu plūsmas cenu PVN»), nevis no sevis.

Uzraksts izvēlnē ID Formāts Ko gaida
Standard XML standard_xml xml Dokumentu, kurā atkārtojas ieraksta elements; pēc noklusējuma <item>
Standard CSV standard_csv csv Plakanu tabulu, kur kolonnas nosaukums sakrīt ar lauka nosaukumu
Standard XLSX standard_xlsx xlsx To pašu, kas CSV, tikai darblapā — tiek lietots tas pats lauku kartētājs (mapper), tāpēc darbgrāmata ar tām pašām kolonnām dod identisku rezultātu kā CSV
Standard JSON standard_json json Ierakstus saknes masīvā, JSON Lines straumē vai apvalka objekta loceklī

Uzraksti izvēlnē nav tulkoti — tie ir angliski tieši tā, kā tabulā. Vienīgais tulkotais ieraksts izvēlnē ir «Automātiskā noteikšana».

Visiem četriem ir viena un tā pati lauku vārdnīca — 23 produkta īpašības, kuras katram piegādātājam var pārsaistīt uz citu plūsmas elementu vai kolonnu ekrānā «Pārsaiste». ⚠️ Arī šis ekrāns ir tikai sistēmas administratoram — pārsaisti piesaka tāpat kā parsētāja piespraušanu. Sk. rakstu Lauku pārsaiste (remap) — kas tas ir un ekrāna uzbūve.

Dažas konvencijas, kas jāzina, gatavojot savu plūsmu:

  • XML: lauku var adresēt kā tiešu bērnu (model), ligzdotu ceļu (a.b.c), ieraksta atribūtu (@Stock), ligzdota elementa atribūtu (Dimensions@Height) vai nosaukumtelpas bērnu (g:price). Ko šis ceļš neprot — izvēlēties starp vairākiem blokiem (piemēram, kurā no noliktavām ir pārdodamais daudzums) vai pārveidot vērtību. Tieši tur sākas konkrēta vairumtirgotāja parsētāja teritorija.
  • CSV un XLSX: valodu kolonnas name_<valoda> / description_<valoda> (piem., name_lv) nav pārsaistāmas. Saraksti (attēli, faili, saistītās preces, kategorijas) ir viena kolonna, vienumi atdalīti ar |, un kategorijas ceļš iekšēji ar >>. Ligzdotie ieraksti (akcijas, atlaides, atribūti, opcijas) ir viena kolonna ar JSON vērtību.
  • JSON: apvalka locekļa nosaukumu var neuzdot — sistēma pati atpazīst products, items, records, data, rows, list, offers.

Iestatījumi, ko piedāvā vispārīgie parsētāji

Tie ir piegādātāja formas cilnē «Datu plūsmas konfigurācija». Grupā «Datu plūsmas opcijas»:

Parsētājs Uzraksts (ekrānā angliski) Noklusējums
Standard XML Record element item
Standard JSON Records key tukšs = atpazīt pašam
Standard XLSX Worksheet tukšs = pirmā darblapa
Standard CSV — nav neviena

Standard JSON papildus piedāvā lapošanu (API, kas atdod datus pa lapām) — piecas atslēgas grupā «Faili un pieejas dati» ar angliskiem uzrakstiem. Ko katra no tām nozīmē, kādas ir to noklusējuma vērtības un kā tās aizpildīt pēc piegādātāja API atbildes, aprakstīts rakstā Datu plūsmas konfigurācija — kā plūsmu lasa, sadaļā «Lapošana — kad plūsma nāk pa lapām».

Standard JSON ir vienīgais, kuram lapošanu var uzstādīt formā. Lapotam XML API tas nestrādātu — XML lasītājs apstātos pie pirmās lapas beigām, un klusi tiktu importēta viena lapa. Arī daži vairumtirgotāju parsētāji staigā pa lapām (piemēram, ACC Distribution ar savu kursoru), bet tie to dara iebūvēti, bez iestatījuma formā.

ℹ️ Kolonna «Noklusējums» šajā tabulā — un tāpat rakstā Parsētāju iestatījumi un pirmā palaišana — nozīmē vērtību, kas darbojas, kamēr rinda nav pievienota. Cilne nav lauku forma ar priekšaizpildītām vērtībām, bet rindu redaktors, tāpēc tukša tabula nav kļūda.

Piegādātājam uz Standard CSV cilne «Datu plūsmas konfigurācija» tāpēc raksta: «Šeit nav nekā, ko konfigurēt katram piegādātājam atsevišķi: šī datu plūsma tiek lasīta kā viens fails no datu plūsmas URL, izmantojot cilnē Datu plūsma norādītos pieejas datus.»

Ja kaut kas nestrādā

Visiem trim parsētāju rakstiem ir viena kopīga problēmu saraksta sadaļa — tā ir raksta Parsētāju iestatījumi un pirmā palaišana beigās, sadaļā «Ja kaut kas nestrādā». Tur ir apkopoti visi simptomi: imports bez nevienas sagatavotas preces, nepareizi krājumi, iekešota kļūdas lapa, parsētājs, kas uzvedas kā neizvēlēts, tukša cilne «Datu plūsmas konfigurācija» un trūkstošs PIM saturs.

Saistītie raksti: Vairumtirgotāju parsētāji un pieejas dati · Parsētāju iestatījumi un pirmā palaišana · Piegādātāja pievienošana — sagatavošanās un pamatdati · Datu plūsma — kur atrodas fails un pieejas dati · Datu plūsmas konfigurācija — kā plūsmu lasa · Importa uzvedība — ko datu plūsma drīkst pārrakstīt · Krājumu statusu sasaiste — kā tā strādā · Preču imports — kā tas notiek · Lauku pārsaiste (remap) — kas tas ir un ekrāna uzbūve · Piegādātāju profili — kas tie ir · Piegādātāju prioritāte — ekrāns un svaru uzstādīšana · Žurnāli — ekrāns un izpilžu rindas