Продажи со склада поставщика WildBerries. Взаимодействие с АПИ из 1С

0. 612 05.11.20 14:43 Сейчас в теме
Взялся я тут делать интеграцию с АПИ нового проекта Диких Ягод - Продажи со склада поставщика (ПССП).
Это было нелегко. Никто же не читает инструкцию (уже аж 7 версии!), а зря! Для начала сделал получение списка товаров и обмен остатками.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. zoikins 06.11.20 11:22 Сейчас в теме
СПАСИБО за статью!!! сейчас тоже занимаюсь этим вопросом, статья очень помогла , я то думала что достаточно получить токен только в ЛК (типа он один для всего)! занимаюсь загрузкой остатков - тоже token is not valid, но только на тестовом , на рабочем прошел статус ошибки 200 , но в ЛК нигде не видно остатка, а на сайте он появился :) пришлось посылать новый запрос с 0 количеством чтобы он ушел.
3. kiv1c 612 06.11.20 12:43 Сейчас в теме
(1) Да, если остатки обновлены в методе /stocks то кроме кода 200 ничего не приходит. а зачем еще один запрос отправили не понял?
4. zoikins 06.11.20 13:08 Сейчас в теме
(3)с тестовым URL у меня выгрузка не работает , а вот с рабочим заработала - и я выложила некорректный остаток , чтобы это исправить я выслала 0 остаток и все стало как было
2. kiv1c 612 06.11.20 11:56 Сейчас в теме
разобрался с ошибкой token is not valid - оказывается я поставил в свойствах реквизита длину строки 50 а токен 64 символа и обрезался!
5. kiv1c 612 13.11.20 16:39 Сейчас в теме
проблема с тем что в АПИ поля nmId и chrtId, которые дальше нужны для обмена остатками в API Stock&Price, приходят в 0 при создании - еще не решена.
6. Semfr 18.11.20 12:43 Сейчас в теме
Спасибо большое за пост! А на УТ 10.3, платформа 8.3.16 всё то же самое будет или надо тестировать?
42. unknown181538 35 23.11.20 15:26 Сейчас в теме
(6)
тформа 8.3.1
В любом случае, регистры-то в УТ10 другие. И в любой компании будут индивидуальные особенности, полагаю. У автора решение не претендует на универсальность. Сейчас вот под 10ю запилить пытаюсь, но разница конфигураций тут наименьшая из сложностей.
7. unknown181538 35 18.11.20 17:29 Сейчас в теме
Спасибо заранее! А то я уже испытал стресс от чтения инструкций.
Уточню, на всякий случай.
1) АПИ Контент. СМС достаточно будет получить 1 раз, и потом основной токен можно будет всегда использовать в дальнейшем?
2) API Stock&Price. На закладке "Доступ к АПИ" у меня уже написано "Токены уже предоставлены. Для повторного получения токенов необходимо обратиться в техническую поддержку.". Это значит, что токен уже потерян и нужно делать запрос в ТП? В техподдержку нужно звонить или писать куда-то? Куда придет этот токен?
8. unknown181538 35 18.11.20 18:09 Сейчас в теме
(7) 2) Отвечаю: откуда-то нашлись токены, думаю, что это для второго АПИ. Техподдержку я нашел.

При получении карточек получаю:
{"id":1,"jsonrpc":"2.0","error":{"code":-32603,"message":"access denied","data":{"err":"access denied","trKey":"accessDenied"}}}

