Как подружить обмен данными между 1С и Django REST Framework?
Добрый день!
Поступила задача менять цены и остатки по средствам 1С в базе интернет-магазина, который реализован на Django. Для этого со стороны Django существует REST API, который отдает полный список товаров и отдает конкретный товар по его идентификатору (pk).
Необходимо, чтобы 1С по какому-то сценарию меняла цены и остатки.
Вопрос первый: каким образом 1С это делает?
Вопрос второй: нужно ли на странице со списком ВСЕХ товаров в REST API, чтобы был разрешены методы PUT/PATCH? Если да, то каким образом это сделать, ведь эти методы требуют обязательный аргумент (и это pk).
Буду рад любому совету и помощи!
Можете подсказать вот что?
Например, в БД интернет-магазина 10к товаров, значит мы будем иметь 10к страничек с товаром (там его данные: код, остаток, цена, айдишник).
1с-ник может создать регламент, который переберет все эти товары и поменяет данные о товаре?
1с-ник может создать регламент, который переберет все эти товары и поменяет данные о товаре?
технически да.
практически возможны разные последовательности:
* типа запрос к сайту, получение айди по которым нужно вернуть данные.
* 1с просто пуляет какойто объем информации, сайт раскидывает.
* 1с кидает только измененные данные, типа было изменение цены выплюнул, было изменение в остатках выплюнул, ну и так далее....
взависимости от этого будет зависит объемы передаваемой информации.
ps:
а можете быть хитрей, если у вас нет 1с-ка.
у 1с есть oData, включите и сами забирайте нужные данные)))
Для примера взаимодействия 1С с любым интернет-сервисом можно взять обработку на инфостарте, которая взаимодействует с внешним сервисом через HTTPS-запросы: https://infostart.ru/public/1310842/
REST API это конечно здорово ! Но в реальной жизни обмен лучше всего делать через Эксель-файл. Из 1С формируется такой файл со всеми необходимыми данными; Затем он передается на сервер, хоть по почте, хоть через REST API, хоть на флешке; и на сервере эти данные заливаются в базу.
При такой схеме - легко отладить и проверить данные на всех стадиях;