backgroundbackground
Назад
Назад

RN: Новый метод Поставок FBS

Обсуждение
-16
23386
# Заказы FBS
Обсуждение

Добавили метод получения ID сборочных заданий поставки. Используйте его вместо метода Получить сборочные задания в поставке, чтобы оптимизировать работу с поставками. Подробные данные сборочных заданий доступны в ответе отдельного метода.

Неактуальный метод Получить сборочные задания в поставке отключим 17 декабря.

-16
Комментарий

Я может чего-то не понимаю, но не бред ли? Раньше я мог получить сразу все данные для сборки на конкретную поставку. Теперь мне нужно выгружать список всех поставок за определенный период и в них искать перебором нужные заказы из нового метода. Так что ли?

+10
Комментарий

Довольно странная идея. Теперь придется вместо запроса на конкретно количество заказов делать запрос на 1000 и в этих 1000 искать по конкретной поставке, наоборот нагрузка возрастет

+9
Комментарий

Работая со сборкой FBS, магазину нужно:

1. Вывести список поставок, из которого можно выбрать то, что будем собирать.

2. И вывести заказы на сборку в эту конкретную поставку.

Сейчас в 1 приходится дергать метод получения заданий - просто потому, что в методе получения поставок нет одной-единственной цифры: количества заказов в ней. Что мешало добавить эту цифру и облегчить нагрузку на API - непонятно.

Теперь во 2 получается полный привет: угадай, с какого момента тебе нужны заказы, да не промахнись, и получи список из тысячи, чтобы выбрать из него сорок нужных. Или несколько списков, если не угадал. Тот, кто это натворил, вообще представляет, как идет работа по FBS?

+8

Ответы на комментарий

Кстати, дополнение по тому же пункту 1.

Мы формируем поставки по FBS простым отсчетом - по 40 заказов в поставку, один короб.

Пришел новый заказ: - запрашиваем список текущих поставок - и ПО КАЖДОЙ из них дергаем метод получения заказов в ней, чтобы определить, в которой из них еще нет 40 штук. Нет, это не обязательно одна последняя. В ЛК могли из уже укомплектованного короба выкинуть заказ на нулевой остаток, например.

Имеем ТЫСЯЧИ запросов в день, которых бы не было вовсе, будь в ответе метода списка поставок - количество заказов в каждой.

По новой схеме точно так же придется дергать API без конца и реальной необходимости.

+4
Комментарий

Старый метод надо оставить. Оба нужны

+10
Комментарий

Нужно для метода "Получить информацию о сборочных заданиях" сделать возможность указать массив orderId и сделать его POST Так же как в "Получить статусы сборочных заданий"

Метод "Получить информацию о сборочных заданиях" в текущей реализации - рудимент

+8

Ответы на комментарий

Чаще всего этот список orderId будет скопирован из ответа метода, запрашивающего заказы конкретной поставки.

То есть такой ключ в запросе тоже не помешает, но ID поставки там заведомо актуальнее.

+3
Комментарий

Ну это прям выстрел в ногу какой-то, а не оптимизация, чесслово. У нас полотно поставок, в каждую поставку по определенной логике кладется сборочное задание, чтобы определить куда что класть - нужно четко понимать что в поставке лежит на текущий момент. Очевидно, что для получения сборочных заданий диапазон дат будет указываться с большим запасом, чтобы точно не пропустить ничего. В итоге вместо одного запроса как было раньше, нам предлагается долбить АПИ по диапазону дат с пагинацией. Ну штош, хто мы такие чтоб удобно нам было)

+8
Комментарий
+8
Комментарий

Действительно сомнительная “оптимизация ”, у нас связь между ERP и заказами FBS устроена через этот метод, благодаря ему получали информацию о товаре в заказе и формировали заказ для склада, а теперь для всего этого нужно скостылить получение того же артикула из заказа через еще массу запросов с пагинацией, естественно большого периода. Вместо того, чтобы получить свои 500 заказов с инфой из поставки 1 запросом - будем перебирать ближайший период в поисках каждого id. Думаю, что старый метод необходимо оставить.

+6
Комментарий

Как теперь получить задания по идентификаторам? Нет же такого метода.

+1
Комментарий

Почитал комментарии - приуныл и пошел править наш код.

И не понял, в чем проблема. По сути, стало меньше запросов ведь.

Формирование поставки:

  1. Получаем новые сборочные задания - все по-старому (/api/v3/orders/new).
  2. Создаем поставку - все по-старому (/api/v3/supplies)
  3. Добавляем сборочные задания в поставку новым методом - стало в 100 раз меньше запросов. По-моему отлично. (/api/marketplace/v3/supplies/{supplyId}/orders)

Сборка:

  1. Получаем задания в поставке новым методом (/api/marketplace/v3/supplies/{supplyId}/order-ids)
  2. Получаем стикеры сборочных заданий - все по-старому (/api/v3/orders/stickers)
  3. Получаем qr поставки - все по-старому (/api/v3/supplies/{supply_id}/barcode)

Я что-то не так понял или из-за чего негатив? Зачем нам все данные по сборочному заданию получать второй раз, если мы их уже получили из метода /api/v3/orders/.

-1

Ответы на комментарий

Их может и не быть, если продавец добавит товар в поставку через портал поставщиков или просто захочет посмотреть товары в поставке, которые он использовал до использования сервиса и все 100500 заданий хранить надо еще...

+2

Понял. Речь про интеграции без использования своей БД. Да, в таком случае будет проблематично.

0

Дублирование информации по заказам в своей БД, во-первых, чревато рассинхронизацией данных.