Еще вопрос по ссылке https://suppliers.wildberries.ru/specification/client/index есть кнопка "создать токен". Что это за еще один токен?
10. unknown181538 35 18.11.20 18:59 Сейчас в теме
(8) Возможно, я глупые вопросы задаю, потому что сам отвечаю :) но может это кому и поможет. Возможно, моя проблема в том, что я не отправлял заявку на открытие доступа к API Content. Однако же токены с помощью обработки ТС получить удается. Но, возможно, они не рабочие, пока те не обработают мою заявку. В общем, отправил заявку, а там посмотрим.
13. kiv1c 612 19.11.20 10:58 Сейчас в теме
(8) да ошибка accessDenied тоже иногда возникает, помогает обновить токен
30. unknown181538 35 20.11.20 23:01 Сейчас в теме
(13) Мне пришло ответ из ТП, что API активирован. Однако ошибка не ушла. ВБТокен обновил - не помогло. Оставил заявку в ТП.
11. Semfr 18.11.20 19:36 Сейчас в теме
(7) По вашему второму вопросу. Токен выдается при его первом запросе и отображается прямо в личном кабинете, см картинку. Пи обновлении страницы пропадает. Так что надо обращаться к тому, кто его сгенерировал в первый раз - менеджер, админ, еще кто-то , кто имел доступ к личному кабинету поставщика.
Прикрепленные файлы:
unknown181538; +1 Ответить
12. unknown181538 35 18.11.20 21:12 Сейчас в теме
(11) ага. Понятно. Ну этот вроде был отловлен.
14. kiv1c 612 19.11.20 10:58 Сейчас в теме
(7) если получите Основной токен с его помощью можно "без регистрации и смс" обновлять ВбТокен
9. unknown181538 35 18.11.20 18:27 Сейчас в теме
По идее, я должен выгружать только товары, остатки которых изменились. Но получить с сайта остатки на складе поставщика я не вижу возможности.
Получается, что возможно только выгружать всю номенклатуру, либо "запоминать", что выгрузил в прошлый раз. Оба варианта как-то не очень...
15. kiv1c 612 19.11.20 11:00 Сейчас в теме
(9) ну по идее остатки можно получить с АПИ методом card/list
33. jenyavp 58 22.11.20 00:17 Сейчас в теме
(15)А как? потому что я тоже не нашла там полей Остаток и цена.
37. jenyavp 58 22.11.20 22:22 Сейчас в теме
(33)Сама нашла, это другое АПИ, сервис статистики.
16. marat3581525 20.11.20 10:14 Сейчас в теме
Автор, в описании ты пишешь:

"Созданная таким образом карточка не появляется в "Аналитике - Отчет с перечнем номенклатур" и не выгружается в Ексель, однако появляется в разделе "Спецификации New". Но этот новый раздел нерабочий и из него карточка не открывается."

Удалось решить данную проблему?
17. GAlexy 20.11.20 13:26 Сейчас в теме
(8) Удалось победить "err":"access denied" ? ТП должна включать доступ?
использую токен аутентификации и cookie: WBToken =
Получаю "err":"access denied" в методе /list
и
"err":"wrong supplier vendor code" в методе /create
Aspire1C; +1 Ответить
18. marat3581525 20.11.20 13:31 Сейчас в теме
(17)wrong supplier vendor code" в методе /create

Буквально сегодня столкнулся с такой проблемой.
Там в теле запроса для "params" надо добавить еще "supplierVendorCode". Более подробно можно увидеть в инструкции API, расположенной в разделе "Товары" - "Спцификации new".
Если честно, такое API конечно, по кусочкам везде раскидано...
23. kiv1c 612 20.11.20 15:12 Сейчас в теме
(18) ага я тоже офигел, только сегодня видимо добавили это поле supplierVendorCode
25. marat3581525 20.11.20 15:13 Сейчас в теме
(23) Удалось победить ошибку при открытии карточки товара, созданной через API?
19. marat3581525 20.11.20 13:33 Сейчас в теме
(17)
Получаю "err":"access denied" в методе /list


Видимо WB токен истек. Тебе надо его обновить, запросив cookies. Более подробно написано в описании этой статьи
43. unknown181538 35 24.11.20 15:59 Сейчас в теме
(19) ну я его обновлял, использую обработку из статьи. мне не помогает.
По плану ТП будет обрабатывать мой вопрос неделю! Кажется, это претендент на звание Самая Дикая ТП в мире!
20. GAlexy 20.11.20 14:41 Сейчас в теме
(19) я его при каждом запросе обновляю, прежде чем его обратно отослать. Каждый раз он приходит другой.
21. marat3581525 20.11.20 14:51 Сейчас в теме
(20) а supplier ID откуда берете?
22. GAlexy 20.11.20 14:59 Сейчас в теме
24. marat3581525 20.11.20 15:12 Сейчас в теме
(22) По описанию все делаете верно, скорее всего токен нерабочий. Попробуйте один раз авторизоваться через смс, потом получить основной токен и его продолжать использовать для WB токена.
26. kiv1c 612 20.11.20 15:25 Сейчас в теме
Итоги сегодняшнего эксперимента:
САМЫЙ УЖАСНЫЙ АПИ что я видел!

