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

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    47018    421    206    

188

Загрузка и выгрузка в 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 дней БЕСПЛАТНОГО пользования!

5400 руб.

12.08.2021    38607    424    68    

178

SALE! 10%

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

Модуль позволяет автоматизировать интеграцию 1С с маркетплейсами Wildberries, Ozon, МегаМаркет и Яндекс.Маркет. В удобном интерфейсе вы можете управлять ценами, остатками и анализировать продажи. Для схемы FBS работает отправка кодов системы “Честный знак” на маркетплейсы. Информация о кодах берется из документа “Реализация товаров и услуг” (для УНФ: “Расходная накладная”). Также добавлен функционал парсинга цен на маркетплейсах и возможность автоматически увеличивать цены при малом остатке товара.

44389 39950 руб.

13.03.2023    11815    37    30    

28
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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Запрос

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