Способи отримувати прайс від постачальника: посилання, пошта, FTP, API

23 хв

Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.

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

Ця стаття про те, як цього позбутися: що взяти у постачальника, щоб файл приїжджав сам, і який із чотирьох способів обрати. Сама загрузка — майстер, розмітка колонок, запуск імпорту й розклад — описана окремо, у статті Як завантажити прайс постачальника в Elbuz.

Вікно
«Список прайс-листів»: Довідники → Обробка прайс-листів
Право доступу
доступ до вікна плюс «Налаштування завантаження» і «файл із прайс-листом» — без обох секція «Джерело» не показується
Підготувати
доступи від постачальника: адресу файла, скриньку з паролем, дані FTP або логін до API; для пошти й FTP — ще й приклад файла

Де це у програмі

Усі параметри підключення живуть в одному місці — у картці джерела, у секції «Джерело». Там ряд із чотирьох плиток: «Файл», «Посилання», «E-mail», «FTP»; під обраною плиткою зʼявляються її поля. Перемкнути плитку можна будь-коли: вона тільки показує потрібний набір полів, нічого не стираючи й не переносячи.

Двох способів у цьому ряду немає. Готова інтеграція за API привʼязується один раз у майстрі — після цього в секції залишається одна плитка «API» замість чотирьох. Парсер сайту в картці не вибирається взагалі, це теж рішення майстра.

Меню
Довідники → Обробка прайс-листів → Список прайс-листів
Картка джерела
секція «Джерело» — плитки способів і всі поля підключення
Майстер нового джерела
крок 2 «Звідки»; готові інтеграції за API обирають тільки тут
Особистий кабінет постачальника
секція «Джерело», спосіб «Посилання» → «Налаштування доступу до особистого кабінету»
Поштова скринька
секція «Джерело», спосіб «E-mail» → кнопки «Додати» і «Налаштувати» біля списку скриньок
Параметри API
секція «Джерело» → «Налаштування параметрів API»; після вибору інтеграції в майстрі це вікно відкривається саме
Пункт «Список прайс-листів» у розділі «Довідники» → «Обробка прайс-листів»
1Список прайс-листів
  1. «Список прайс-листів» — пункт меню, який відкриває вікно зі списком джерел прайсів.

У вікна «Список прайс-листів» є ярлик на робочому столі. Усі інші вікна з цього переліку власного пункту меню не мають — вони відкриваються тільки з картки джерела або з майстра, і шукати їх у меню марно.

Що взяти у постачальника

Перелік того, про що просити постачальника, короткий і залежить від способу.

СпосібЩо взяти у постачальника
Файлсам файл: xls, xlsx, xlsm, xml, yml, csv, txt, tsv, json або архів
Посиланняадресу файла; логін і пароль, якщо він під HTTP-авторизацією; ключ доступу, якщо потрібен заголовок запиту
E-mailскриньку, куди постачальник шле прайс, і пароль від неї; адресу відправника або тему листа; плюс приклад файла
FTPадресу сервера, порт, імʼя користувача, пароль, повний шлях до файла; плюс приклад файла
APIлогін і пароль (токен), які видав постачальник; іноді ще ID пункту видачі або складу

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

Для готової інтеграції за API постачальнику часто потрібно віддати ще й нашу IP-адресу — інакше він не пустить запит. Її не треба шукати: вона написана прямо у вікні параметрів доступу, рядком «IP-адреса сервера Elbuz Jumper, яку необхідно передати постачальнику для надання доступу:».

Один спосіб, а не всі одразу

Тип джерела ніде не зберігається окремим полем. Програма розуміє спосіб по тому, які поля заповнені.

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

ПорядокСпрацьовує, коли заповненоРядок у журналі
1посилання на файл«Отримуємо файл за посиланням»
2скринька і умова відбору листів«Отримуємо файл ел. поштою»
3сервер FTP«Отримуємо файл за FTP», а якщо шлях до файла не заповнений — наступним рядком «Не вказано ім'я файлу в налаштуваннях FTP!»
4привʼязана інтеграція і адреса сервера API«Отримуємо файл за API»

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

Налаштуєте два способи — приїде файл того, що спрацював останнім: API перекриє FTP, FTP перекриє пошту, пошта перекриє посилання. Резерву з двох способів із цього не виходить, тому заповнюйте поля одного. Коли способів кілька, під плитками зʼявляється попередження зі списком і назвою переможця: «Налаштовано кілька способів отримання файлу: …. Під час завантаження вони виконуються поспіль і кожен перезаписує файл прайсу, тому імпортується файл останнього — "…"».

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

