Как шесть API складываются в одну очередь
У каждой площадки свой метод, свой статус «надо собрать» и свои часы cutoff. Очередь - это не ещё один кабинет, а нормализация сроков. Ниже - что именно читаем и куда это кладём.
Зачем нормализовать срок
Продавец думает «надо собрать сегодня». Площадки так не думают. WB отдаёт сборочное задание с датой доставки или без неё. Ozon - отправление со слотом отгрузки. Маркет - заказ «В обработке» и слот магазина. Мегамаркет - три разных дедлайна подряд: подтвердить, укомплектовать, отгрузить. Lamoda - cut-off на сортировочный центр. Авито Доставка - confirmTill или shipTill.
Если просто склеить сырые ответы API в одну ленту, вверху окажется то, что площадка назвала «новым», а не то, у чего окно уже закрывается. Очередь Треке сначала приводит срок к одним часам, потом режет окно: ближайшие 48 часов и уже просроченное. Дальше кабинет площадки живёт своей жизнью, мы его не дублируем.
Только чтение, иначе это другой продукт
Собрать заказ, сменить цену, скрыть карточку - методы записи. Для списка «что горит» они не нужны. На WB это уровень «Только чтение», на Озоне роль Admin read only, на Маркете доступы «Просмотр…». Полный ключ ближе к паролю: им можно сделать в кабинете почти всё. Поэтому форма принимает только то, чем можно читать. Пошагово по меню - на страницах ключей, зачем так - в разборе токена.
Что читаем с каждой площадки
| Вайлдберриз | Новые сборочные задания FBS, карточки с ошибками заполнения, остатки FBW и темп продаж за неделю. DBS, самовывоз и поставки FBW не берём: это другой процесс. |
|---|---|
| Озон | Отправления FBS и rFBS со сроком отгрузки, товары, которые не прошли модерацию или атрибуты, остатки 5 штук и меньше. Performance API и FBO не трогаем. |
| Яндекс Маркет | Заказы «В обработке» по всем магазинам кабинета, скрытые карточки и ошибки контента, остатки магазина. Без campaignId читаются все магазины, которые отдаёт токен. |
| Мегамаркет | Заказы DBS и «Закажи и забери» со сроком подтверждения, комплектации или отгрузки. Карточки и остатки API обратно не отдаёт - в очереди их не будет, это ограничение площадки, не «ещё не дописали». |
| Lamoda | FBS «ожидают отгрузки» до cut-off, номенклатуры с действием продавца, остатки своего склада. FBO Lamoda в очередь не входит. Каталог карточек читаем частично, до 200 артикулов. |
| Авито | Заказы Авито Доставки в ближайшие 48 часов, заблокированные объявления, остатки по первым объявлениям с учётом стока. Обычные объявления без доставки пропускаем. |
Как из этого получается строка очереди
Каждый ответ API становится задачей с видом: сборка, карточка или остаток. У сборки есть часы до срока. У карточки срока нет - она не продаётся, пока ошибка жива, поэтому в сводке это всегда «сегодня». У остатка ноль - «горит», прогноз «хватит на сутки» - «сегодня».
Список сортируется так же: просрок, сегодня, позже. Кнопка «В кабинет» открывает раздел площадки, где это действие вообще делается. Треке ничего не отгружает и не меняет карточку. Пустая лента различает три случая: нет ключей, ключи есть и ничего не горит, ключ не читается.
Почему это не «ещё одна интеграция 1С»
1С, МойСклад и fbs.tools закрывают сборку на складе: этикетка, ТСД, поставка. Мы не печатаем штрихкод и не ставим статус «собрано». Задача другая - не пропустить срок, пока продавец в соседнем кабинете. Поэтому в поиске «сборка FBS» нас нет и не будет: там фулфилмент и сканер. Кто держит два-три кабинета и вечером ловит штраф - тот узнаёт про очередь из чата или статьи, не из Wordstat.
Подключить кабинет: токен WB, ключ Ozon. Как не просрочить срок на разных площадках - отдельный разбор. 14 дней без карты.
Треке читает кабинеты каждые 15 минут и складывает горящее в одну очередь. Ключ только на чтение, 14 дней без карты. Начать бесплатно · как подключить площадку.