Як підключити DC Link за API: метод прайсу, зірочки наявності й резерв

10 хв

Elbuz сам забирає з DC Link B2B прайс з доларовою ціною дилера, РРЦ і наявністю, а за потреби — повні картки товарів з описом, характеристиками й фото тим самим входом.

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

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

З чого почати: попросіть у менеджера DC Link логін і пароль API.

Що вміє інтеграція з DC Link

Код і назва підкатегорії DC Link приходять у кожному товарі, їх зіставляють із вашими категоріями як у будь-якого прайсу (зіставлення категорій).

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

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

Що взяти в DC Link: один вхід на прайс і картки

  1. Логін і пароль API. Розділ API є на порталі DC Link B2B (online.dclink.ua), там же описані методи «API 2.0 (рекомендоване)». Логін і пароль видає DC Link; немає — запитайте свого менеджера.
  2. Для повних карток окремий вхід не потрібен. Сервіс карток DC Link (cerebro.dclink.ua) приймає ті самі логін і пароль, і програма бере їх сама.
  3. ID складу — тільки для резерву з одного складу. Довідки DC Link не віддає, ID уточнюйте в менеджера.
  4. IP-адресу передавати не обовʼязково. Якщо менеджер DC Link попросить адресу, звідки йтимуть запити, — вона у вікні параметрів доступу (де саме).

Які параметри запиту DC Link задати

У майстрі нового джерела на кроці «Звідки» оберіть плитку «API» і DC Link у списку. Адресу https://api.dclink.com.ua/api/, формат XML і колонки програма ставить сама (що робить привʼязка). У «Логін» і «Пароль (токен)» впишіть логін і пароль API DC Link. Кнопка «Отримати довідкові дані» для DC Link показує лише «У цієї інтеграції немає довідкових даних…».

ПараметрЗа замовчуваннямЩо робить
«Повна назва товару»0передається в DC Link як є; на наших зразках прайсу набір тегів від нього не змінювався
«Колонки з ціною»11 — у прайсі зʼявляються додаткові ціни: PriceOpt, RetailPrice, PricePartner, PriceMin
«Завантажувати курс валют»11 — перед завантаженням брати в DC Link безготівковий курс долара (докладніше)
«Метод для отримання товарів»GetBnPricesяким методом брати прайс: GetPrice, GetBnPrices або GetPriceAll (докладніше)
«Тип компанії»east,fcu,opt,dcпередається в DC Link параметром firm як є; в описі методу GetBnPrices DC Link називає ключі компаній east і fcu
«Повні картки товарів»11 — опис, характеристики й усі фото з сервісу карток DC Link (докладніше)
«Обʼєднувати значення характеристик»11 — характеристики з однаковою назвою стають однією: «Сокет: LGA1200 / LGA1700» замість двох рядків «Сокет»; 0 — кожне значення окремим рядком
«Розділювач значень характеристик»/символ між обʼєднаними значеннями; для коми чи крапки з комою пробіл ставиться тільки після символу: «INTEL, AMD»
«Замовлення: склад DC Link (ID)»порожньорезерв лише з цього складу; порожньо — DC Link бере товар зі своїх складів по черзі (резерв)
Картка «Параметри запиту» у вікні налаштування параметрів доступу до API DC Link
1Метод для отримання товарів
2Повні картки товарів
3Замовлення: склад DC Link (ID)
  1. Метод для отримання товарів: GetPrice — товари в наявності.
  2. Повні картки товарів: 1 — опис, характеристики й фото з DC Link тим самим входом.
  3. Замовлення: склад DC Link (ID): порожньо — склади по черзі.

У джерел, підключених раніше, картки вимкнені (0), а склад резерву не задано. У нових джерел картки увімкнені одразу.

Скільки товарів брати: GetPrice, GetBnPrices чи GetPriceAll

«Метод для отримання товарів» вирішує, яким методом DC Link віддає прайс. Програма розуміє три значення:

ЗначенняЩо приходить
GetPriceтовари, які є в наявності; на нашому тестовому обліковому записі — 3 740 позицій, файл за кілька секунд
GetBnPricesтовари, які є в наявності й доступні до виписки за безготівковим розрахунком; на тому ж записі файл прийшов порожнім
GetPriceAllусе, що є в наявності, плюс товари в дорозі та під замовлення; на тому ж записі — 6 295 позицій