Щоб відмовитися від способу, очистіть його поля. Пароль так не прибрати: порожнє поле пароля не затирає збережений — ані у посилання, ані у FTP, ані в API. Зроблено це навмисно, щоб пароль не зникав при кожному випадковому збереженні форми, але про це треба знати.

Ряд плиток вибору способу отримання прайсу в секції «Джерело»
1Посилання (поточний спосіб)
2E-Mail
3FTP
  1. Плитка «Посилання» підсвічена — цей прайс отримується за прямим посиланням на файл.
  2. «E-Mail» — прайс приходить листом на поштову скриньку.
  3. «FTP» — прайс забирається з FTP-сервера постачальника.

Який спосіб ваш — залежить не від вас, а від постачальника: як він віддає прайс, так ви його й забираєте. Далі чотири розділи, по одному на кожен випадок; читати треба свій.

Постачальник дає посилання

Найпоширеніший спосіб автоматичного отримання. Постачальник виклав файл на своєму сайті чи в хмарі, дав адресу — програма щоразу качає її сама.

Поля способу «Посилання» в секції «Джерело» зберігаються автоматично, окремої кнопки збереження в них немає.

ПолеЩо вписати
«Посилання на файл»адресу, за якою лежить прайс
«Логін»імʼя користувача, якщо файл закритий HTTP-авторизацією
«Пароль»пароль до неї
«HTTP-заголовки запиту»ключ доступу, якщо постачальник вимагає його заголовком
«Закритий Google-файл (доступ за сервісною поштою)»прапорець для непублічного файла Google

Логін і пароль ідуть як звичайна HTTP-авторизація. Одне виключення: якщо для цього джерела заповнена форма входу до особистого кабінету, ці ж логін і пароль підуть у форму, а не в заголовок авторизації.

Заголовки запиту

Поле «HTTP-заголовки запиту» потрібне, коли постачальник видав ключ доступу й вимагає передавати його в запиті. Підказка під полем каже дослівно: «Необовʼязково. По одному заголовку на рядок у форматі «Ключ: Значення». Наприклад, якщо постачальник вимагає ключ доступу: X-API-Key: ваш_ключ або Authorization: Bearer ваш_токен».

Формат треба витримати буквально: рядок без двокрапки програма мовчки викидає. Ніякого попередження не буде — просто заголовок не піде, а постачальник відповість відмовою. Заголовків можна вписати скільки завгодно, по одному на рядок; вони додаються до тих, які програма надсилає завжди.

Користуються цим рідко. Але коли постачальник віддає прайс тільки за ключем, іншого шляху немає.

Посилання на хмарні сховища

Далеко не завжди постачальник дає пряме посилання на файл: частий варіант — адреса сторінки в хмарному сховищі. Вставляйте те посилання, яке він дав, — пʼять сервісів програма перетворює на пряме завантаження сама.

СервісЩо робить програма
Google Таблиціприбирає з адреси зайві хвости й дописує вивантаження у форматі xlsx
Google Дискперетворює адресу перегляду файла на адресу завантаження
OneDriveзамінює сторінку перегляду на сторінку завантаження
Яндекс.Дискбере пряму адресу через публічний інтерфейс сервісу; якщо не вдалося — пробує ще раз
cloud.mail.ruдістає адресу файла зі сторінки й окремо запитує тимчасовий ключ на завантаження

Google Таблиця — найчастіший випадок із усіх: 334 джерела на акаунтах беруть прайс саме звідти, це 41 % усіх посилань. Постачальнику достатньо відкрити доступ за посиланням, більше від нього нічого не потрібно.

З книги Google Таблиць завжди вивантажується вся книга. Номер аркуша з адреси прибирається, тож вказати конкретний аркуш посиланням не вийде — навіть якщо постачальник дав адресу з відкритим потрібним аркушем. Аркуш обирають уже в картці джерела, посиланням «Завантаження з аркушів» у шапці секції «Колонки».

Закритий файл Google

