Имя: Пароль:
1C
1С v8
Полуинтеграция с WB
0 zenon46
 
19.07.24
11:39
Доброго всем дня!
Может кто подскажет, конфа на УФ самописка, полезли в интеграцию с WB, чтобы не ломать ручной труд, хотели немного облегчить одну из цепочек. Собственно вопрос - как можно получить список поставок, находящихся в режиме "В доставке" (в таком разделе ЛК они находятся), из этих поставок нужно дернуть все сборочные задания, чтобы добраться до артикулов товаров, вот их и нужно собственно получить.

Заранее благодарен всем откликнувшимся!
1 Hmster
 
19.07.24
11:40
(0) у них же открытый апи, что документация говорит?
2 Волшебник
 
19.07.24
11:41
(0) Хорошо, что указали УФ. Это очень важно для данной задачи
3 zenon46
 
19.07.24
11:45
(1) открытый...но я пока не разобрался, по моему субъективному мнению там нет такой возможности...сборочные задания находящиеся в разделе "новые" да получаются без проблем. но это не совсем то что нужно.
Создал тему, может кто уже поварился там хорошо и ответит дабы не тратить время напрасно.
4 Кир Пластелинин
 
19.07.24
13:15
очень рект... т.е. долгий путь выбрали. можно только получить полный список поставок (учитываем пагинацию), затем отфильтровать закрытые, по полученному списку отфильтрованных идентификаторов поставок получить сборочные задания в разрезе каждой поставки. там внутри будет и баркод товара, и артикул емнп.
5 zenon46
 
19.07.24
13:30
(4) так я и начал подозревать, фильтров и отборов нет, получал полный список поставок с учетом пагинации, с начала времен....это не быстро....и ворох ненужной информации.
6 Кир Пластелинин
 
19.07.24
13:38
(5) ну сделайте отсечку по дате. например, если дата создания поставки меньше, чем граничное значение, то прерывать получение списка поставок.
7 zenon46
 
19.07.24
14:16
(6) так список летит с начала времен по возрастанию, т.е. требуемые поставки будут как минимум в последнем запросе.
8 Кир Пластелинин
 
19.07.24
14:56
(7) да, точно. с другим перепутал
9 Злопчинский
 
19.07.24
17:00
А что такое пагинация, посветите, плиз
10 ЖНЕЦ
 
19.07.24
17:10
только перебором

СчетЧик=0;

HTTP_запрос.АдресРесурса = "/api/v3/orders?limit=999&next="+СчетЧик+"&dateFrom="+ДатаНач+"&dateto="+ДатаКон;
ОтветЗапроса = Соединение.Получить(HTTP_запрос);
            
....

            
    Если СтрМассива.supplyId<>СокрЛП(НОМЕРПОСТАВКИ)  Тогда
                            
        Продолжить;
    
    иначе
    Сообщить("Наша задание"+Строка(СтрМассива.Id));
                            
       КОнецЕсли;


(9) номер порции простыми словами - вернуло 999 заказов счетчик *номер страницы* = 0
увеличил на 1 получил следующую порцию
11 ЖНЕЦ
 
19.07.24
17:12
Получить информацию по сборочным заданиям

GET
/api/v3/orders

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

AUTHORIZATIONS:
HeaderApiKey
QUERY PARAMETERS

limit
required
integer [ 1 .. 1000 ]
Параметр пагинации. Устанавливает предельное количество возвращаемых данных.

next
required
integer <int64>
Параметр пагинации. Устанавливает значение, с которого надо получить следующий пакет данных. Для получения полного списка данных должен быть равен 0 в первом запросе. Для следующих запросов необходимо брать значения из одноимённого поля в ответе.

dateFrom    
integer
Дата начала периода в формате Unix timestamp. По умолчанию — дата за 30 дней до запроса

dateTo    
integer
Дата конца периода в формате Unix timestamp
12 Ivan_495
 
19.07.24
17:13
(9) кол строк на странице
13 ЖНЕЦ
 
19.07.24
17:17
получаешь ВСЕ ЗАКАЗЫ по ОРГАНИЗАЦИИ в РАЗРЕЗЕ СКЛАД

и может у сборочного задания ПОТОМ проверить статус

/api/v3/orders/status


прикинь у них "убрали" метод получения СВОИХ остатков

т.е. мог получить массив ШТРИХКОД и КОЛИЧЕСТВО

сейчас у них ПРАВИЛЬНО - отправить запрос с массивом ШТРИХКОДОВ и они подставят КОЛИЧЕСТВО
если забыл свой ШК то не проставят
14 АгентБезопасной Нацио
 
19.07.24
19:06
(10) только вот этот next не на 1 увеличивается, а на какие-то рандомные величины...