Прайс приходить без товарів, а інших помилок немає — поставте GetPrice: GetBnPrices залежить від умов вашого договору з DC Link. Будь-яке інше значення програма замінює на GetPrice. Товари в дорозі та під замовлення з GetPriceAll повних карток не отримують.

Що приходить від DC Link: назви, ціни й курс

Прайс DC Link — XML-файл у кодуванні windows-1251, де кожен товар записаний тегом <Product> з вкладеними тегами. Колонки, які привʼязка розмічає сама:

Тег DC LinkПоле в ElbuzПримітка
Code«Артикул контрагента», «ID товару (рядок UUID)», а також «Штрихкод JAN»код товару DC Link; за ним товар іде в резерв, підбирається повна картка й привʼязуються фото
Article«Артикул виробника»
Name«Найменування»назва російською (як взяти українську)
Vendor«Виробник»
EAN«Штрихкод EAN»
PriceUSD«Ціна»ціна дилера, завжди в доларах
RRP_UAH«Ціна РРЦ»роздрібна ціна, у гривнях
Availability«Статус наявності (з прайсу)»зірочки від * до ***** (наявність)
Subcategory«Категорія з прайсу»назва підкатегорії
CategoryID«ID категорії (рядок UUID)»для зіставлення категорій
Warranty«Гарантія»у місяцях

Інші теги — NameUA, DDP, UCGFEA (код УКТ ЗЕД), RRP, PriceType, Price, а з «Колонки з ціною» = 1 ще PriceOpt, RetailPrice, PricePartner, PriceMin — беруться вільним рядком колонок: впишіть назву тега в «Адреса стовпця».

Назва українською. DC Link віддає дві назви: NameUA — українською, Name — російською, і привʼязка ставить у «Найменування» Name. Потрібна українська — впишіть у рядку «Найменування» адресу NameUA і запустіть завантаження.

Ціна, РРЦ і курс DC Link

Ціна дилера PriceUSD завжди в доларах, РРЦ RRP_UAH — у гривнях. У секції «Колонки» в рядку «Ціна» має стояти USD, у рядку «Ціна РРЦ» — UAH; нові джерела розмічаються так самі. Мультивалюта не потрібна: PriceType зі значенням UAH стосується тега Price, а не PriceUSD — ми перевірили на 746 таких товарах.

Якщо «Завантажувати курс валют» = 1, перед кожним завантаженням програма бере в DC Link безготівковий курс і записує його в доларові рядки «Ціна» і «Ціна РРЦ» секції «Колонки». Окремого рядка в журналі про це немає. Вимкнули параметр — лишиться останній курс DC Link, змініть його вручну.

Як отримати повні картки товарів DC Link

Опис, характеристики й фото DC Link віддає не в прайсі, а з окремого сервісу карток, де код товару той самий. Тому програма звʼязує їх без зіставлення:

  • Пачками по тисячі товарів за запит. На нашому тестовому джерелі опис отримали трохи більше половини товарів — для решти контенту в DC Link немає. Фото й характеристики приходять для більшості.
  • Окремо від прайсу. Кнопка «Завантажити» картки не стирає.
  • Нові товари — щоразу, збережені картки — раз на 30 днів. Списку змін сервіс DC Link не віддає, тож виправлена вчора картка оновиться в Elbuz, коли їй мине 30 днів.
  • Тільки для товарів у наявності (зірочки в Availability).

Як увімкнути

  1. Увімкніть картки: у параметрах запиту в рядку «Повні картки товарів» впишіть 1.
  2. За бажанням — як показувати характеристики: «Обʼєднувати значення характеристик» і «Розділювач значень характеристик». Змінили — завантажте прайс ще раз, картки заново не качаються.
  3. Завантажте прайс кнопкою «Завантажити». Рядки журналу «Повні картки DC Link: ‹скільки› з ‹скільки›» показують хід заповнення.
  4. Перевірте опис, характеристики й фото в товарах прайсу.