Коли постачальник не хоче відкривати таблицю всьому світу, він може дати доступ одній конкретній пошті. Для цього є прапорець «Закритий Google-файл (доступ за сервісною поштою)». Під ним розкривається підказка з адресою: «Файл Google Sheets/Docs не опубліковано та надано доступ конкретній пошті. Відкрийте файл у Google → «Налаштування доступу» → додайте вказану нижче сервісну пошту з правом «Перегляд». Після цього Elbuz завантажуватиме файл автоматично.»

Далі програма забирає файл не як анонімний відвідувач, а від імені службового облікового запису Elbuz, і ваш пароль від Google їй для цього не потрібен. Нативна таблиця Google при цьому вивантажується у xlsx.

Прапорець працює тільки для адрес Google Таблиць і Google Диска. Для файла в іншому сховищі він нічого не змінить.

Секція «Джерело» прайсу, що завантажується за посиланням на Google Таблицю
1Посилання на файл
2HTTP-заголовки запиту
3Закритий Google-файл
  1. «Посилання на файл» — адреса, звідки система бере прайс; тут це посилання на Google Таблицю.
  2. «HTTP-заголовки запиту» — довільні заголовки для постачальників, яким потрібен ключ доступу чи токен.
  3. Флажок «Закритий Google-файл» вмикає доступ через сервісну пошту для приватних таблиць.

Коли в посиланні дата

Частина постачальників щодня викладає новий файл із датою в назві: «price_16.08.2026.xlsx», «Прайс 16.08.2026.xls». Адреса щодня інша, і фіксоване посилання тут не допоможе.

Для цього в посилання вписують макрос дати: {get_date("d.m.Y")}. Замість нього підставиться поточна дата у вказаному форматі — форматом керує та сама схема, що й у звичайному записі дати: d — день, m — місяць, Y — рік із чотирьох цифр. Лапки всередині дужок можна не ставити, результат той самий. Другий, інший макрос у тому ж полі не підставиться — програма бере тільки перший.

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

Перевірка тут одна: чи не відповів сервер кодом 404. Сторінка-заглушка, яку сайт віддає з кодом 200, і відмова 403 вважаються «файл є» — програма спробує його скачати й розібрати. Спіткнеться вона вже пізніше, повідомленням «Цей тип файлу не підтримується для завантаження!». Тож якщо в журналі саме воно, а посилання начебто правильне, відкрийте адресу в режимі анонімного перегляду браузера: швидше за все, там сторінка входу або помилка, а не файл.

Вхід до особистого кабінету

Складніший випадок: прайс лежить у кабінеті постачальника, і без входу його не видно. Для цього є окреме вікно — «Налаштування доступу до особистого кабінету», воно відкривається посиланням із секції «Джерело» при способі «Посилання». Указують у ньому не логін і пароль, а назви полів форми входу на сайті постачальника; логін і пароль беруться з полів способу «Посилання», і вхід виконується, лише коли заповнені всі пʼять. У журналі це видно рядком «Вхід до особистого кабінету». Там же є поля для складніших сайтів — захисні токени й селектор CSS, якщо посилання на прайс спершу треба знайти на сторінці.

Це робота для того, хто вміє дивитися в код чужої сторінки. Якщо випадок ваш — простіше спершу попросити в постачальника або доступ до FTP.

Прайс приходить листом

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

Щоб це працювало, потрібні дві речі одразу: обрана скринька й збережена умова відбору листів. Одного без іншого не досить — і саме на цьому спотикаються найчастіше.

Скринька

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

Майстер має два кроки — «Провайдер» і «Дані». На першому — плитки пʼятнадцяти поштових сервісів: Gmail, Outlook / Office 365, iCloud Mail, Yahoo, Zoho Mail, GMX, Ukr.net, Meta.ua / i.ua, WP.pl, Onet.pl, Interia.pl, WEB.DE, Fastmail, AOL Mail і «Інший» → «Налаштувати вручну». Для кожного з них адреси серверів і порти вже прописані, вписувати їх руками не треба.

Восьми сервісам — Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL — майстер показує окрему підказку: «Для цього сервісу потрібен пароль застосунку (для сторонніх програм), а не звичайний пароль від акаунта.» Поруч посилання на офіційний посібник із налаштування. Звичайний пароль ці сервіси просто не приймуть, скільки б разів ви його не вписали.