1)добавили новое поле supplierVendorCode нигде об этом не написав

2) запрос на создание карточек номенклатур в card/batchCreate все еще возвращает chrtId и nmId в 0, а они нужны дальше для обмена остатками

3) созданные карточки видны только в разделе "спецификации new" но при попытке их открыть - backend-errors.предмет не найден
andrkoss; +1 Ответить
44. andrkoss 25.11.20 12:12 Сейчас в теме
(26) с п. 3 не боролись?

У меня сегодня там появились карточки. Видимо, их из старых спецификаций скопировали. Причем написано, что карточки от 21.11. Они открываются. А созданный через АПИ - фиг.
50. marat3581525 30.11.20 11:46 Сейчас в теме
(44) Получилось победить ошибку, возникающую при открытии карточки, созданную через API?
51. andrkoss 30.11.20 12:32 Сейчас в теме
(50) Нет. Поддержка уникальная у ВБ, конечно...
45. andrkoss 25.11.20 12:17 Сейчас в теме
(26) У меня еще при попытке зайти в эту карточку вылазит: "Время сессии истекло! Пожалуйста, обновите страницу или перезайдите в Личный кабинет."
46. andrkoss 25.11.20 15:12 Сейчас в теме
(26) О, новый ответ на попытку редактировать - IsLockedCard
85. uAz1k 12.01.21 16:08 Сейчас в теме
(26) Можете чуть более подробно описать процесс создания карточки. Я не могу понять какие параметры обязательны, какие нет. Обязательно ли указывать в параметр "object" только те значения которые есть у WB, или я могу свое подставить? supplierVendorCode куда нужно добавить?
И да, API действительно очень сырой
27. GAlexy 20.11.20 15:45 Сейчас в теме
(24) если я меняю основной токен на рендомный, кука вообще не приходит.
Уже 100500 раз начинал сначала.
Скажите, от СП требуется включение на доступ по АПИ?
28. GAlexy 20.11.20 16:39 Сейчас в теме
Кукис в файл сохраняете или парсите заголовок?
29. marat3581525 20.11.20 16:51 Сейчас в теме
(28) Заголовок. Скачай обработку этой статьи, там все указано.
31. user1496685 20.11.20 23:35 Сейчас в теме
мамочки. Так мне и придется по-старинке на склад отгружать(((( Сейчас заплачу
32. jenyavp 58 21.11.20 22:53 Сейчас в теме
Воспользовалась вашей обработкой, спасибо, это ускорила процесс. У меня была проблема такая же как у (8),
получила токен, куки, но при получении товаров https://content-suppliers.wildberries.ru/card/list ошибка.
Дело было в учетной записи. Я для себя, как для разработчика создавала дополнительную учетку, и прикрепляла номер к нему. И токен был не рабочий, но вот когда я использовала номер основной учетки, со всеми правами, токен сработал и успешно получилось список товаров.
36. jenyavp 58 22.11.20 16:20 Сейчас в теме
успешно получилось список товаров
(32)
удалось получить список товаров
38. GAlexy 23.11.20 09:17 Сейчас в теме
(32) Подтверждаю. Нужно использовать телефонный номер первый, указанный при регистрации.
Спасибо jenyavp
39. kiv1c 612 23.11.20 14:14 Сейчас в теме
Новая неделя - новые проблемы.
теперь появляется ошибка "wrong supplier vendor code"
card.validate.supplierVendorCode
похоже дело в лишнем пробеле
40. unknown181538 35 23.11.20 14:50 Сейчас в теме
Отправил по одному товару остаток. Вроде как успешно отправился, но на сайте не обновился. Он сразу должен обновиться, или нужно какое-то время выждать?
Если я отправляю пустую цену-цена останется та же, что и была? Ибо цены у нас на сайте ставят, и в 1С нету нужной цены.
41. GAlexy 23.11.20 15:17 Сейчас в теме
(39) Как писал (26)
"jsonrpc": "2.0",
"params": {
"card": {
"supplierVendorCode":"BlaBla",
47. comfortbaby 25.11.20 16:08 Сейчас в теме
Нам тоже нужна такая интеграция... программиста штатного нет
49. user1491021 27.11.20 13:04 Сейчас в теме
Теперь с токеном аутентификации можно запрашивать обновление через cookies того самого ВБТокен. Дописал для этого процедуру ОбновитьВБТокенПоОсновному
Обновление через cookies того самого ВБТокен как часто нужно выполнять и для чего.
И если при получении списка номенклатуры получаем ответ "access denied" дело в неправильной авторизации или SupplierID неправильный. Беру его по кнопке "Получить uiid"
52. GAlexy 30.11.20 13:37 Сейчас в теме
55. Senpasi 01.12.20 00:07 Сейчас в теме
Подскажите, пожалуйста, с api по заказам пока у всех глухо или я косячу?
Простой get с токеном на suppliers-orders.wildberries.ru/api/v1/orders?date_start=2020-11-30T20:59:55+03:00 отдает ошибку на стороне ВБ - 500 "У нас проблемы. Попробуйте позже"

Уже думаю с suppliers.wildberries.ru/marketplace-api/api/private/portal/v1/gather_tasks попробовать дергать, что бы хоть как-то резервирование остатка проходило.
56. evgenrs 01.12.20 12:10 Сейчас в теме
Добрый день, подскажите, а можете переделать вашу обработку для унф 1.6?
57. givi-724 03.12.20 13:56 Сейчас в теме
Добрый день!

Да, обработка для УНФ 1.6 была бы очень актуальна !
99. kiv1c 612 18.02.21 11:00 Сейчас в теме
(57) а чем унф отличается принципиально? надо только переписать запрос получения остатков
58. Aspire1C 670 07.12.20 11:11 Сейчас в теме
У всех нормально работает?
У меня сегодня при попытке получить СМС на строке
ssl = Новый ЗащищенноеСоединениеOpenSSL();
HTTPСоединение = Новый HTTPСоединение("content-suppliers.wildberries.ru",,,,,, SSL);
Виснет режим предпряития и всё.
59. carapuzzz 10.12.20 16:15 Сейчас в теме
Подскажите кто уже разобрался с получением списка.

1.Чтобы все заработало нужно создать Заявка на API Content (Склад поставщика)? после того как ее выполнят получить токен через смс и по этому токену получать WBToken. далее смс авторизация уже не будет нужна?

2.По методу https://content-suppliers.wildberries.ru/card/list какие параметры обязательны, скажем если я хочу получить весь справочник, а передает только 100 штук, предполагаю что должен быть параметр типа страница с которой надо получать. Кроме каких то фильтров непонятных в их запросе есть еще
"query": { // Пагинаци "limit":10, "offset": 20} это и есть подобие страниц, если да то как это использовать?
60. unknown181538 35 14.12.20 14:18 Сейчас в теме
(59) 1. По идее - да. Но у меня вот ошибка accessDenied.
61. carapuzzz 14.12.20 18:03 Сейчас в теме
с получением списка и прохождения авторизации разобрался, но это только начало, создавать новые карточки через апи этот еще тот квест, с отдачей остатков и получением заказов тоже есть свои заморочки.
62. GAlexy 15.12.20 14:04 Сейчас в теме
Я не могу залить остатки. nmId и chrtId получаю из excel списка номенклатуры (через card/list тоже можно). Через API Stock&Price получаю ответ 200, но остатки и цены не меняются. Могу поменять только через excel "Загрузить файл с остатками".
ЧЯДНТ?
63. carapuzzz 17.12.20 09:23 Сейчас в теме
(62) остатки в ЛК не меняются, но фактически они меняются. народ пишет что надо зайти как покупатель на сайт ВБ и в корзине эти остатки будет видно, я пока не дошел до данного этапа.
64. Stas84 18.12.20 14:18 Сейчас в теме
(63) Все верно сказал. Нужно смотреть через корзину как обычный покупатель. Заметил интересный глюк. Менеджер через ексель установила остаток 1, поменять обратно на 0 не получается через ексель, если по АПИ я ставлю 1, на сайте остаток меняется на 2, если 0, меняется на 1. Такое ощущение, что ексель и АПИ не связанные вещи
65. Stas84 18.12.20 14:21 Сейчас в теме
1. Подскажите чем обработка за 4 старт мони отличается от той что за 3 ? Интересует реализация авторизации через СМС для Контент АПИ, чтобы получить список товаров, остатки я обновлять научился.
2. При обновлении остатков на что влияет параметр цена? Передавал разные значения, цена так и не изменилась. На витрине остается цена и скидка та которую установили в ЛК
67. carapuzzz 18.12.20 17:47 Сейчас в теме
(65)Цена не на что не влияет ХЗ зачем она там вообще, я без нее передаю и все работает.
66. carapuzzz 18.12.20 17:46 Сейчас в теме
(64)ВБ работает в двух режимах: 1 СКЛАД ВБ, 2 СКЛАД поставщика.
Остатки в корзине суммируются если скажем для Склада ВБ = 2, для склада поставщика 3, корзина покажет 5.
1 у тебя это скорее всего остаток режима Склада ВБ.
68. carapuzzz 18.12.20 18:01 Сейчас в теме
//шаг1 получить постоянный токен
//НомерТелефона - строго тот что указывался при регистрации ЛК как основной
//смс приходят на любые телефоны но вот токен генерит левый
Процедура ПолучитьТокенНажатие(НомерТелефона)
	
	Стр = Новый Структура;
	Стр.Вставить("phone", НомерТелефона);
	Стр.Вставить("is_terms_and_conditions_accepted", Истина);
	ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login_by_phone", Стр);
	
	Сообщить(ТекстОтвета);
	
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ТекстОтвета);
	Ответ = ПрочитатьJSON(Чтение);
	Чтение.Закрыть();

	Токен = Ответ.token;
	
КонецПроцедуры

//шаг2 получить постоянный токен
//КодИзСМС - код из смс что пришла на телефон указанный ранее
//Токен - токен который был получен в процедуре ранее
Процедура ПолучитьWBTokenНажатие(КодИзСМС, Токен)
	
	options = Новый Структура;
	options.Вставить("notify_code", КодИзСМС);
	Стр = Новый Структура;
	Стр.Вставить("token", Токен);
	Стр.Вставить("options", options);
	
	Заголовки = Неопределено;
	ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовки);
	
	Сообщить(ТекстОтвета);
	
	WBtok = Заголовки.Получить("set-cookie");
	Поз = СтрНайти(WBtok, "max-age");
	WBtok = Сред(WBtok, 1, Поз-3);
	
	Заголовок2 = Новый Соответствие();
	Заголовок2.Вставить("Content-Type", "application/json");
	Заголовок2.Вставить("Cookie", WBtok);
	ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/grant",, Заголовок2);
	Сообщить(ТекстОтвета);
	
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ТекстОтвета);
	Ответ = ПрочитатьJSON(Чтение);
	Чтение.Закрыть();

	ГлавныйТокен = Ответ.token;

	Стр = Новый Структура;
	Стр.Вставить("country", "RU");
	Стр.Вставить("device", "");
	Стр.Вставить("token", ГлавныйТокен);
	
	Заголовок2 = Новый Соответствие();
	Заголовок2.Вставить("Content-Type", "application/json");
	Заголовок2.Вставить("Cookie", WBtok);
	ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовок2);
	
	Сообщить(ТекстОтвета);
	
КонецПроцедуры

Функция ПолучитьДанные(Сервер, Ресурс, ВхДанные=Неопределено, Заголовки=Неопределено)
	
	Если ВхДанные=Неопределено Тогда
		ДанныеJSON = "";	
	Иначе
		Запись = Новый ЗаписьJSON;
		Запись.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет));
		ЗаписатьJSON(Запись, ВхДанные);
		ДанныеJSON = Запись.Закрыть();
	КонецЕсли;
	
	SSL = Новый ЗащищенноеСоединениеOpenSSL();
	HTTP =  Новый HTTPСоединение(Сервер,,,,,600, SSL);
	
	Если Заголовки = Неопределено Тогда
		ЗаголовокHTTP = Новый Соответствие();
		ЗаголовокHTTP.Вставить("Content-Type", "application/json");
	Иначе
		ЗаголовокHTTP = Заголовки;
	КонецЕсли;
	
	ЗапросHTTP = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP);
	
	Если ЗначениеЗаполнено(ДанныеJSON) Тогда
		ЗапросHTTP.УстановитьТелоИзСтроки(ДанныеJSON);
	КонецЕсли;
	
	HTTPОтвет = HTTP.ОтправитьДляОбработки(ЗапросHTTP);
	Если Заголовки=Неопределено Тогда 
		Заголовки = HTTPОтвет.Заголовки;
	КонецЕсли;
	
	Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
	
	Возврат Ответ;

