Код интгерации 1С:УТ и OZON по API
Ключевые возможности, которые открываются:
- Мгновенная синхронизация заказов — как только покупатель на Ozon оформляет заказ, он сразу появляется в вашей 1С. Никаких задержек, пропущенных заказов или ошибок ручного ввода.
- Автообновление остатков — система отслеживает продажи и автоматически резервирует товары. Больше не нужно бояться oversell (продажи отсутствующего товара).
- Централизованное управление ценами — изменили цену в 1С? Она автоматически обновится на Ozon. Единая ценовая политика на всех площадках.
- Автоматическая выгрузка номенклатуры — добавление новых товаров занимает минуты вместо часов.
- Получение данных о заказах: состояние, факт оплаты, доставка и пр.
В нашем примере реализовано получение данных за дату по отчёту о реализации товаров за день.
&НаСервере
Процедура ПодключитьсяНаСервере()
ПолучитьОзон();
КонецПроцедуры
Функция СериализоватьJSON(Значение) Экспорт
Настройки = Новый НастройкиСериализацииJSON();
Настройки.ФорматСериализацииДаты = ФорматДатыJSON.ISO;
Настройки.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.ЛокальнаяДата;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Значение, Настройки);
СтрокаJSON = ЗаписьJSON.Закрыть();
Возврат СтрокаJSON;
КонецФункции
&НаКлиенте
Процедура Подключиться(Команда)
ПодключитьсяНаСервере();
КонецПроцедуры
Функция ПолучитьОзон() Экспорт
Спис = Новый Массив;
// Данные авторизации (замените на реальные)
ClientId = "NNN"; // ID ЛК Озон
ApiKey = "ZZZ"; // Ключ API
// Эндпоинт для получения остатков
УрлСервиса = "/v1/finance/realization/by-day"; // Отчёт о реализации товаров за день
// Тело запроса для получения списка товаров
ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("day", 1);
ТелоЗапроса.Вставить("month", 11);
ТелоЗапроса.Вставить("year", 2025);
СтрокаJSON = СериализоватьJSON(ТелоЗапроса);
Попытка
HTTPЗапрос = Новый HTTPЗапрос(УрлСервиса);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON);
// Устанавливаем заголовки согласно документации Ozon
HTTPЗапрос.Заголовки.Вставить("Client-Id", ClientId);
HTTPЗапрос.Заголовки.Вставить("Api-Key", ApiKey);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
// Создаем HTTP-соединение
ИнтернетСоединение = Новый HTTPСоединение("api-seller.ozon.ru", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL(), Ложь);
// Отправляем POST-запрос
HTTPОтвет = ИнтернетСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
Если HTTPОтвет.КодСостояния <> 200 Тогда
Сообщить("Ошибка: " + HTTPОтвет.КодСостояния + " " + HTTPОтвет.ПолучитьТелоКакСтроку());
Возврат Спис;
КонецЕсли;
// Получаем и обрабатываем ответ
ТекстОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
// Парсим JSON ответ
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
Ответ = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
// Обрабатываем данные
Если Ответ.Свойство("result") И Ответ.result.Свойство("items") Тогда
Для Каждого Элемент Из Ответ.result.items Цикл
Товар = Новый Структура;
Спис.Добавить(Товар);
КонецЦикла;
КонецЕсли;
Исключение
Сообщить("Ошибка при выполнении запроса: " + ОписаниеОшибки());
Возврат Спис;
КонецПопытки;
Возврат Спис;
КонецФункции Вы можете использовать данный под и обрабатывать его так, как вам необходимо.