Куди лягає файл вивантаження: посилання, FTP і пошта

8 хв

Elbuz кладе готовий файл за постійним посиланням, яке ви один раз даєте майданчику, а за налаштуванням ще й відправляє його на FTP або листом клієнту; старий файл замінюється тільки після вдалого запису нового.

Коли це знадобиться:

  • Майданчик забирає фід сам — посилання в колонці «Файл» не змінюється від прогону до прогону.
  • Клієнту потрібен файл на свій сервер — після прогону файл іде на FTP або SFTP.
  • FTP не приймає файл — код відповіді сервера в журналі назве причину.
  • Оптовий клієнт чекає прайс поштою — файл прайс-листа йде вкладенням за шаблоном розсилки.

З чого почати: колонка «Файл» у списку шаблонів → «Копіювати посилання».

Що вміє доставка файла

Де це і хто має доступ

Меню
Довідники → Операції → Вивантаження даних → колонка «Файл»
Інші входи
картка шаблону, секція «Повʼязані налаштування» → «Налаштування FTP»
Право доступу
вікно «Детальне налаштування шаблону вивантаження»
Підготувати
для FTP — адресу сервера, користувача, пароль і теку з правом запису

Куди лягає файл

Готовий файл спершу пишеться в теку вашого акаунта, а далі розходиться туди, куди ви налаштували.

  • Посилання. Адреса готового файла показується в колонці «Файл» списку, поруч є кнопка «Копіювати посилання» (після натискання виникає тост «Посилання скопійовано»). Це і є та адреса, яку ви даєте майданчику.
  • FTP. Спрацьовує, якщо в «Налаштуваннях FTP» заповнено адресу сервера й імʼя користувача. Там же — порт, пароль, перемикач «SFTP (SSH File Transfer Protocol)», «Шлях куди вивантажувати», «Кількість потоків» і кнопка «Перевірити підключення». Натисніть її до першого прогону: у відповідь буде або «Підключення успішно встановлено!», або «Помилка: ‹відповідь сервера›». Якщо сервер, порт, користувач і пароль заповнені не всі, кнопка відповість «Заповніть поля!».
  • Пошта. Вкладення до листа працює лише в типі «Прайс-лист (XLSX, CSV)» і лише коли заповнено «Шаблон розсилки». Вкладення можна архівувати в ZIP.
  • Пряме зʼєднання. У типів із групи API файла немає взагалі — дані йдуть у сервіс майданчика запитами.

Імʼя файла задається в картці шаблону, і в ньому працюють три макроси: {DATE} — сьогоднішня дата, {DATETIME} — дата з часом, {TIME} — час. Це потрібно, коли майданчик або клієнт хоче окремий файл на кожен день. Скісна риска в імені замінюється крапкою, а розширення .php та його різновиди програма примусово міняє на .xml.

Після прогону програма записує розмір файла і витрачений час — обидва числа видно і в списку, і в діалозі зведення наступного разу. Файл менший за 4 КБ рахується як 4 КБ: на диску він однаково займає блок.

Ім’я файлу і FTP: звідки беруться помилки вивантаження

На FTP файл іде під тим самим ім’ям, що й за посиланням, у теку з поля «Шлях куди вивантажувати». Коли вивантаження на FTP не проходить, перевірте в картці шаблону поле «Ім’я файлу» і налаштування FTP за цим списком:

  • Латиниця без пробілів. Програма підставляє ім’я файлу в адресу FTP як є, не кодуючи. Пишіть його латинськими літерами, цифрами, крапкою, дефісом і підкресленням: feed_rozetka.xml, а не «прайс розетка.xml».
  • Порожнє ім’я — не помилка. Тоді береться стандартне ім’я типу вивантаження, наприклад export_elbuz.xml для YML.
  • Підтеку в імені не задати. Скісна риска стає крапкою; тека вказується лише в «Шлях куди вивантажувати», і він починається зі скісної риски: /public_html/feeds.
  • Файл з таким ім’ям уже є — він перезаписується, версій не зберігається. Потрібен окремий файл на день — додайте в ім’я {DATE}.

Коли файл на FTP не доїхав, у журналі прогону лишається код відповіді сервера — по ньому причина зазвичай видна одразу, без здогадок:

КодЩо означаєКуди дивитися
226передавання завершено успішноусе гаразд, файл на сервері
530сервер не пустив: логін або пароль не підійшлиреквізити в «Налаштуваннях FTP»; на деяких хостингах ім'я користувача пишеться разом із доменом
550немає доступу до теки або її не існуєполе «Шлях куди вивантажувати»: у теку потрібне право запису; для FTP відсутні теки програма пробує створити сама, для SFTP тека має існувати
552перевищено дискову квотумісце на хостингу
425, 426канал передавання не відкрився або обірвавсянайчастіше пасивний режим і фаєрвол на боці сервера

На зʼєднання з FTP-сервером програма чекає 10 секунд, на передавання файла — до 120 секунд. Сервер, який не встигає, дає в журналі рядок «Error:» з причиною.