КонецФункции
Показать
Iva_Irina_Iva; +1 Ответить
69. carapuzzz 18.12.20 18:04 Сейчас в теме
кому надо авторизацию, код выше так получается ГлавныйТокен, просто копируйте процедуры во внешнюю обработку там думаю разберетесь

для получения временного токена(WBТокен ) для работы используем этот главныйТокен

Процедура ОбновитьТокенНажатие()
	
	Стр = Новый Структура;
	Стр.Вставить("token", ГлавныйТокен);
	Заголовки = Неопределено;
	ТекстОтвета = ПолучитьДанные("content-suppliers.wildberries.ru", "/passport/api/v2/auth/login", Стр, Заголовки);
	
	WBtok = Заголовки.Получить("set-cookie");
	Поз = СтрНайти(WBtok, "max-age");
	WBТокен = Сред(WBtok, 1, Поз-3);

КонецПроцедуры
Показать
Iva_Irina_Iva; +1 Ответить
70. user844865 19.12.20 20:08 Сейчас в теме
Не у кого не было проблем с получение постоянного ключа? У меня на отправке запроса /passport/api/v2/auth/grant зависает и всё
71. machnef 51 23.12.20 16:17 Сейчас в теме
Слушайте писал обмен с API OZON, так голова не пухла! Мне интересно есть ли герой, который настроил обмен с WB полностью? обновление остатков, цен, карточек, картинок, заказов?
72. Iva_Irina_Iva 25.12.20 07:31 Сейчас в теме
Кто разобрался с прохождением авторизации, подскажите, все верно делаем?! Шаг 1, получаем смс на номер, который указан в визитке у контактного лица. Далее шаг 2, полученный токен и смс в шаге 1 отправляем для получения WBToken, но приходит пустой { "token": "" }, у кого то было подобное?
73. Iva_Irina_Iva 25.12.20 15:32 Сейчас в теме
(72) Если парсить заголовок, то там должен быть set-cookie? Вопрос, если такого заголовка нет?
74. GAlexy 28.12.20 12:21 Сейчас в теме
(73)
//НУЖЕН:
curl_setopt($cu,CURLOPT_HEADER,true);

