Перейти до змісту

Prom Оновити замовлення

Головна служба інтеграції: приносить замовлення покупців із Prom у ERPJS. Кожен запуск проходить по замовленнях магазину і робить так, щоб у базі вони були — з клієнтом, товарними рядками і статусом. Далі з такими замовленнями працюють як зі звичайними: відвантаження, рахунок, оплата.

Де шукати: Модулі → Prom → Служби → Prom Оновити замовлення

Розбір на прикладі

Вікно служби

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

Що робить один запуск

  1. Тягне замовлення магазину з Prom (порціями, всі).
  2. Знаходить або створює клієнта: пошук за кодом «серія + телефон», телефонами картки, email; не знайшло — нова картка за правилами «Prom Створення нових клієнтів». Телефон у коді — цифрами (з довгого номера — останні десять), тож «+380671234567» і «0671234567» ведуть до тієї самої картки. Порожнім телефоном чи email служба не шукає, а без телефону нової картки не створює: замовлення, для якого не знайшлося картки за email, пропускається.
  3. Знаходить або створює замовлення — документ «Рахунки клієнтам»: воно впізнається серед документів класу PROM за номером замовлення покупця (номер із Prom лягає в поле «№ замовлення клієнта»; пробіли по краях і нулі попереду не заважають). Тим самим правилом статус їде назад на Prom. Звичайне замовлення з тим самим номером не заважає створити замовлення Prom. Якщо документів класу PROM з цим номером кілька, служба не переписує жодного, не заводить для такого замовлення картку клієнта і називає номери Prom у попередженні «Не оновлено з Prom.ua замовлень: … — той самий номер замовлення Prom мають кілька замовлень класу PROM»: зайві документи виправляють руками. Нове замовлення отримує клас PROM і заповнену вкладку «Prom»: статус, нотатки покупця, адресу і вартість доставки, способи оплати й доставки; склад — зі «Prom Налаштувань» (якщо там кілька складів через кому — перший). Замовлення, скасоване на Prom до першого завантаження, документом не стає й картки клієнта не заводить.
  4. Товарні рядки підбираються за артикулом: sku позиції Prom шукається серед кодів, штрихкодів і альтернативних кодів товару, як у рядку вікна замовлення; регістр літер не заважає. Кількість береться з замовлення покупця, назву, ПДВ і суми ставить ERPJS за тими самими правилами, що при ручному вводі, а ціна рядка — з Prom: документ збігається із замовленням покупця, прейскурант клієнта й знижки на завантажений рядок не діють. Ціна Prom містить ПДВ: якщо ціни документа без ПДВ, у рядок стає ціна без ПДВ, а сума рядка дорівнює замовленій. Ціна ERPJS лишається, якщо ціну Prom прочитати не вдалось або замовлення не в базовій валюті (валюта картки клієнта) — такі рядки називає попередження «Рядки замовлень Prom.ua лишились за ціною ERP — ціну Prom.ua не вдалось прочитати або замовлення не в базовій валюті (замовлення: артикул): …». Prom торгує в гривні, тож базова валюта компанії вважається гривнею.
  5. Оновлення: якщо замовлення в базі вже є, а на Prom воно мінялось пізніше, ніж у ERPJS, — служба перезапише його свіжими даними з маркетплейса. Проведене замовлення служба не переписує: у ньому оновлюється лише вкладка «Prom» (статус, нотатки покупця, адреса й вартість доставки, способи оплати й доставки), а товари, кількості й клієнт лишаються такими, як в ERPJS. Так само лише вкладку «Prom» служба оновлює в непроведеному замовленні, з якого вже щось відвантажено чи виставлено в рахунок: перезапис рядків обнулив би ці лічильники. Замовлення з тим самим номером, але з іншим класом, ніж PROM, служба не змінює.

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

Варто знати

  • Товар, якого немає в базі, у рядки не потрапить — служба пропустить позицію й назве її в попередженні «Рядки замовлень Prom.ua без товару (замовлення: артикул): …». Якщо не знайшовся жоден товар, нового документа й нової картки клієнта не буде (попередження «Не завантажено замовлення Prom.ua, жоден товар яких не знайдено: …»), а в наявному замовленні рядки лишаються. Тому каталоги тримають зшитими («Оновити ключі товарів») і з однаковими артикулами.
  • Не редагуйте промівське замовлення в ERPJS до його виконання без потреби: поки замовлення живе на Prom, чергове оновлення може перезаписати ваші правки даними маркетплейса.
  • Зміна статусу на вкладці «Prom» їде НАЗАД на маркетплейс — як це працює, описано в «Prom Статусах». Статус, що прийшов із Prom, назад не відправляється: їде лише зміна людиною у вікні.
  • Замовлення впізнається за номером Prom серед документів класу PROM: видалите його в ERPJS або зміните клас — наступний запуск створить знову.

Типові ситуації

«Налаштування Prom не заповнені». Порожній токен або хост у «Prom Налаштуваннях». Без складу служба відмовляє інакше — «Вкажіть склад у налаштуваннях Prom!»: цій службі потрібні і токен, і склад.

У замовленні менше рядків, ніж у покупця на Prom. Частина артикулів не знайшлась у базі — служба назвала їх у попередженні. Заведіть/вирівняйте товари і дочекайтесь наступного оновлення замовлення.

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