На другому кроці — «Адреса пошти», «Пароль», «Імʼя відправника», а у фолді «Налаштування серверів (IMAP/SMTP)» — сервери, порти й прапорець «Використовувати SSL». Порт IMAP у всіх провайдерів 993, порт SMTP залежить від сервісу (здебільшого 465, у Outlook, iCloud і WEB.DE — 587), SSL увімкнено, папка вхідних INBOX — усе це підставляє плитка провайдера. Після кнопки «Підключити» програма одразу перевіряє зʼєднання й показує два рядки — «IMAP: …» і «SMTP: …» — зеленим або червоним. Скринька, створена майстром, тут-таки привʼязується до джерела.

Майстер підключення поштової скриньки — крок «Провайдер»
1Плитка Gmail
2Плитка «Інший»
  1. Gmail — після вибору система сама підставить сервери IMAP/SMTP.
  2. «Інший» — ручне налаштування сервера для провайдерів, яких немає в списку.
Майстер підключення поштової скриньки — крок «Дані» з підказкою про пароль застосунку
1Підказка про пароль застосунку
  1. Для Gmail потрібен окремий пароль застосунку — звичайний пароль облікового запису не підійде.

Умова відбору листів

Далі треба пояснити програмі, який саме лист вважати прайсом. Це робить конструктор під підзаголовком «Налаштування отримання прайс-листу». Підказка над ним каже: «Складіть умову фільтрації листів для отримання прайс-листа за ел. поштою. Обмежте отримання листів за датою, щоб не качати всю пошту від вибраного відправника. Натисніть кнопку "Додати" та виберіть умову.»

Поле умовиОператориЩо дає
«Адреса відправника»дорівнює, міститьнайнадійніший відбір, якщо постачальник шле з однієї адреси
«Тема повідомлення»містить, дорівнюєколи адрес кілька, а тема стабільна
«Вміст повідомлення»міститьпошук за текстом листа
«Кількість днів (не більше)»дорівнюєобмежує пошук останніми днями
«Імʼя файлу»містить, дорівнюєвідбір уже не листа, а вкладення в ньому

Перші чотири поля перетворюються на запит до поштового сервера: «Кількість днів» стає обмеженням «листи не старші за таку-то дату», решта — пошуком за відправником, темою й текстом. Оператор «містить» шукає входження, «дорівнює» — точний збіг. А от «Імʼя файлу» працює інакше: це не умова пошуку листів, а маска, за якою серед уже завантажених вкладень обирається потрібне.

Умова зберігається сама — приблизно за секунду після того, як ви перестали набирати, як і решта полів секції «Джерело». Кнопка «Зберегти» під конструктором потрібна тільки тоді, коли хочеться переконатися: вона записує умову одразу й показує тост «Умова збережена».

Пошта забирається лише тоді, коли заповнене й одне, й друге — обрана скринька і задана хоча б одна умова зі значенням. Якщо чогось із цього немає, під конструктором горить червоний рядок: «Умову відбору листів не задано. Завантаження прайс-листа з ел. пошти не виконуватиметься, доки не задано хоча б одну умову зі значенням.» — або, коли не обрана скринька, «Умову збережено, але поштову скриньку не вибрано. Завантаження прайс-листа з ел. пошти не виконуватиметься, доки не вибрано скриньку в полі "Адреса електронної пошти".»

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

Секція «Джерело» прайсу зі способом E-Mail: поштова скринька та умова відбору листів
1Поштова скринька для прайсів
2Умова відбору листів
3Кнопка «Зберегти»
  1. Поштова скринька, куди приходять прайси — звідси система забирає файл; кнопки «Додати» і «Налаштувати» додають новий ящик або редагують вибраний.
  2. Умова відбору листів перевіряє адресу відправника і обмежує вибірку останніми днями, щоб не завантажувати всю пошту.
  3. Кнопка «Зберегти» під конструктором записує умову відбору; «Очистити все» скидає її.

Що програма робить з листом

Знайшовши листи за умовою, програма бере рівно один — останній із них. Якщо постачальник надіслав два прайси за день, обробиться той, що прийшов пізніше. Це не налаштовується.

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

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

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

Файл лежить на FTP

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

ПолеЩо вписатиЗа замовчуванням
«Адреса FTP сервера»адресу сервера, наприклад ftp.mysite.comпорожньо
«Порт»порт, якщо постачальник назвав інший21
«SFTP»прапорець, якщо сервер захищенийвимкнено
«Імʼя користувача»логін від постачальникапорожньо
«Пароль»пароль від постачальникапорожньо
«Шлях до файлу»повний шлях, наприклад /public/price.xlsпорожньо
«UTF-8»вимикають, якщо сервер старий і не розуміє кирилиці в іменахувімкнено