//ПАРС:
$out = explode(PHP_EOL,curl_exec($cu));
$WBToken = str_replace('set-cookie: ','',explode(';',$out[7])[0]);

// ВМЕСТО $cu ВАША ПЕРЕМЕННАЯ
77. Iva_Irina_Iva 29.12.20 10:06 Сейчас в теме
(74) Если честно, не поняла что Вы мне написали. Внесла твой телефон в визитку (на тот телефон, которые внесен при регистрации смс не приходят). Получила смс и токен первым шагом, получаю вторым шагом WbToken, он должен быть в заголовках, но там его нет. Делаю все в Postman. Возвращаемые заголовки прикрепила, wbToken там не вижу.
Прикрепленные файлы:
78. GAlexy 29.12.20 10:13 Сейчас в теме
(77)
(на тот телефон, которые внесен при регистрации смс не приходят)
Его нужно поставить в "настройка - визитка" тода смс придет.
81. Iva_Irina_Iva 29.12.20 11:03 Сейчас в теме
(78) Поставили, все равно не приходит.
75. LifeStyle 28.12.20 14:41 Сейчас в теме
Здравствуйте! Скачал вашу обработку для примера. JSON в текстовый файл создаю. Но все время ошибка.

Все время возвращается ошибка json is not valid. Что может быть? Спасибо.
76. Iva_Irina_Iva 29.12.20 09:50 Сейчас в теме
(75) Такая же ошибка при передаче остатков.
{
"token": "111",
"data": [
{
"nmId": 9641619,
"stocks":[
{
"chrtId": 31855256,
"quantity": 1,
"storeId": 111
}
]
}
]
}
ошибка {"error": "json is not valid","errorDetails": ""}, тело запроса копирую из инструкции и подставляю свои значения
token Беру из ЛК меню Товары - Спецификации - Создать токен.
Специалист по API WB написал "Если вы уже работаете по обычной схеме, значит уже умеете загружать товар. Вот тогда можно отдельно загружать остатки для работы по схеме Продажа со склада поставщика и там свои сервисы, адреса сервисов и токены, которые можно получить прямо в ЛК". Товар у нас уже заведен, продается по схеме FBO, поэтому по API его не создаем.
Если удастся решить ошибку "json is not valid" напишите, пожалуйста.
79. GAlexy 29.12.20 10:16 Сейчас в теме
(76)
"json is not valid"
Проверьте json тут https://jsonlint.com/
Iva_Irina_Iva; +1 Ответить
80. Iva_Irina_Iva 29.12.20 10:44 Сейчас в теме
(79) при проверке Valid JSON. Скорее всего токен не тот. Беру из ЛК как написал специалист WB по API. Получить WBToken пока не получается.
82. GAlexy 29.12.20 13:10 Сейчас в теме
(76)
"json is not valid"