Коди починаються з цифри, яка й каже головне: 2 — успіх, 4 — тимчасова невдача (має сенс повторити), 5 — відмова, яка сама не мине.

Результат видно в журналі прогону рядком «Вивантажено файли за FTP: N із M»; якщо передати по FTP не вдалося, за ним стоїть «Error: ‹код› ‹текст›» — код читайте за таблицею вище.

Для SFTP невдалий вхід пише «Помилка авторизації на SFTP-сервері!» із причиною від сервера; якщо вхід вдався, а файл не ліг, рядка «Вивантажено файли за FTP» у журналі не буде зовсім.

Що лежить за посиланням, поки збирається новий файл

Вивантаження у файл робить одне: за шаблоном збирає файл з товарами й кладе його за постійним посиланням. Площадка сама забирає цей файл за посиланням.

Окремих команд площадці при такому вивантаженні програма не надсилає: ні «видали товар», ні «зніми з продажу». Усе, що площадка дізнається від нас, записано в останньому файлі, який лежить за посиланням. Які товари в нього потрапляють — умови відбору шаблону.

Коли посилання веде на новий файл

Новий файл збирається окремо, у робочій папці програми, частинами (у XML-шаблонах по 500 товарів). За посиланням весь цей час лежить попередній файл. Коли новий файл зібрано до кінця, програма записує його в сховище, і тільки після вдалого запису посилання в шаблоні веде на новий файл.