Адресу можна писати як завгодно: префікси ftp:// і sftp:// програма прибере сама, як і зайве імʼя сервера на початку шляху. Кнопка «Перевірити підключення» дивиться на дві речі — чи пускає сервер і чи заповнене імʼя файла. У вікні «Інформація» зʼявиться «Підключення успішно встановлено!» зеленим, «Помилка: …» з текстом від сервера, а якщо сервер пускає, але «Шлях до файлу» порожній — червоне «Не вказано ім'я файлу в налаштуваннях FTP!». Якщо адреса чи порт порожні, буде «Заповніть поля!».

Порожній шлях перевірка ловить, а неправильний — ні: вона не пробує відкрити сам файл. Зелене «Підключення успішно встановлено!» цілком уживається з помилковим імʼям файла або не тією папкою. Тому після зеленої відповіді звірте шлях із тим, що дав постачальник, — разом з іменем файла, а не тільки папку. Якщо шлях не заповнений зовсім, прогін пише в журнал «Не вказано ім'я файлу в налаштуваннях FTP!» і лишає прайс на попередньому файлі.

Готові інтеграції за API

Готова інтеграція за API — це модуль, який ми написали для конкретного постачальника. Файла тут немає взагалі: програма звертається до сервісу постачальника й отримує товари, ціни та наявність напряму. Від вас потрібні тільки логін і пароль.

Зараз таких інтеграцій двадцять, і вони доступні на кожному акаунті. Обирають їх тільки в майстрі, на кроці «Звідки»: плитка «API», під нею підзаголовок «Готові інтеграції за API» й пояснення — «Постачальники, чиє API ми підтримуємо самі — оберіть потрібного, далі вкажете параметри доступу.» У списку видно назву, країну й домен постачальника.

КраїнаПостачальники
МіжнародніBigBuy, vidaXL, Yukatel
КазахстанAl-Style, ComPortal
МолдоваAccent, dmlink.md, eMag, Ultra
СловаччинаPHOENIX Zdravotnícke zásobovanie
УкраїнаAntey, artline.ua, BRAIN, DC Link, ELKO, ERC, MTI, Omega, Юг-Контракт, Юник Трейд

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

Майстер нового джерела — крок «Звідки», плитка API та список готових інтеграцій
1Плитка «API»
2Рядок постачальника в списку
3Пояснення під заголовком
  1. «API» — джерело запитує дані напряму в сервісу постачальника.
  2. Кожен рядок списку — назва постачальника, країна і домен його API.
  3. Готові інтеграції: обираєте постачальника — далі лишається вказати параметри доступу.

Серед готових інтеграцій — ERC, DC Link, BRAIN, Юг-Контракт, Al-Style, MTI та ELKO.

Коли ви обираєте постачальника зі списку, програма робить за вас чотири речі: підставляє адресу сервера API, ставить правильний формат прайсу, створює перелік параметрів запиту й заздалегідь розмічає адреси колонок — артикул, назву, ціну, РРЦ, наявність, категорію. Саме тому в майстрі для API немає третього кроку: колонок уже зроблено, перевіряти нема чого. Замість таблиці колонок майстер одразу відкриває вікно параметрів доступу.

Привʼязка інтеграції робиться один раз і назавжди. Перемкнути джерело з одного API на інше в інтерфейсі не можна — навіть якщо ви щойно обрали не того постачальника. Вихід один: створити нове джерело й обрати правильну інтеграцію в майстрі.

Вікно параметрів доступу

Вікно називається «Налаштування параметрів доступу до API», у заголовку — назва інтеграції та домен постачальника. Відкрити його пізніше можна кнопкою «Налаштування параметрів API» у секції «Джерело». Усередині три картки.

«Доступ» — «Посилання на сервер API», «Логін» і «Пароль (токен)». Адреса вже підставлена, від вас потрібні тільки облікові дані, які видав постачальник. Під полями — та сама IP-адреса нашого сервера, яку іноді просять передати постачальнику. Зберігається все автоматично, як каже пояснення в картці: «Адреса сервера API та облікові дані, які видав постачальник. Зберігаються автоматично.»

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

«Довідка постачальника» — кнопка «Отримати довідкові дані». Вона запитує в постачальника списки складів, категорій і брендів разом з їхніми ID, щоб ці ID можна було підставити в параметри запиту.