У Вас "price": int нету

{
"chrtId": int,
"price": int,
"quantity": int,
"storeId": int
},
83. uAz1k 06.01.21 14:05 Сейчас в теме
Возможно пригодится, получение Cookie для работы с API Content. Файл для httpClient в PHPStorm

### Шаг 1: Отправка SMS кода на телефон и получения токена в ответе для шага 2
POST https://content-suppliers.wildberries.ru/passport/api/v2/auth/login_by_phone
Content-Type: application/json

{
  "phone": "",
  "is_terms_and_conditions_accepted": true
}

### Шаг 2: Отправка верификационного SMS кода на сервер вместе с токеном из предыдущего ответа и получение Cookie для доступа к методам API
POST https://content-suppliers.wildberries.ru/passport/api/v2/auth/login
Content-Type: application/json

{
  "token": "",
  "options":{
    "notify_code": ""
  }
}

### Дальнейшие шаги позволяют отбновлять Cookie без запроса кода на телефон
### Шаг 3: Отправка Cookies из предыдущего ответа для получения токена
POST https://content-suppliers.wildberries.ru/passport/api/v2/auth/grant
Content-Type: application/json
Cookie: WBToken=

### Шаг 4: Добавление токена из предыдущего запроса в список разрешенных
POST https://content-suppliers.wildberries.ru/passport/api/v2/auth/login
Content-Type: application/json
Cookie: WBToken=

