Що робити, якщо Mergado не може завантажити вхідний фід#

Коли Mergado не вдається завантажити ваш вхідний фід, проєкт не перегенеровується, а на виході залишаються старіші дані. У більшості випадків причина не в Mergado, а в тому, що сервер із вашим фідом відхиляє запит на його завантаження або не відповідає на нього. Ця стаття допоможе вам з’ясувати, що відбувається, і підкаже, як проблему розв’язати – в ідеалі так, щоб ви знайшли причину самостійно й не мусили чекати на відповідь підтримки.

Інструкція стосується як вхідного фіду проєкту, так і файлів, які завантажує правило Data file import.

Як з’ясувати, що саме сталося#

Не робіть висновків лише з того, що „проєкт не працює“. Mergado записує кожну спробу завантажити фід:

  1. У Mergado відкрийте проєкт, у якому виникла проблема.
  2. Перейдіть на сторінку History.
  3. У полі Event type відфільтруйте Product import або Scheduled product import, якщо проєкт перегенеровується автоматично.

Ви побачите кількість невдалих спроб і повідомлення до них. У найчастіших помилок (401, 403, 404, 500, 502, 503 і 504) повідомлення конкретне й одразу підкаже, що сталося, – у такому разі дійте за таблицею нижче. Якщо ви бачите лише загальне повідомлення „Unknown error“, переходьте одразу до розділу Що означає „Unknown error“.

Що означають окремі помилки#

Повідомлення в History Що відбувається Де шукати рішення
Доступ до віддаленого файлу заборонено (401 Unauthorized). Фід захищено ім’ям користувача та паролем, а Mergado їх не має або вони неправильні. Перевірте облікові дані в URL-адресі фіду або в розширенні Mergado Drive. Якщо ви змінили їх на сервері, змініть їх і в Mergado.
Віддалений сервер відмовився відповісти (403 Forbidden). Сервер знає про Mergado, але відмовляє йому в доступі. Найчастіший випадок. Зазвичай причиною є білий список IP-адрес, WAF (вебфаєрвол, який фільтрує трафік на ваш сайт), Cloudflare або блокування автоматизованого завантаження. Дозвольте IP-адреси Mergado. Якщо ви використовуєте Cloudflare, дійте за цією інструкцією.
Віддалений файл не існує (404 Not Found). За вказаною адресою не знайдено жодних даних. За вказаною адресою немає жодного файлу. Фід перемістили, перейменували, або в адресі є друкарська помилка. Відкрийте адресу фіду в браузері. Якщо не знайдете його й ви, отримайте актуальну адресу у своїй платформі інтернет-магазину й виправте її в налаштуваннях проєкту.
На віддаленому сервері сталася невизначена помилка (500 Internal Server Error). Сервер із фідом натрапив на внутрішню помилку, найчастіше не вдалося саме генерування фіду. Спробуйте відкрити адресу в браузері. Якщо помилка не зникає, розв’язуйте її зі своїм хостингом або постачальником інтернет-магазину.
Віддалений сервер не зміг відповісти (502 Bad Gateway). Сервер перед вашим інтернет-магазином (проксі, CDN) не отримав коректної відповіді від сервера, який генерує фід. Зазвичай ідеться про тимчасовий збій. Якщо помилка не зникає, зверніться до свого хостингу.
Віддалений сервер не відповів (503 Service Unavailable). Сервер перевантажений, на технічному обслуговуванні або тимчасово недоступний. Дочекайтеся наступної спроби завантаження. Якщо помилка повторюється, розв’яжіть зі своїм хостингом питання продуктивності сервера або запланованого обслуговування.
Віддалений сервер не зміг відповісти (504 Gateway Timeout). Генерування фіду тривало надто довго, і сервер не встиг надіслати відповідь. Попросіть хостинг або постачальника інтернет-магазину пришвидшити генерування фіду або попередньо генерувати його у файл.

WAF (Web Application Firewall) – це фільтр безпеки, який перевіряє запити до вашого сайту й блокує підозрілі. Він буває складовою хостингу або сервісів на зразок Cloudflare і іноді помилково блокує й автоматизоване завантаження фіду.