У шапці вікна є кнопка «Завантажити»: вона зберігає доступи й запускає імпорт. Запускає не в собі, а у вікні списку джерел — тож якщо ви його закрили, побачите «Відкрийте вікно «Прайс-листи постачальників» і запустіть завантаження джерела.»

Параметри запиту

Параметри в кожного постачальника свої. Кілька прикладів, щоб було зрозуміло, про що йдеться:

Вікно «Налаштування параметрів доступу до API» — параметри запиту та довідка постачальника
1Колонка «Параметр»
2Колонка «Значення»
3Кнопка «Отримати довідкові дані»
  1. «Параметр» — назва налаштування запиту (мова, склад, фільтри).
  2. «Значення» — те, що підставляється в запит до постачальника; змінюється і зберігається одразу.
  3. Кнопка завантажує довідкові списки складів, категорій і брендів постачальника з їхніми ID.
ПостачальникПараметрЗа замовчуваннямЩо означає
ERC«Код языка»uaмова каталогу; можливі значення ru, ua, ru-ru, uk-ua
ERC«Загружать курс валют»1підтягувати курс постачальника разом із цінами
BRAIN«Пункт видачі (ID)»29склад, наявність якого показувати
BRAIN«Обсяг прайсу»00 — лише склад обраного пункту видачі; 1 — увесь каталог постачальника
DC Link«Загружать курс валют»1те саме, що в ERC

Параметр «Обсяг прайсу» у BRAIN виглядає нешкідливим, але одиниця замість нуля означає «віддай увесь каталог». В опису параметра про це сказано прямо, і там же попередження: це не фільтр «лише в наявності». На одному з акаунтів така правка перетворила прайс на 35 МБ у файл на 255 МБ і 268 тисяч позицій. Якщо не впевнені — лишайте значення за замовчуванням.

Коли довідкові дані порожні

Кнопка «Отримати довідкові дані» працює не в усіх інтеграцій: із двадцяти активних довідника не мають девʼять — ERC, DC Link, Юг-Контракт, BigBuy, Antey, vidaXL, artline.ua, dmlink.md і PHOENIX. Вікно так і пише: «У цієї інтеграції немає довідкових даних: постачальник не віддає списки складів, категорій та інших значень для параметрів запиту. Заповніть параметри вручну за документацією постачальника.» ID складу чи пункту видачі в такому разі запитують у самого постачальника.

Частина інтеграцій віддає більше, ніж прайс: категорії постачальника, характеристики товарів або фотографії — вони приїжджають окремими файлами поруч із прайсом. А ERC і DC Link при увімкненому параметрі «Загружать курс валют» передають ще й свій курс, який підставляється в ціни.

У журналі прогону робота за API видно рядками «Підключення до API сервера» і «Отримано файл: ‹розмір› МБ». Якщо постачальник відмовив, у журнал потрапить «Помилка API постачальника: ‹причина›» — після двокрапки стоїть дослівна відповідь постачальника, і читати треба саме її.

Коли файл не приїхав

Невдала спроба скачати файл прогін не зупиняє. Це головне, що варто знати про цей розділ, і воно однакове для всіх причин: сервер не відповів, посилання віддало 404, FTP відмовив, закритий файл Google не віддався, у скриньці немає листів. Програма пише причину в журнал, доходить до кінця списку способів і далі поводиться так, ніби нового файла просто немає.

А немає нового файла — беруть старий. У журналі зʼявляється «Для завантаження не отримано новий файл, використовується попередній», наступним рядком «Читання даних із файлу: ‹імʼя›», прогін позначається помилкою. Але товари при цьому оновлюються — зі вчорашніх даних. Ціни в системі «замруть» на позавчорашніх, і в інтерфейсі це виглядає як звичайний завершений прогін: побачити різницю можна тільки в журналі.

Прогін уривається лише в одному випадку — коли файла немає взагалі, ні свіжого, ні попереднього. Тоді останній рядок журналу: «Для завантаження не знайдено файл: ‹імʼя›».

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