{
  "country": "RU",
  "device": "Test",
  "token": ""
}

### Обновление Cookie (шаг 2) без SMS c токеном (шаг 3)
POST https://content-suppliers.wildberries.ru/passport/api/v2/auth/login
Content-Type: application/json

{
  "token": ""
}

###
Показать
Прикрепленные файлы:
_wildberies_contentAPI_auth.http
84. Alex_Japanese_Student 442 11.01.21 12:12 Сейчас в теме
ограничение лимита по 100 штук, даже если я хочу 999 и явно поставил лимит. Блин мы в 2020, у меня мощный канал интернета, у вас в Диких Ягодах наверняка Дико Производительный Сервер на Golang, если я хочу получить сразу 999 карточек, так дайте мне их блин. Но нет, прилетает 100 штук, и приходится запрашивать еще раз.


и у озона тоже кругом лимиты на запросы. 2021 год, да, как же можно больше 100 карточек раздавать (((
86. bestuzhev 676 26.01.21 11:36 Сейчас в теме
Не получается никак отправить остаток товара постоянно возвращается с сервера
<Response [500]> {'success': False, 'errors': 'Internal server error'}
Уже мозг сломал.....
87. sinto 26.01.21 22:10 Сейчас в теме
Привет. Братик, а ты заказ не разрулил? Мне пишет дата плохого формата, я копировал из мурзилки уже. АААААА! нервничаю )
88. sinto 27.01.21 09:45 Сейчас в теме
92. Vo-Va 171 16.02.21 00:04 Сейчас в теме
(88) подскажите, как победили дату?
100. sinto 21.02.21 11:20 Сейчас в теме
(92)
(94)

Сделал с преобразлванием даты таким вот форматом

ДатаЗаказаНачалоСтрокой = Формат(ДатаНач, "ДФ=yyyy-MM-ddT00:00:00Z");
ДатаЗаказаКонецСтрокой = Формат(ДатаНач, "ДФ=yyyy-MM-ddT23:59:59Z");
user1374747; +1 Ответить
94. sdvig 14 17.02.21 21:37 Сейчас в теме
(88)Коллега, призываем, поделись как дату удалось победить?
89. sinto 29.01.21 10:00 Сейчас в теме
Добрый день. И все таки ) Кто-нибудь разбирался с заказами? Вопрос такой. Собрал техническую часть, теперь бы потестить. Как можно оттестировать и при этом не создавать рабочих заказов, иначе же санкции будут, если не отработать рабочий заказ... Тестовый URL в описании АПИ Ордерс вижу, но не знаю как оно работает. То есть на запрос списка заказов - отвечает 204 кодом, то есть заказов нет. Как с этим работать?
102. sinto 21.02.21 11:24 Сейчас в теме
(89)

тут отбой. Сделал заказы.
user1374747; +1 Ответить
90. user923728 26 07.02.21 22:03 Сейчас в теме
3) API Orders - работа с заказами и сборочными заданиями.
Эту часть я дополню позже.


