Получение списка пунктов выдачи заказов Озон

13.02.22

Разработка - Универсальные функции

Использование API Озон для получения списка пунктов выдачи заказов (ПВЗ).

Всем привет!

Т.к. во многих интернет-магазинах стараются интегрироваться со службами доставки, приходится писать различные интеграции с этими службами. Далеко не всегда, эти компании предоставляют примеры кода для интеграции с 1С (в моей практике, когда занимался этим много - таких ситуаций практически не встречалось).

Сейчас пришлось опять взяться за интеграцию, на этот раз с Озон. Для экономии времени других разработчиков, привожу вариант получения списка пунктов выдачи заказов (ПВЗ).

Первый момент, с которым столкнется любой разработчик интеграции с Озон - это получение токена:

Функция ПолучитьТокенОзон() Экспорт
	//описание https://docs.ozon.ru/api/rocket/#tag/Token
	Токен = Неопределено;
	УрлСервиса = "https://xapi.ozon.ru/principal-auth-api/connect/token";
	client_id = "Principal_ххххххххххх_хххххххх-хххх-хххх-хххх-хххххххххххх"; //здесь у нас ID, полученный в ЛК Озон
	client_secret = "ххххххххххххххххх";//а здесь пароль, полученный там же
	Сообщение = "grant_type=client_credentials&client_id="+client_id+"&client_secret="+client_secret;
	
	WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
	WinHttp.Open("POST", УрлСервиса,0);
	WinHttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	WinHttp.SetRequestHeader("Content-Length", XMLСтрока(СтрДлина(Сообщение)));
	WinHttp.SetRequestHeader("Host", "xapi.ozon.ru");
	WinHttp.Send(Сообщение);
	Если WinHttp.Status<>200 Тогда //ошибка
		Возврат(Токен);
	КонецЕсли;
	ТекстОтвета = WinHttp.ResponseText();
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
	Ответ = ПрочитатьJSON(ЧтениеJSON, Ложь);
	ЧтениеJSON.Закрыть();
	Токен = Ответ.access_token;
	
	Возврат(Токен);
КонецФункции

А теперь, собственно, получение самих ПВЗ:

Функция ПолучитьСписокПВЗ_Озон() Экспорт
	СписПВЗ = Новый Массив;
	
	Токен = ПолучитьТокенОзон();
	УрлСервиса = "https://xapi.ozon.ru/principal-integration-api/v1/delivery/variants";
	
	WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
	WinHttp.Open("GET", УрлСервиса,0);
	WinHttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	WinHttp.SetRequestHeader("Content-Length", "0");
	WinHttp.SetRequestHeader("Host", "xapi.ozon.ru");
	WinHttp.SetRequestHeader("authorization", "Bearer "+Токен);
	WinHttp.Send();
	Если WinHttp.Status<>200 Тогда //ошибка
		Возврат(СписПВЗ);
	КонецЕсли;
	ТекстОтвета = WinHttp.ResponseText();
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
	Ответ = ПрочитатьJSON(ЧтениеJSON, Ложь);
	ЧтениеJSON.Закрыть();
	
	Для Каждого ТекАдреса Из Ответ.Data Цикл 
		Пвз			= Новый Структура("КодПункта, Адрес, Город, ГородФильтр, Координаты, Телефон, ОписаниеПроезда, ТипПВЗ");
		Пвз.КодПункта		= ТекАдреса.id;
		Пвз.Адрес		= ТекАдреса.address;
		Пвз.Город		= ТекАдреса.settlement;
		Пвз.ГородФильтр		= ТекАдреса.settlement;
		Пвз.Координаты		= "Ш."+ТекАдреса.lat+" Д."+ТекАдреса.long;
		Пвз.Телефон		= ТекАдреса.phone;
		Пвз.ОписаниеПроезда	= ТекАдреса.howToGet;
		Пвз.ТипПВЗ		= ТекАдреса.ObjectTypeName;
		СписПВЗ.Добавить(Пвз);
	КонецЦикла;
	
	Возврат(СписПВЗ);
КонецФункции

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

интеграция ОЗОН ПВЗ

См. также