Дані з картки DC LinkКуди в прайсіАдреса колонки
повний опис (з HTML-розміткою)«Опис повний»content_description
вага, ширина, висота, глибина«Вага», «Ширина», «Висота», «Довжина»content_weight, content_width, content_height, content_depth
усі фотофото товару прайсуокремої адреси не треба
усі характеристикихарактеристики товару прайсутег param, окремої адреси не треба

Штрихкод для DC Link береться з прайсу, тегом EAN. Адреси для карток розмічені в усіх джерелах DC Link, власні адреси програма не змінює. Перемикачі «Завантажувати атрибути» і «Завантажувати фото» (секція «Товари», блок «Які дані завантажувати») вмикаються самі разом із картками.

Фото без карток. Програма бере в DC Link список посилань на фото й привʼязує їх до товарів за кодом. З картками товар, у якого картка є, отримує фото з неї, решта — зі списку.

Під час додавання товару з прайсу в базовий каталог картка приходить заповненою (характеристики товарів, фото товарів). Якщо сервіс карток відмовив, у журналі — «Повні картки DC Link не отримано (…) — прайс завантажується з уже збереженими картками»; нові картки доберуться наступного разу.

Як не втратити наявність: зірочки DC Link

Наявність DC Link віддає тегом Availability зірочками: від * до *****. Це градація, а не штуки, і що означає кожна кількість зірочок, DC Link у документації API не пише. Метод GetPrice віддає тільки товари в наявності, тож зірочки є в кожного товару.

Без власного правила наявності товари з двома–пʼятьма зірочками отримують «Немає на складі». Стандартний статус «В наявності» шукає точний збіг, а в його списку тільки одна зірочка *. Тож товари, яких на складі більше, йдуть як відсутні.

Додайте на вкладці «Наявність» джерела правило для статусу «В наявності» зі значеннями *, **, ***, ****, ***** або з одним символом * і пошуком за входженням (наявність товару в прайсі постачальника).

Як поставити резерв у DC Link

Замовлення постачальнику, створене в Elbuz на контрагента DC Link, відправляється в DC Link з документа, і DC Link ставить справжній резерв. Склад — рядок «Замовлення: склад DC Link (ID)» у параметрах запиту; програма бере його з першого активного API-джерела контрагента документа.

Що відбувається після натискання

Відкрийте документ «Замовлення постачальнику», натисніть «Відправити постачальнику» і підтвердіть. Програма за один запит ставить резерв:

  1. позиції документа йдуть за кодом DC Link; однакові товари складаються в один рядок;
  2. в описі резерву стоїть «Elbuz ‹номер документа›» — за ним резерв легко знайти на порталі;
  3. склад не задано — DC Link бере товар зі своїх складів по черзі; задано — тільки з цього складу.

DC Link створює на кожен склад окрему видаткову накладну. Номери всіх накладних записуються в документ через кому, статус від постачальника — «Резерв», результат — у повідомленні й історії документа.

Документ «Замовлення постачальнику» з відкритим меню біля кнопки «Відправити постачальнику»
1Відправити постачальнику
2Оновити статус від постачальника
  1. Резерв у DC Link.
  2. Резерв / Відвантажено з ТТН / В обробці.

Коли зарезервовано не все

Те, що DC Link не зміг зарезервувати, він повертає з причиною, решта лишається в резерві. Програма показує «Не зарезервовано: ‹товар› — ‹кількість› шт., ‹причина›», статус від постачальника — «Резерв частково». Причини:

  • «немає в наявності» — товару немає, або немає на складі з «Замовлення: склад DC Link (ID)»;
  • «увесь під резервами» — товар є, але весь уже зарезервований;
  • «товар DDP не можна додати до резерву з доларовим товаром» і навпаки — такі позиції відправте окремим замовленням.

Не зарезервовано нічого — повідомлення «DC Link нічого не зарезервував: …», номер у документ не записується.

Коли нічого не відправляється

  • у позиції немає коду DC Link — товар не зіставлений з прайсом DC Link; назви таких позицій є в повідомленні (зіставлення товарів);
  • у документі немає позицій з кількістю більше нуля.

Повтор не ставить другий резерв. Якщо номер накладної DC Link уже є в документі, повторне натискання показує стан наявного резерву з поміткою «Резерв уже поставлено в DC Link — повторно не створено.».