Чого підключення не робить

  • Не змушує постачальника викласти файл. Програма вміє забрати прайс сама, але не вміє його створити. Немає нового файла — імпорт пройде на вчорашньому й позначить прогін помилкою.
  • Не дає резерву з двох способів. Усі налаштовані способи виконуються підряд, кожен перезаписує файл попереднього. Другий спосіб — не страховка, а перебивання першого.
  • Не перевіряє, чи існує файл на FTP. Кнопка «Перевірити підключення» перевіряє доступ до сервера й те, чи заповнене імʼя файла. Неправильний шлях вона покаже зеленим.
  • Не перемикає готову інтеграцію на іншу. Привʼязка робиться один раз; щоб змінити постачальника API, потрібно нове джерело.
  • Не обирає аркуш книги Google Таблиць. Посилання завжди дає всю книгу; потрібний аркуш вказують у картці, посиланням «Завантаження з аркушів».
  • Не забирає більше одного листа за прогін. Береться останній лист, що підійшов під умову. Два прайси за день — обробиться пізніший.

Що робити, коли файл не приходить

Розбір частих проблем із отриманням файла
Що ви бачитеЧому такЩо зробити
«Неможливо отримати посилання на файл!» У посиланні є макрос дати, і за жодною з шести дат — сьогодні й пʼять попередніх днів — сервер не віддав файл (перевіряється тільки код 404). Без макроса дати це повідомлення не зʼявляється Відкрийте адресу з підставленою датою в браузері та звірте формат дати з тим, як постачальник називає файли (про дату в посиланні)
«Для завантаження не знайдено файл: ‹імʼя›» Немає ні свіжого файла, ні попереднього Перевірте, що спосіб налаштований повністю: пошті потрібні скринька і умова, FTP — сервер і шлях, API — адреса і логін (про способи)
«Для завантаження не отримано новий файл, використовується попередній» Жоден налаштований спосіб не приніс нового файла; товари оновилися зі вчорашнього, прогін позначено помилкою, але дійшов до кінця Подивіться рядком вище, який спосіб відпрацював і чим закінчився; якщо причина не в налаштуваннях — файла немає у постачальника (коли файл не приїхав)
«Не вказано параметри доступу до поштового сервера (IMAP) для отримання прайс-листів з ел. пошти.» У обраної скриньки не заповнене щось із доступу : адреса сервера, порт, імʼя користувача або пароль Натисніть «Налаштувати» біля списку скриньок і дозаповніть (про скриньку)
«За заданим фільтром немає листів! Обробляємо попередній файл.» Умова відбору не знайшла жодного листа Послабте умову: збільште «Кількість днів», замініть точний збіг теми на «містить» (про умову)
«Не отримано файл із прайс-листом для завантаження даних. (‹маска›)» Лист знайшовся, але вкладення не підійшли під маску «Імʼя файлу» Приберіть умову за іменем файла або замініть «дорівнює» на «містить» (про умову)
«IMAP Помилка: ‹текст›» після кнопки «Підключити» Поштовий сервер не пустив програму у скриньку Для Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL потрібен (про скриньку)
«Вкажіть адресу пошти та пароль.» У майстрі скриньки не заповнено адресу або пароль Заповніть обидва поля на кроці «Дані» (про скриньку)
«Вкажіть IMAP-сервер (або оберіть провайдера).» Обрано «Інший», а сервер не вписаний Впишіть сервер вручну або поверніться й оберіть провайдера плиткою (про скриньку)
«Помилка: ‹текст сервера›» у вікні «Інформація» Сервер FTP відмовив у підключенні Звірте адресу, порт, логін і пароль; якщо сервер захищений — увімкніть прапорець «SFTP» (про FTP)
«Заповніть поля!» Натиснули «Перевірити підключення», а адреса сервера або порт порожні Заповніть їх і повторіть перевірку (про FTP)
«Підключення успішно встановлено!», а файл усе одно не приходить Перевірка не пробує відкрити сам файл: імʼя вписане, але вказує не на той файл або не на ту папку Звірте «Шлях до файлу» з тим, що дав постачальник, і подивіться журнал прогону (про FTP)
«Не вказано ім'я файлу в налаштуваннях FTP!» Сервер FTP заповнений, а «Шлях до файлу» — ні. Рядок показує і перевірка підключення, і журнал прогону Вписати повний шлях разом з іменем файла. Доки він порожній, прайс лишається на попередньому файлі (про FTP)
«Помилка API постачальника: ‹причина›» Постачальник відмовив; текст після двокрапки — його дослівна відповідь Найчастіше це невірний логін чи пароль або наша IP-адреса не додана постачальником до дозволених (про параметри доступу)
«Відкрийте вікно «Прайс-листи постачальників» і запустіть завантаження джерела.» Натиснули «Завантажити» у вікні параметрів API, а вікно списку джерел закрите Відкрийте список джерел і запустіть імпорт звідти (про параметри доступу)
«Оберіть постачальника зі списку готових API» У майстрі обрано тип «API», але постачальника в списку не відмічено: жодна до джерела не привʼязана Оберіть рядок у списку «Готові інтеграції за API» (про інтеграції)
«Сервісний акаунт не має доступу до файлу. Поділіться файлом Google з поштою: ‹адреса› (право «Перегляд»).» Прапорець закритого файла Google увімкнено, а доступу до файла не має Відкрийте файл у Google → «Налаштування доступу» → додайте показану адресу з правом «Перегляд» (про закритий файл)
«Доступ до закритих Google-файлів не налаштовано на платформі. Зверніться до підтримки.» На платформі немає ключа службового облікового запису Напишіть у підтримку — самостійно це не налаштовується (про закритий файл)
«Цей тип Google-документа не підтримується для імпорту прайсу. Використовуйте Google Таблиці (Sheets).» За посиланням не таблиця, а документ або презентація Google Попросіть у постачальника саме Google Таблицю (про закритий файл)
«Не вдалося розпізнати посилання Google. Перевірте коректність посилання на файл.» З адреси не вдалося дістати ідентифікатор файла Скопіюйте посилання заново з адресного рядка відкритого файла (про закритий файл)
«Помилка під час завантаження файлу з Google.» Інша помилка Google; подробиці дописуються до тексту Повторіть прогін; якщо повторюється — у підтримку (про закритий файл)