Маркетплейсы Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширения позволяют взаимодействовать с личными кабинетами маркетплейсов WILDBERRIES, ОЗОН, ЯНДЕКС.МАРКЕТ и СБЕРМЕГАМАРКЕТ по схеме: FBS. Основным приоритетом в данной разработке является простота запуска и использования, а так же увеличение скорости сборки и обклейки стикерами заказов при больших объемах отгрузок.

58800 руб.

22.03.2021    205606    1344    1735    

633

Маркетплейсы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Расширение интеграции с маркетплейсами позволяет управлять своими аккаунтами ведущих маркетплейсов по принципу одного окна из своей базы 1С для УНФ, УТ, КА, ERP. Единый интерфейс работы для всех площадок. Отправка остатков по сопоставленным товарам по расписанию, гибкая настройка отправки.

49800 руб.

23.01.2023    37161    424    190    

147

Маркетплейсы Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Готовая интеграция и синхронизация с Озон и Вайлдберриз для управляемых форм. Конфигурация встраивается в типовую УТ10.3, КА 1.x, УПП 1.3 или самописные конфигурации. Программа осуществляет выгрузку карточек товаров в ОЗОН/Wildberries, загрузку и синхронизацию ранее загруженных в ОЗОН/Wildberries карточек с номенклатурой в 1С, гибкую настройку синхронизации по номенклатуре, характеристикам, сериям и единицам измерения, а также загрузку отправлений ОЗОН/ Сборочных заданий Wildberries и создание на их основании документов в 1С и управление статусами отправлений ОЗОН/ Сборочных заданий Wildberries. Два варианта документооборота: Заказ покупателя - Реализация и Внутренний заказ - Перемещение - Реализация. Минимальная платформа 8.3.10

49900 руб.

12.05.2021    92714    617    273    

284

Маркетплейсы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Ювелирная промышленность и торговля Фармацевтика, аптеки Легкая промышленность, мода и одежда Пищевая промышленность Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Расширение позволяет работать из 1С с площадкой Wildberries, Яндекс Маркет (без публикации базы), СберМегамаркет по Схеме FBS и FBO В FBO реализован механизм сборки коробов по штрих кодам в Wildberries. Отличительная особенность легкая настройка и информативный управленческий учет! Всего через 15 минут вы сможете полностью автоматизировать свои продажи на WB, ЯМ, Мегамаркет и узнать какую итоговую выручку вы получаете за вычетом всех комиссий ВБ, ЯМ, Мегамаркет. Исключите штрафы за продажу товара отсутствующего на складе и не своевременную передачу кодов маркировок, легкий и интуитивно понятный интерфейс позволит перенести всю работу с площадкой в 1С. Есть Демо.

30000 руб.

17.07.2023    10486    48    20    

36

SALE! 50%

Маркетплейсы Программист Пользователь Платформа 1С v8.3 Оперативный учет Бизнес-процессы 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)

Расширение SynchroSber полноценный информационный обмен (остатки, цены, заказы) между маркетплейсом Мегамаркет (СберМегаМаркет) (megamarket.ru) и 1С:Управление торговлей 11.4, 11.5, ERP Управление предприятием 2.4, 2.5, Комплексная автоматизация 2.4, 2.5, 1С:Управление нашей фирмой 1.6, 3.0 через API интерфейс. Модуль API интеграции с маркетплейсом Мегамаркет интегрируется в 1С без каких-либо изменений вашей конфигурации. Поддержка 1C облачных сервисов Scloud.ru и 1С:Готовое рабочее место.

19920 13944 руб.

24.01.2022    38229    108    81    

104
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ubnkfl 13.02.22 18:44 Сейчас в теме
Добрый день. В чем смысл использования ком-объекта?
Новый COMОбъект("WinHttp.WinHttpRequest.5.1")

Или это какой-то шаблон кода, который вы используете со времен 1С 7.7?
2. windsurf 52 13.02.22 19:53 Сейчас в теме
(1) Нет, не шаблон. Там была какая-то проблема с использованием HTTPСоединение/HTTPЗапрос - почему-то нормально через них не срабатывало. Возможно какой-то глюк именно с месторасположением и подключением сервера, а может проблема с сервисом с той стороны.
Мне требовалось решить задачу, что я и сделал.
3. ubnkfl 13.02.22 20:08 Сейчас в теме
(2)
Там была какая-то проблема с использованием HTTPСоединение/HTTPЗапрос

Понял, спасибо.
Оставьте свое сообщение