Когда ждать эту часть?
98. kiv1c 612 18.02.21 10:58 Сейчас в теме
(90) пока я к ней не приступил. и учитывая количество ошибок в АПИ даже и не планирую...
91. supermagnit 15.02.21 10:14 Сейчас в теме
Я блин в шоке... Выходит без программиста никак не получится зайти на платформу и отгружать со своего склада(((
97. kiv1c 612 18.02.21 10:56 Сейчас в теме
(91) есть варианты через ексель делать обмен остатками.
93. sdvig 14 17.02.21 21:04 Сейчас в теме
Запрос:
"/api/v1/orders?date_start=2021-02-01T00:00:00+03:00&date_end=2021-02-15T00:00:00+03:00"
Ответ:
{"error":"Некорректный формат переданной даты."}
Что не так с датой? Уже голову сломал
95. Ganzo68 17.02.21 22:34 Сейчас в теме
Удалось решить проблему с датой?
101. sinto 21.02.21 11:22 Сейчас в теме
(95)

см. выше отписал по дате
103. Ganzo68 25.02.21 16:54 Сейчас в теме
(95)
&НаКлиенте
Процедура ПериодПоискаЗаказовПриИзменении(Элемент)
	
	ДатаНачалаJSON				= ЗаписатьДатуJSON(ПериодПоискаЗаказов.ДатаНачала, ФорматДатыJSON.ISO, ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением);
	ДатаОкончанияJSON  			= ЗаписатьДатуJSON(НачалоДня(ПериодПоискаЗаказов.ДатаОкончания), ФорматДатыJSON.ISO, ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением)
	ДатаНачалаКодированная		= КодироватьСтрокуСервер(ДатаНачалаJSON);
	ДатаОкончанияКодированная	= КодироватьСтрокуСервер(ДатаОкончанияJSON);
	
	ПараметрПередачи 	= "?date_start=" + ДатаНачала + "&date_end=" + ДатаОкончания;  
		
КонецПроцедуры

&НаСервере
Функция КодироватьСтрокуСервер(Строка)

	КодированнаяСтрока = КодироватьСтроку(Строка, СпособКодированияСтроки.КодировкаURL);
	
	Возврат КодированнаяСтрока;

КонецФункции // СпособКодировки()
Показать
96. GAlexy 18.02.21 09:19 Сейчас в теме
"/api/v1/orders?date_start=2021-02-01T00:00:00%2B03:00&date_end=2021-02-15T00:00:00%2B03:00"

вместо '+' '%2B'
Оставьте свое сообщение
Вопросы с вознаграждением