Що означає „Unknown error“#

Для інших помилок History не показує конкретного опису, а лише загальне повідомлення „Unknown error“. Це стосується передусім таких випадків:

  • 429 Too Many Requests – сервер обмежує кількість запитів, і завантаження фіду в ліміт не вмістилося.
  • Timeout (перевищення часу очікування) – сервер узагалі не відповів, або встановлення з’єднання тривало надто довго.
  • Помилка сертифіката / SSL – сервер має недійсний, прострочений або ненадійний сертифікат.

Точний код і причину з History в такому разі не дізнаєтеся – їх бачить лише наша технічна підтримка. Перш ніж їй написати, спробуйте перевірити причину самостійно – у більшості випадків ви знайдете її, не чекаючи на відповідь:

  1. Перевірте завантаження фіду так, як його бачить Mergado. Mergado завантажує фід не через браузер, а автоматизовано – за допомогою інструмента curl з ідентифікацією (User-Agent) MergadoBot. Такий самий запит ви можете надіслати й самі. У терміналі (macOS, Linux, Windows 10 і новіші) виконайте:

    curl -I -A "MergadoBot" "https://adresa-vashoho-fidu"
    • У першому рядку відповіді ви побачите HTTP-код (наприклад, HTTP/2 200, 403, 429 або 503). За ним ви визначите причину, навіть якщо History показує лише „Unknown error“.
    • Відповідь містить заголовок cf-mitigated: challenge → фід блокує Cloudflare, дійте за інструкцією для Cloudflare.
    • Команда нічого не повертає або завершується лише через тривалий час → це відповідає тайм-ауту.
    • Команда завершується помилкою сертифіката → ідеться про помилку SSL, розв’яжіть питання оновлення сертифіката зі своїм хостингом.

    Тест виконується з вашої IP-адреси, а не з IP-адреси Mergado. Якщо він повертає 200, але Mergado завантажити фід не вдається, сервер, найімовірніше, блокує саме IP-адресу Mergado – перевірте це в лозі (наступний крок) або у свого хостингу.

  2. Перевірте власний access/error лог хостингу (в адмініструванні вашого хостингу – на відміну від нашої History там ви побачите справжній HTTP-статус). Знайдіть у ньому час невдалої спроби за History і шукайте запити з IP 81.31.39.112.

    • Запиту там немає зовсім → його зупинили раніше, ніж він дійшов до вашого застосунку (фаєрвол, WAF, рівень мережі) → це відповідає тайм-ауту.
    • Запит там є, і ви бачите конкретний код (наприклад, 429) → ви знаєте точну причину, не чекаючи на нас. У разі помилки 429 попросіть адміністратора сервера або хостинг збільшити ліміт для IP-адреси Mergado.
  3. Порівняйте час останнього успішного й першого невдалого запису в History. Це допоможе пов’язати проблему з конкретною зміною – новим правилом безпеки, увімкненням Cloudflare, міграцією хостингу або оновленням сертифіката.

Якщо й так причину не знайдете, напишіть нам на mergado@mergado.com – додайте посилання на проєкт, адресу фіду та час, коли виникла проблема. Лише після такої перевірки ми знайдемо для вас код і точну причину в адмініструванні.

Особливий випадок: раніше працювало, а потім перестало, хоча я нічого не змінював(-ла)#

Таке трапляється частіше, ніж можна подумати, і майже ніколи це не помилка на боці Mergado. Типові причини:

  • Ваш хостинг запровадив нові правила безпеки. Реальний випадок: великий чеський хостинг запровадив нове правило для виявлення підозрілої комунікації й помилково оцінив як ризиковану також комунікацію Mergado. Тим самим він заблокував завантаження фідів для всіх інтернет-магазинів на своїх серверах, доки ми його не попередили.
  • Ви увімкнули Cloudflare або змінилися його налаштування.
  • Закінчився строк дії сертифіката.
  • Ви мігрували хостинг або змінилася IP-адреса сервера, і білого списку там уже немає.
  • Змінився пароль або хеш в адресі фіду, наприклад після оновлення інтернет-магазину.