Например, ВБ потерял отправленный заказ, и его приходится отправлять повторно. Или пришел заказ на отрицательный остаток, и он был отменен в ЛК, но останется в вашей БД.

Во-вторых, хранить эти данные продавцу просто незачем. Получил актуальный заказ - отправил. Больше с ним на стороне продавца делать просто нечего.

В-третьих, у меня, например, четыре маркетплейса в общей системе. Единая обработка текучки - работает. Единообразно хранить и актуализировать - геморрой, который, см. выше, еще и никому не нужен.

Изменения происходят вдруг, срочно отключается то, что три года работало - и НИКАКОЙ реакции на адекватные вопросы людей, которые реально работают с системой. На хрена этот форум вообще, чисто пар стравливать?..

+1
Комментарий

Приветствуем!

Новый метод призван ускорить обмен данными, но понимаем, что из-за него появилось много вопросов.

Согласно информации в инструкции по работе с разделом FBS, мы призываем минимизировать дополнительные обращения. Подробно описано здесь: https://dev.wildberries.ru/news/127.

Все сборочные задания появляются в методе "Получить список новых сборочных заданий": https://marketplace-api.wildberries.ru/api/v3/orders/new. Поэтому советуем сохранять информацию c его помощью и сверяться с ней. Это - самый надёжный способ, позволяющий избежать лишних запросов.

Тем не менее, перестройка логики и систем - трудоёмкий процесс, поэтому мы заложили период работы старого метода до 17 декабря. Дополнительно для сверки остаётся активным метод "Получить информацию о сборочных заданиях": https://marketplace-api.wildberries.ru/api/v3/orders.

Нам важно слышать сообщество, поэтому, если у вас остаются кейсы, в которых данный подход невозможен, или существуют другие проблемы - призываем описать их на форуме подробно.

-5

Ответы на комментарий

И как с помощью метода "Получить информацию о сборочных заданиях" получить данные заданий по списку идентификаторов?

0

То, что вы сделали, иначе как вредительством назвать нельзя. Человек, который придумал отказаться от старого метода, понятия не имеет, как реально идет обработка FBS.

Логика, что вы же сохраняете у себя в БД всю инфу по новым заказам, и потом можете работать с ней, глубоко ущербна.

1. Может существовать такая система автоматизации, которая вообще не использует БД для хранения информации по сборочным заданиям. У меня, к примеру, долгое времы так и было - я каждый раз брал "живую" информацию от ВБ. И нет ничего страшного в том, чтобы при получении информации о поставке делать всего один запрос.

2. Может быть миллион причин, почему пришлось вручную (через ЛК ВБ) добавить новое задание, перенести в другую поставку, отменить задание. И у меня в БД это никак не отразится.

Раньше для синхронизации информации мне надо было сделать просто 1 запрос, получив задания в поставке. Сейчас для получения информации о задании нужно будет получать и перебирать задания всех поставок. Что полный бред...

Вы бы тогда хоть в "Получить информацию о сборочных заданиях" сделали возможность не по датам фильтровать и пагинировать, а еще и по id заданий. Вот тогда вопросов бы не было.

Старый метод очень нужен. С ним работать гораздо проще.

Пожалуйста, оставьте его! Он ничем вам не мешает, а нам сильно помогает.

+5

Новый метод никак не ускоряет обмен данных. Сделайте тогда пагинацию в получении информации о заказах в поставке

+1

Выше коллеги описали кейсы при которых работа не возможна без старого метода.

Альтернативные способы получения той же информации только увеличивают количество запросов в разы.

Видимо сообщество Вы все-таки не слушаете. Или цель как раз увеличить количество запросов?

+2

У меня логика в приложении была завязана на артикулах товара в уже созданных поставках. И если ранее я одним запросом получал сборочные задания из поставки с артикулами, то теперь мне нужно: 1. Запросить orderIds из поставки 2. Запросить https://marketplace-api.wildberries.ru/api/v3/orders с выставлением дат "на глаз", потому что по orderId, который вы мне вернули я никакую информацию об артикуле запросить не могу 🤡 3. Сопоставить orderId из первого запроса со вторым.

Большое Вам спасибо, что ускорили обмен данными 😂

+2
Комментарий

Я уже дважды столкнулся с проблемой из-за того, что теперь не могу получать содержимое поставки. Был сбой, новые задания отправились в поставку, а у меня в базу не все записались.

В результате мои работники с поставкой работать просто не могут (вся работа идет через мою систему). Раньше содержимое поставки просто перечитали бы от ВБ. А сейчас пришлось логинить их в ЛК ВБ, и доделывать через него. Из-за этого меня разбудили в 9 утра, пришлось давать им доступ...

Отключив старый метод вы всем причинили просто страшные неудобства :( Это самое странное нововведение, которое только можно себе представить! Все остальные новинки помогали, улучшали производительность. А эта создает просто дикие проблемы! :((((

Пожалуйста!!! Верните метод получения содержимого поставки. Он ОЧЕНЬ нужен!

+3
Комментарий

У нас сотни новых заданий, получаем через /api/v3/orders/new, мы их раскидываем по поставкам, раскидали. В процессе появляются новые задания которые вручную можем раскинуть по поставкам, информация по этим заказам уже не подтянется. Далее открываем поставку, /api/v3/supplies/{supplyId}/orders получаем всю информацию, если что, можно обновить то, что нужно.

Сейчас нужно колбасить /api/v3/orders по 1-6 запросов на каждую поставку. Новое задание добавилось, опять всё обновлять. Получается нужно создавать буфер для всех заданий который постоянно обновляется, например за последние 72 часа, включая те, что уже отсортированы и тд.

Рассмотрите возможность сделать альтернативу /api/v3/orders по списку.

+3