Хто має доступ

Вікно «Список прайс-листів» відкривається тільки тим, кому адміністратор дав до нього доступ. Але для параметрів підключення цього замало: секція «Джерело» показується лише за двох прав одразу — «Налаштування завантаження» і «Налаштування завантаження: файл із прайс-листом». Немає одного з них — секції в картці просто не буде.

Розділення тут не формальне: у секції «Джерело» лежать паролі від пошти й від FTP постачальника. Менеджеру, який працює із завантаженими товарами, ці права можна не давати взагалі — вкладка «Завантажені товари» відкривається окремим правом, і паролів він не побачить. Вікна, що відкриваються з картки, поділені навпіл: форма поштового сервера й вікно доступу до особистого кабінету перевіряють власне право, а майстер підключення скриньки та вікно параметрів API — ні. Тобто хто зайшов у секцію «Джерело», той відкриє і майстра, і параметри API незалежно від решти прав.

Щоб файл приходив сам

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

Чи можна налаштувати кілька способів про запас?

Ні, резерву з цього не вийде. Імпорт виконує всі налаштовані способи підряд — посилання, пошту, FTP, API, — і файл лишається від того, що спрацював останнім. Картка це показує: підсвічує плитку переможця, а під плитками пише, скільки способів налаштовано і чий файл піде в роботу. Налаштовуйте один спосіб.

Посилання відкривається у браузері, а програма файл не бачить. Чому?

Найчастіше сайт віддає програмі не файл, а сторінку — вхід, капчу або помилку — з успішним кодом відповіді. Для програми це «файл є», і спотикається вона вже на розборі: «Цей тип файлу не підтримується для завантаження!». Відкрийте адресу в режимі анонімного перегляду браузера: якщо там сторінка входу, потрібні логін і пароль або доступ до особистого кабінету.

Скільки листів програма забирає за один прогін?

Рівно один — останній із тих, що підійшли під умову відбору. Якщо постачальник надіслав за день два прайси, обробиться пізніший. Змінити це налаштуванням не можна.

Скриньку підключив, а листи не забираються. Що не так?

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

Чи можна перемкнути джерело на іншу інтеграцію за API?

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

Потрібного постачальника немає серед готових інтеграцій. Що робити?

Домовлятися про файл: пряме посилання, лист із вкладенням або доступ до FTP. Ці три способи працюють з будь-яким постачальником і не потребують нічого з нашого боку. Готові інтеграції пишемо ми, і додаються вони окремо.

Навіщо для пошти й FTP потрібен приклад файла?

За ним розмічаються колонки: програмі треба один раз побачити, де в цьому прайсі назва, ціна й артикул. Параметри отримання — скринька або сервер — вказуються потім, у картці джерела.

Суміжні теми

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