Як це розпізнати: в History проєкту знайдіть останнє успішне завантаження й порівняйте його з першим невдалим. Час, коли все зламалося, – найцінніша інформація і для вас, і для вашого хостингу.

Як діяти#

  1. Протестуйте фід так, як його завантажує Mergado – командою curl -I -A "MergadoBot" "https://adresa-vashoho-fidu" (докладніше в розділі Що означає „Unknown error“). Самого лише відкриття фіду в браузері недостатньо: браузер може завантажити фід, навіть якщо сервер блокує автоматизоване завантаження.
  2. Подивіться в History проєкту, яка помилка повторюється. Якщо це конкретне повідомлення (401, 403, 404, 500, 502, 503 або 504), знайдіть його в таблиці вище. Якщо це „Unknown error“, дійте за розділом Що означає „Unknown error“.
  3. Перевірте білий список IP-адрес. Mergado завантажує вхідний фід з адреси 81.31.39.112. Якщо ви використовуєте розширення, додайте також їхні IP-адреси.
  4. Переконайтеся, що фід не захищено кількома способами одночасно. Поєднання білого списку й хешу в адресі – часте джерело проблем, зазвичай у фідів із Shoptet.
  5. Якщо ви використовуєте Cloudflare, налаштуйте виняток за окремою інструкцією. Самого лише додавання IP-адреси до білого списку там недостатньо.
  6. Напишіть своєму хостингу, якщо нічого з наведеного вище не допомогло. Зазначте, що йдеться про легітимне автоматизоване завантаження товарного фіду, і попросіть розблокувати IP-адресу 81.31.39.112. Додайте час, коли завантаження перестало працювати.
  7. Зверніться до нашої підтримки, якщо не впевнені. Напишіть на mergado@mergado.com і додайте посилання на проєкт, адресу фіду та час, коли виникла проблема.

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

Чи означає помилка завантаження, що я втрачу дані на виході?#

Ні. Якщо завантаження не вдасться, Mergado залишить дані з останнього успішного імпорту – якщо такий уже відбувся. Вихідний фід залишиться доступним, але міститиме старішу інформацію, доки завантаження знову не вдасться. Якщо фід не вдалося завантажити жодного разу (наприклад, у щойно створеному проєкті), даних на виході поки що немає.

Чому фід не завантажується, хоча в браузері він працює?#

Браузер і Mergado звертаються до фіду по-різному. Mergado завантажує фід автоматизовано – за допомогою інструмента curl з ідентифікацією MergadoBot. Браузер уміє обробляти JavaScript і перевірки безпеки, автоматизоване завантаження – ні. Сервер також може розрізняти доступ за IP-адресою, а ваша відрізняється від адреси Mergado. Найчастіше за цим стоїть білий список IP-адрес, WAF або Cloudflare. Тому надійніший за браузер тест через curl, описаний у розділі Що означає „Unknown error“.

Чи стосується те саме правила Data file import? #

Так. Правило Data file import завантажує файл так само, як вхідний фід, тож і причини, і рішення однакові.

Як дізнатися, чи мене блокує хостинг?#

Надійна ознака – помилка типу тайм-аут, коли сервер узагалі не відповідає, хоча тест через curl з ідентифікацією MergadoBot з вашого комп’ютера проходить нормально. Якщо до того ж проблема з’явилася з дня на день без вашого втручання, блокування з боку хостингу дуже ймовірне. Зверніться до його підтримки.

Чому в History я бачу лише „Unknown error“, а не конкретний код?#

History показує конкретний опис лише для найчастіших помилок (401, 403, 404, 500, 502, 503 і 504). Інші помилки, наприклад 429, тайм-аут або проблема із сертифікатом, відображаються в ній загально як „Unknown error“ – точний код у такому разі бачить лише наша підтримка. Як перевірити причину самостійно, дізнаєтеся в розділі Що означає „Unknown error“.

Чи потрібно після розв’язання проблеми щось робити, щоб проєкт перегенерувався?#

Mergado автоматично намагається завантажити фід під час кожної наступної перегенерації. Якщо хочете перевірити результат одразу, запустіть перегенерацію в проєкті вручну.

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