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

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 Россия Управленческий учет Платные (руб)

Подключите маркетплейсы Ozon, WB, АлиЭкспресс, ЛаМода и ЯндексМаркет к 1С. Удобное управление заказами, остатками и синхронизация данных из одного окна 1С для УНФ, УТ, КА, ERP. Единый интерфейс работы для всех площадок. Отправка остатков по сопоставленным товарам по расписанию, гибкая настройка отправки.

12415 руб.

23.01.2023    42563    345    198    

170

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

Интеграция маркетплейсов с 1С:УТ 10.3, КА 1.1, УПП 1.3. Автоматизация по FBS/FBO, управление заказами и синхронизация остатков для старых конфигураций. Поддержка RICH-контента OZON

28800 руб.

12.05.2021    98601    677    273    

312

SALE! 20%

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

Полноценный обмен со всеми маркетплейсами: МегаМаркет, Wildberries, Яндекс.Маркет, OZON, VK, ALI, Авито. Так же подключили сервис Dostavista, автоматическая отправка заказов на доставку. Данный модуль позволяет полностью интегрировать 1С:УТ11.4/11.5, 1С:КА 2.4/2.5 и 1С:ERP 2.4/2.5 по API с Wldberries, Яндекс.Маркет, OZON, ALI, VK и МегаМаркет. 1С:Розница 2.3/УНФ 1.6 и выше с МегаМаркет. Схемы работы: ВИТРИНА + ДОСТАВКА, ЗАКАЖИ И ЗАБЕРИ + ВИТРИНА, ДОСТАВКА СИЛАМИ ПРОДАВЦА, ЭКСПРЕСС-ДОСТАВКА. Модуль зарегистрирован в Реестре программного обеспечения, а также являемся технологическими партнерами МегаМаркет, что говорит о гарантиях использования решения.

60000 руб.

09.10.2020    57093    126    82    

120

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

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:КА 2, 1С:ERP Управление предприятием. Возможность подключить любые маркетплейсы. Анализ продаж ОZON. 30 дней БЕСПЛАТНОГО пользования!

3600 руб.

12.08.2021    36771    377    68    

164

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

Функциональное решение для торговли на всех популярных маркетплейсах. Работает со схемами FBO и FBS. Простое в использовании и установке, не вносит изменения в код программы. Существенно упрощает работу с товарным ассортиментом, обработку заказов с площадок, работу с поставками, а также ведение аналитики по продажам и остаткам.

119999 руб.

19.07.2024    2538    54    0    

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

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

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