Якщо записати новий файл не вдалося, журнал пише «Файл не завантажився в хмарне сховище. Попередній файл і посилання на нього залишено без змін», вивантаження закінчується рядком «Вивантаження даних НЕ завершено: файл не сформовано», а «Посилання на файл (#1)» і «Дата вивантаження» у шаблоні лишаються попередніми.

  • Якщо вивантаження зупинили кнопкою «Зупинити», воно зупиняється після поточного товару. Недозібраний файл лишається в робочій папці, за посиланням лишається попередній.
  • Якщо умова в шаблоні містить помилку, файл не публікується, і за посиланням теж лишається попередній. Якщо відбір не дав жодного товару, файл не публікується в XML-фідах (YML, Google-фід) і в «Прайс-листі (XLSX, CSV)», крім режиму «Вивантажувати рядки з категоріями, нижче товари + угруповання». Шаблони prom.ua у форматі XLS і «1С (CommerceML2)» за порожнього відбору публікують файл без товарів, і він замінює попередній.
  • Якщо в назві файлу в шаблоні є {DATE}, {DATETIME} або {TIME}, назва, а з нею й посилання, змінюється з кожним прогоном. Площадці, яка забирає файл за однією адресою, потрібна назва без цих підстановок.
  • У хмарній версії до посилання дописується ?uuid= з новим числом після кожного вивантаження. Сам файл лежить за тією самою адресою, число лише обходить кешування в браузері.

Що відбувається з товаром, який випав із файлу

З нашого боку — нічого, крім того, що в новому файлі його немає. Товар лишається в каталозі таким, яким був. Що площадка зробить з позицією, якої більше немає у файлі (сховає, зніме з продажу, видалить або залишить як є), вирішує сама площадка, і програма на це не впливає. Дивіться правила вашої площадки.

  • Якщо потрібно, щоб площадка побачила товар як відсутній, товар має лишитися у файлі. Для цього він має проходити умови відбору, а його статус наявності має відповідати в налаштуваннях наявності шаблону варіанту «немає в наявності» (там же задається кількість, яку отримає такий товар).
  • Якщо товар просто зробити неактивним, а в шаблоні стоїть умова «товар активний», він не отримає позначку «немає в наявності», а зникне з файлу повністю.
  • Якщо товар повернувся (його знову ввімкнули або він знову пройшов умови), він зʼявиться у файлі під час наступного вивантаження.

Як за журналом зрозуміти, що файл зібрано

Хід вивантаження видно в «Центрі операцій». Файл зібрано й покладено за посиланням, якщо в журналі є рядок «Завантажити файл» з назвою файлу, а останній рядок — «Вивантаження даних завершено». Якщо файл не сформовано або сховище його не прийняло, останній рядок — «Вивантаження даних НЕ завершено: файл не сформовано».

Після вдалого прогону в списку шаблонів оновлюються «Дата вивантаження» і «Посилання на файл (#1)». Якщо файл не сформовано, «Дата вивантаження» лишається старою, а змінюється тільки «Витрачено часу». Що означає кожен рядок журналу — у таблиці нижче.

Як виправити помилкове вивантаження

Кнопки «повернути попередній файл» немає: новий файл замінює попередній, і копії програма не зберігає. Від помилкового файлу є один засіб: виправити причину і вивантажити ще раз. Новий файл замінить помилковий за тим самим посиланням.

  • Якщо у файл потрапили не ті товари або їх стало менше, ніж треба, виправте умови відбору шаблону, позначки «Вивантажувати у файл (на сайт)» у товарів і категорій, вибір магазину чи складу. Перед повторним запуском звірте цифри у вікні «Що буде вивантажено».
  • Якщо товари у файлі правильні, а неправильні їх дані (ціни, наявність, описи), виправте дані в каталозі й запустіть вивантаження знову.
  • Якщо шаблон працює з галочкою «Вивантажувати лише нові дані», товари з помилкового файлу вже мають позначку «Вивантажено» і повторно самі не підуть. Їх треба змінити в каталозі або зняти з них позначку «Вивантажено», інакше виправлення до файлу не потрапить.
  • Що площадка встигла зробити з помилковим файлом до того, як забрала виправлений, залежить від площадки: коли вона перечитує файл і як обробляє зміни, програма не контролює.

Щоб помилка не пішла у файл наступного разу, переведіть стоп-правила вивантаження в режим «Зупинити вивантаження». Якщо фільтр шаблону не вдається перерахувати, журнал пише «Передпольотне зведення не розраховано…», і стоп-правила в такому прогоні не спрацьовують.

Сценарії

Майданчик забирає фід за посиланням

Що налаштувати: у колонці «Файл» списку шаблонів натисніть «Копіювати посилання» і вставте адресу в кабінет майданчика. Ім’я файлу в картці шаблону лишіть без {DATE}, {DATETIME} і {TIME}.

Що вийде: кожен прогін кладе за тим самим посиланням новий файл, і майданчик забирає його за своїм розкладом. Чого не станеться: поки новий файл не записано в сховище, за посиланням лежить попередній.

Клієнт хоче окремий файл на кожен день на своєму FTP

Що налаштувати: у «Налаштуваннях FTP» заповніть сервер, користувача, пароль і «Шлях куди вивантажувати», натисніть «Перевірити підключення». В ім’я файлу додайте {DATE}.

Що вийде: щодня на сервері зʼявлятиметься новий файл із датою в імені, попередні лишаються. Чого не станеться: посилання з колонки «Файл» теж змінюватиметься з кожним прогоном — майданчику, який бере файл за однією адресою, таке ім’я не підходить.

Прайс оптовому клієнту листом

Що налаштувати: шаблон типу «Прайс-лист (XLSX, CSV)», заповнене поле «Шаблон розсилки»; за потреби увімкніть архівацію вкладення в ZIP.

Що вийде: після кожного прогону файл піде вкладенням у лист. Чого не станеться: в інших типах шаблонів вкладення до листа немає.

Що пише журнал, коли файл не доїхав

Що ви бачитеЧому такЩо зробити
«Вивантажено файли за FTP: 0 із 1 Error: …» у журналі прогону Сервер не прийняв файл: реквізити, шлях, право запису або ім’я файлу з пробілами чи кирилицею «Перевірити підключення» в «Налаштуваннях FTP», шлях зі скісної риски, ім’я файлу латиницею (ім’я файлу і FTP)
«Вивантаження товарів 500 з …» Файл збирається: перше число — скільки товарів уже записано, друге — скільки всього відібрано. У XML-шаблонах рядок зʼявляється кожні 500 товарів і ще раз наприкінці Нічого, чекати завершення
«Завантажуємо файл у хмарне сховище» Файл зібрано повністю, програма замінює ним попередній за посиланням Нічого, чекати рядка «Завантажити файл»
«Файл не завантажився в хмарне сховище. Попередній файл і посилання на нього залишено без змін» Файл зібрано, але сховище його не прийняло. Вивантаження не завершено, за посиланням лишився попередній файл Запустити вивантаження ще раз
«Вивантаження даних НЕ завершено: файл не сформовано» Відбір не дав жодного товару, умова шаблону містить помилку, сховище не прийняло файл, або вивантаження зупинили. За посиланням лишився попередній файл Перевірити цифри передпольотного зведення й умови відбору. Стоп-правило чи конфлікт розкладу в журналі — розбір запуску

Часті запитання

Вивантаження на FTP не проходить — може бути помилка в імені файлу?

Може. Програма вставляє ім’я файлу в адресу FTP без кодування, тож пробіли й кирилиця — перша підозра: перейменуйте латиницею, як-от feed.xml. Код у рядку «Вивантажено файли за FTP: … Error:» називає причину: 530 — логін чи пароль, 550 — тека чи право запису.

Чи зберігаються старі версії файла?

Ні. Кожен прогін замінює попередній файл, версій «як було минулого тижня» немає. Потрібен архів — вивантажуйте на FTP з {DATE} в імені файла.

Чому в колонці «Файл» у деяких шаблонів порожньо?

У шаблонів Elbuz Tunnel і прямих зʼєднань за API файла немає взагалі: тунель пише дані прямо в базу сайту, а API — запитами в сервіс майданчика.

Чи можна надіслати файл листом із будь-якого шаблону?

Ні. Вкладення до листа є тільки в типі «Прайс-лист (XLSX, CSV)» і тільки із заповненим «Шаблоном розсилки».

Чому маленький файл у списку важить 4 КБ?

Файл менший за 4 КБ рахується як 4 КБ: на диску він однаково займає блок.

Суміжні теми

Чи була стаття корисною?