Перейти к содержанию

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 — служба не смогла опознать существующую карточку. Лишнюю карточку закрывают руками; правила поиска — в статье о создании новых клиентов.