Imports ir darbs, kas paņem piegādātāja datu plūsmu un pārvērš to sagatavotās precēs. Šajā rakstā ir importa mehānika: no kā tas sākas, ar ko imports atšķiras no veikala atjaunošanas, kādi ir abi importa veidi un ko sistēma dara katrā solī. Kā importu palaiž ar roku, kā tas notiek pēc grafika, cik ilgi aizņem un ko drīkst darīt vienlaikus — Preču imports — palaišana un grafiks. Ko imports maina pašās precēs, kad sagatavotā prece kļūst par veikala preci un kā pārbaudīt rezultātu — Preču imports — rezultāts veikalā un pārbaude.
Ko vajag pirms importa
Imports nav pirmais solis. Pirms tā palaišanas jābūt izdarītam šim:
- Piegādātājs ir izveidots — vadības panelī ir tā rinda ar kodu. Sk. Piegādātāja pievienošana — sagatavošanās un pamatdati.
- Cilnē «Datu plūsma» ir norādīts, no kurienes ņemt failu — Datu plūsmas URL (HTTP resursdators) vai FTP resursdators kopā ar Faila nosaukumu un pieejas datiem. Sk. Datu plūsma — kur atrodas fails un pieejas dati.
- Administrators ekrānā «Integrācija» ir piespraudis parsētāju. Bez piesprausta vai automātiski atpazīta parsētāja imports var nesagatavot nevienu rindu, un kļūdas ziņojuma par to nav. Sk. Atbalstītie formāti un parsētāja izvēle.
- Piegādātāja formas cilnē «Vispārējie» ir ieslēgts slēdzis «Imports». Izslēgts piegādātājs netiek ņemts ne grafikā, ne veikala atjaunošanā.
Divas caurules, nevis viena
Integrāciju centrālē preci līdz veikalam ved divi atsevišķi darbi, un tos nedrīkst sajaukt:
| Ko dara | Kur to palaiž | |
|---|---|---|
| Imports | lejupielādē piegādātāja datu plūsmu, nolasa to un saliek moduļa sagatavošanas tabulās | vadības panelī, piegādātāja rindā, blakus tā kodam — divas mazas ikonu pogas |
| Veikala atjaunošana | paņem sagatavoto un publicē veikala katalogā | vadības panelī, augšējā labajā stūrī, sarkanā poga Palaist veikala atjaunošanu |
Pats modulis to saka vadības panelī:
Viena rinda katram piegādātājam. Produktu skaits atspoguļo stāvokli pēdējās veikala atjaunošanas brīdī. Krājumu imports ielasa cenu, krājumus un statusu no piegādātāja datu plūsmas sagatavošanas tabulās; lai tos publicētu, palaidiet veikala atjaunošanu.
Divi apgalvojumi, kas ir spēkā vienmēr: imports veikala katalogā neraksta neko, un veikala atjaunošana datu plūsmu nelasa vispār — tā strādā tikai ar to, kas jau ir sagatavots.
📷 Ekrānattēls: ecomlink/ecomlink — vadības panelis ar piegādātāju rindām; tuvplānā piegādātāja kods ar abām importa ikonu pogām blakus, un augšā poga «Palaist veikala atjaunošanu»
Divi importa veidi
| Krājumu imports | Pilnais imports | |
|---|---|---|
| Ko atjauno | tikai komercdatus: statuss, cena, daudzums, krājumu statusi (Krājumu statusu sasaiste — kā tā strādā), «Nav vietējā noliktavā» | visu: + aprakstus, attēlus, atribūtus, opcijas, izmērus un svaru, EAN/SKU/MPN, kategoriju, zīmolu |
| Jaunas preces | nepievieno (ja vien piegādātājam nav ieslēgts Import new products on stock runs) | pievieno |
| Attēlu lejupielāde | nē | jā, ja piegādātājam ieslēgts Kešot attēlus lokāli |
| Saturs no EcomCart PIM | nē | jā, ja piegādātājam ekrānā Integrācija ieslēgts Ņemt saturu |
| Ilgums | minūtes | lielai datu plūsmai — stundas |
| Kas drīkst palaist | lietotājs ar rediģēšanas tiesībām | tikai sistēmas administrators |
PIM šajā tabulā un tālāk rakstā ir EcomCart kopīgā produktu datu bāze — nosaukumi, apraksti un attēli, ko EcomCart uztur centralizēti un ko piegādātāja datu plūsmas saturam var likt virsū.
Tieši to pasaka arī abi apstiprinājuma logi:
- Krājumu imports: «Tas atjauno cenu, krājumus un statusu produktiem, kas jau ir sagatavoti no šī piegādātāja. Apraksti, attēli, opcijas un atribūti netiek aiztikti, un jauni produkti netiek pievienoti.»
- Pilnais imports: «Tas no jauna nolasa visu datu plūsmu un pārbūvē aprakstus, attēlus, atribūtus un opcijas, pievieno produktus, ko datu plūsma ir ienesusi, lejupielādē jaunus attēlus un atjauno šī piegādātāja saturu no EcomCart PIM. Lielai datu plūsmai tas var aizņemt vairākas stundas. Cena, krājumi un statuss joprojām nāk no datu plūsmas, tieši tāpat kā krājumu importā.»
🔴 Piegādātāja pirmajam importam jābūt pilnajam. Krājumu imports atjauno tikai jau esošas rindas. Ja piegādātājam vēl nekas nav sagatavots, tas nostrādā līdz galam un uzraksta nulli rindu — bez kļūdas ziņojuma. Automātiskas pārcelšanas uz pilno importu nav: to izslēdza apzināti, lai stundas ilgs gājiens nevarētu sākties pats no sevis.
Ja jums nav sistēmas administratora tiesību, pilnā importa pogu jūs neredzēsiet — pirmo pilno importu tad pieprasiet atbalstam; ko rakstīt pieteikumā, ir rakstā Preču imports — rezultāts veikalā un pārbaude.
📷 Ekrānattēls: ecomlink/ecomlink — importa apstiprinājuma logs «Pilnais imports» ar pilnu brīdinājuma tekstu
Kas notiek importa laikā, soli pa solim
1. Lejupielāde. Fails tiek paņemts no FTP resursdatora, ja tas ir aizpildīts, citādi no Datu plūsmas URL (HTTP resursdators) kopā ar Faila nosaukumu. Lejupielāde tiek saglabāta veikala krātuvē; iepriekšējā pirms tam tiek saarhivēta un saspiesta, un arhīvs glabājas 20 dienas. Ja avots nav norādīts nemaz, tiek izmantots pēdējais lejupielādētais fails. Ja kāds no pavadošajiem failiem (cenu lapa, krājumu fails) neatnāk, visa palaišana tiek pārtraukta — labāk vakardienas dati nekā katalogs bez cenām.
2. Parsētājs. Datu plūsmu nolasa parsētājs — vai nu tas, kas piegādātājam piesprausts ekrānā Integrācija, vai automātiski noteiktais. Pats parsētājs datubāzē neraksta neko: tas tikai pārvērš faila rindas vienotos produktu ierakstos. Sīkāk: Atbalstītie formāti un parsētāja izvēle.
3. Valūta un PVN — pirms rakstīšanas tabulās. Cenas tiek pārrēķinātas veikala valūtā jau šeit, jo vēlāk tās tiek salīdzinātas starp piegādātājiem. Vispārīgajiem formātiem valūtu nosaka lauks Datu plūsmas cenu valūta; ja kursa nav, palaišana pārtrūkst, pirms ierakstīta kaut viena cena. Pēc tam, ja aizpildīts Datu plūsmas cenu PVN, no cenām tiek izdalīts PVN, lai tabulās nonāktu neto cena — tāpat kā valūta, arī šis lauks darbojas tikai vispārīgo formātu piegādātājiem; veltītam vairumtirgotāja parsētājam tas netiek lasīts.
4. Sagatavošana. Preces tiek ierakstītas porcijās — porcijas lielumu nosaka Atjaunošanas porcijas izmērs (0 = globālais noklusējums, pašlaik 2500 rindas; formas palīgtekstā vēl redzams vecais skaitlis 1000). Ja visa porcija neieraksta, sistēma atkāpjas uz rindu-pa-rindai ceļu, tāpēc viena bojāta rinda nenogremdē pārējās. Pilnajā importā papildus tiek pārbūvētas variantu ģimenes — viena modeļa izmēru vai krāsu grupas, kas veikalā rādās kā viena prece ar izvēlēm.
5. Saturs no PIM un attēli (tikai pilnajā importā). Ja ekrānā Integrācija piegādātājam ieslēgts Ņemt saturu — un ja PIM šim veikalam vispār ir konfigurēts, ko ekrāns Integrācija pasaka augšpusē — tiek nolasīts EcomCart PIM saturs; ja ieslēgts Kešot attēlus lokāli, tiek lejupielādēti attēli.
Abi soļi ir «labākajā gadījumā», bet ekrānā tie izskatās dažādi:
- Neizdodas PIM satura piegājieni — imports paliek spēkā, un palaišana tiek atzīmēta kā Pabeigts ar brīdinājumiem; cēlonis redzams, uzbraucot ar peli statusa punktam.
- Neizdodas attēlu lejupielāde — imports tāpat paliek spēkā, bet statuss paliek «Pabeigts». Pēdas par kļūmi ir tikai žurnālā.
6. Trūkstošo preču pārbaude. Abu veidu importa beigās tiek pārbaudīts, kuru artikulu datu plūsmā vairs nav. Ja ieslēgts Izslēgt preces, kuru piegādātāja datos vairs nav, tās tiek noliktas kā neaktīvas un ieslēdzas atpakaļ pašas, tiklīdz atgriežas plūsmā. Pārbaudei ir drošības ierobežojums — Datu plūsmā trūkstošo atslēgšanas ierobežojums, pēc noklusējuma 20%: ja uzreiz pazūd lielāka kataloga daļa, pārbaude atsakās un neatslēdz neko.
7. Noslēgums. Tiek uzstādīts laika zīmogs — krājumu imports ceļ Pēdējais krājumu imports, pilnais Pēdējais pilnais imports — un palaišana žurnālā tiek noslēgta ar skaitītājiem: cik ievietots, atjaunots, izlaists, izņemts no aprites, atgriezts un cik bija kļūdu.
No kurienes nāk PIM attēli: «Piegādāt no CDN» vai «Kopēt šurp»
Piegādātājam, kas ņem saturu no PIM, ir vēl viena izvēle, un tā tieši nosaka, cik ilgs būs pilnā importa attēlu solis. Tā ir ekrānā Integrācija, kolonnā PIM attēli (ekrāns ir tikai sistēmas administratoram — sk. Atbalstītie formāti un parsētāja izvēle):
| Vērtība | Ko pilnais imports dara ar PIM attēliem | Kas paliek pierakstīts precē |
|---|---|---|
| Piegādāt no CDN (jaunam piegādātājam — noklusējums) | nelejupielādē tos vispār | pati EcomCart attēlu servera adrese; veikals no tās prasa vajadzīgo izmēru, pieliekot adresei ?width= |
| Kopēt šurp | katru attēlu lejupielādē, pārkodē un saglabā šajā serverī | ceļš uz lokālo kopiju |
Ko par šo izvēli zināt praksē:
- Esošam piegādātājam paliek tas, kas tam jau uzstādīts — noklusējums attiecas tikai uz jauniem. Tāpēc pārceliet piegādātājus pa vienam, nevis visus uzreiz.
- Pārslēgšana atpakaļ uz «Kopēt šurp» maksā vienu pilno importu. Nākamajā pilnajā gājienā visi šī piegādātāja attēli tiek lejupielādēti no jauna — lielam piegādātājam tās ir stundas.
- «Piegādāt no CDN» nozīmē, ka lokālas kopijas nav. Ja attēlu serveris nav sasniedzams, līdz ar to nav sasniedzams neviens tā piegādātais attēls, un atkāpties nav uz ko.
- Tas attiecas tikai uz PIM attēliem. Vai pilnais imports lejupielādē paša piegādātāja datu plūsmas attēlus, joprojām nosaka rūtiņa Kešot attēlus lokāli piegādātāja formas cilnē Datu plūsma. Piegādātājam ar «Piegādāt no CDN» EcomCart adreses paliek neaiztiktas arī tad, ja šī rūtiņa ir ieslēgta.
- Attēlus aiztiek tikai pilnais imports. Krājumu imports attēlu rindas nemaina nekad — ne lejupielādē, ne pārraksta.
- Pārslēdzot piegādātāju uz «Piegādāt no CDN», nākamais pilnais gājiens veikala precēs nomaina tos attēlus, ko tur ir ielicis pats modulis; attēls, ko katalogā ar roku izvēlējies cilvēks, netiek aiztikts.
📷 Ekrānattēls: ecomlink/parser — kolonna «PIM attēli» ar atvērtu izvēlni: «Piegādāt no CDN» un «Kopēt šurp»
Kā nolasīt kolonnu «PIM stāvoklis»
Ekrāna Integrācija pēdējā kolonna ir tikai lasāma: tajā ir pierakstīts, cik tālu iepriekšējie gājieni ar šo piegādātāju ir tikuši. Piegādātājam, kuram PIM ir Izslēgts un kuram nekad nekas nav bijis sasaistīts, tajā ir domuzīme.
| Rindiņa šūnā | Ko tā nozīmē |
|---|---|
| «N sasaistīti · N pievienojami · N pievienoti» | cik šī piegādātāja rindu ir sasaistītas ar PIM produktu; cik no tām sasaitēm norāda uz piedāvājumu, kuram šajā veikalā sagatavotas rindas nav; cik rindu šeit ir radījis pats PIM |
| «saturs nolasīts laiks» | tik tālu saturs jau ir nolasīts — nākamais pilnais imports paņems tikai to, kas PIM pusē kopš tā mainījies |
| «saturs vēl nav nolasīts» | atzīmes nav, tāpēc nākamais pilnais imports lasīs visu no sākuma |
| «notikumu kursors N» | cik tālu ir nolasīta PIM notikumu plūsma; parādās, kad kursors vairs nav nulle |
| dzeltenā «satura lasīšana nepabeigta: nolasīti N, turpināsies nākamajā pilnajā importā (kontrolpunkts laiks)» | iepriekšējais gājiens saturu līdz galam nepaspēja nolasīt |
Pēdējā rindiņa ir tā, kas atbild uz jautājumu «vai saturs vispār nāk»: lasīšana atzīmē kontrolpunktu pēc katras apstrādātās lappuses, tāpēc nākamais pilnais imports turpina no tās vietas, nevis sāk no gala. Lielam piegādātājam saturs tādā gadījumā ienāk pa daļām, vairākos gājienos. Tas ir tas pats kontrolpunkts, kura dēļ ar pogu Apturēt pārtraukts imports PIM satura lasīšanu turpina no apstāšanās vietas.
⚠️ «Pievienojami» var stāvēt virs nulles ilgi, un tas nav kļūda. Vai PIM drīkst šeit pievienot preces, ko datu plūsma nav atnesusi, nosaka lauks PIM produktu pievienošanas ierobežojums piegādātāja formas cilnē Importa uzvedība. Katram piegādātājam tas sākas ar Nekad, un, ja ierobežojums tiek pārsniegts, tiek noraidīta visa partija, nevis pievienota tās daļa.
Atzīmi «saturs nolasīts …» var notīrīt ar pogu Pārlasīt visu saturu turpat šajā kolonnā — tad nākamais pilnais imports pārlasa visu no jauna; sk. Atbalstītie formāti un parsētāja izvēle.
📷 Ekrānattēls: ecomlink/parser — kolonna «PIM stāvoklis» ar skaitītāju rindiņu, «saturs nolasīts …», «notikumu kursors …» un dzelteno nepabeigtās lasīšanas rindiņu
Ja kaut kas nestrādā
Visi importa traucējummeklēšanas gadījumi — no «imports beidzās zaļš, bet veikalā nekas nemainījās» līdz «statuss uzreiz ir Kļūda» — ir savākti rakstā Preču imports — rezultāts veikalā un pārbaude.