Стан резерву й ТТН

Стан сам не оновлюється — тільки пунктом «Оновити статус від постачальника» в меню біля кнопки відправки. Він перевіряє кожну накладну:

  • «Резерв» — накладна ще в резерві;
  • «Відвантажено» з номером ТТН — DC Link її відвантажив; ТТН записується в документ, якщо поле номера накладної порожнє;
  • «В обробці» — резерв прийнято в роботу, відвантаження ще немає.

Відправку резерву ми перевірили на імітації сервера DC Link, а не на справжньому резерві. Перше замовлення відправте невелике й звірте результат на порталі DC Link.

Сценарії

Додавати товари DC Link у каталог одразу з описом і фото

Що зробити. «Повні картки товарів» = 1, завантаження джерела, далі — додавання товарів з прайсу в базовий каталог, як звичайно.

Що вийде. Нові товари в каталозі отримують опис, характеристики й фото з DC Link. Наступні завантаження оновлюють ціни й наявність і добирають картки для нових товарів.

Продавати й товари в дорозі та під замовлення

Що зробити. «Метод для отримання товарів» = GetPriceAll, правило наявності для зірочок — як у розділі про наявність.

Що вийде. У прайсі товари в наявності й ті, що в дорозі чи під замовлення; останні — без повних карток.

Резервувати тільки з одного складу

Що зробити. Уточніть у менеджера DC Link ID свого складу й впишіть його в «Замовлення: склад DC Link (ID)».

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

Що робити, коли прайс DC Link порожній або не приїхав

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
Файл приїхав, а товарів у прайсі нуль «Метод для отримання товарів» = GetBnPrices, а безготівкових позицій для вашого запису DC Link не віддає Поставити GetPrice (метод)
«Помилка API постачальника: …Access denied. Authorization failed…» Неправильний логін чи пароль API Перевірити логін і пароль у «Налаштування параметрів доступу до API» (коли прайс не приїхав)
Частина товарів у наявності йде як «Немає на складі» Стандартний статус впізнає тільки одну зірочку *, а не **…***** Додати правило наявності для всіх зірочок (наявність)
Назви товарів російською У «Найменування» стоїть адреса Name Поставити NameUA (назва українською)
Статус «Резерв частково» Частину позицій DC Link не зарезервував — причина в повідомленні Дозамовити відсутнє в іншого постачальника або окремим замовленням (коли зарезервовано не все)
«Немає коду DC Link у позицій…» Товар документа не зіставлений з прайсом DC Link Зіставити товар з прайсом DC Link (зіставлення товарів)

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

У журналі завантаження робота з DC Link видно рядками «Отримуємо файл за API», «Підключення до API сервера» й «Отримано файл: ‹розмір› МБ». На неправильний логін чи пароль DC Link відповідає «Access denied. Authorization failed. Please check credentials!» — цей текст стоїть у рядку «Помилка API постачальника: …», а далі «Дані не отримані, буде відображено попередній список товарів».

Товари прайсу тоді лишаються вчорашніми (чому так). Перевірте логін і пароль у вікні параметрів доступу.

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

Чому прайс DC Link приходить порожнім?

Найчастіше через «Метод для отримання товарів» = GetBnPrices: якщо безготівкових позицій для вашого запису немає, DC Link віддає порожній список. Поставте GetPrice.

DC Link виправив опис товару — чому в Elbuz старий?

Збережені картки оновлюються раз на 30 днів: списку змін DC Link не віддає. Нові товари отримують картки при кожному завантаженні (повні картки).

Чи можна зняти або перенести резерв DC Link з Elbuz?

Ні. Програма ставить резерв і показує його стан; зняти резерв чи перенести товар між накладними можна на порталі DC Link.

Як отримати назви DC Link українською?

У секції «Колонки» джерела DC Link у рядку «Найменування» замініть адресу Name на NameUA і запустіть завантаження.

Чому кількість товару DC Link не точна?

DC Link у прайсі віддає не штуки, а зірочки від однієї до пʼяти. Кількість рахується за правилами статусу наявності (докладніше).

Суміжні теми

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