Каталог решений - API Эвотор: загрузка товаров и получение продаж через 1С

API Эвотор: загрузка товаров и получение продаж через 1С

API Эвотор: загрузка товаров и получение продаж через 1С

В наличии

Пример обработки для взаимодействия с API Эвотор: получение списка товаров, отправка товара, получение продаж.

Категория:

Описание

Для обмена с API Эвотор в личном кабинете требуется приобрести любое приложение обмена с 1С. В настройках будет указан токен обмена.

 

 

 

Разработана обработка обмена с Эвотор API с 4 кнопками:

  1. Получить магазины;
  2. Получить товары;
  3. Отправить товар (выделенный);
  4. Получить продажи (за конкретный день).

 

 

Весь код выполняется на клиенте. Это шаблон, который адаптировать для любой конфигурации. Проверено на пустой конфигурации на платформе 1С версии 8.3.26.1498.

Код обработки ниже:


&НаКлиенте
Процедура ПолучитьМагазины(Команда)
	ОтветСтруктура = GET("/api/v1/inventories/stores/search"); 
	
	Магазины.Очистить();
	Для Каждого Магазин из ОтветСтруктура Цикл
		НовыйМагазин = Магазины.Добавить();
		ЗаполнитьЗначенияСвойств(НовыйМагазин, Магазин);
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьТовары(Команда)
	storeUuid = Элементы.Магазины.ТекущиеДанные.uuid;
	ОтветСтруктура = GET("/api/v1/inventories/stores/" + storeUuid + "/products"); 
	
	Товары.Очистить();
	Для Каждого Товар из ОтветСтруктура Цикл
		НовыйТовар = Товары.Добавить();
		ЗаполнитьЗначенияСвойств(НовыйТовар, Товар);
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ОтправитьТовар(Команда)
	ТоварыМассив = Новый Массив;  
	ТоварСтруктура = Новый Структура("uuid, name, group, type, quantity, measureName, tax, price, allowToSell"); 
	ЗаполнитьЗначенияСвойств(ТоварСтруктура, Элементы.Товары.ТекущиеДанные);   
	ТоварыМассив.Добавить(ТоварСтруктура);
	
	
	storeUuid = Элементы.Магазины.ТекущиеДанные.uuid;
	POST("/api/v1/inventories/stores/" + storeUuid + "/products", ТоварыМассив);
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьПродажи(Команда)
	storeUuid = Элементы.Магазины.ТекущиеДанные.uuid; 
	gtCloseDate = ЗаписатьДатуJSON(Дата, ФорматДатыJSON.ISO);
	ltCloseDate = ЗаписатьДатуJSON(КонецДня(Дата), ФорматДатыJSON.ISO);
	ОтветСтруктура = GET("/api/v1/inventories/stores/" + storeUuid + "/documents?" + 
		"gtCloseDate=" + gtCloseDate + ".000+0000&" + 
		"ltCloseDate=" + ltCloseDate + ".000+0000"); 
	
	Продажи.Очистить();
	Для каждого Документ из ОтветСтруктура Цикл 
		Для каждого Транзакция из Документ.transactions Цикл 
			Если Транзакция.type = "REGISTER_POSITION" Тогда 
				НоваяПродажа = Продажи.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяПродажа, Транзакция);
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Функция GET(АдресРесурса)
	HTTPСоединение = Новый HTTPСоединение("api.evotor.ru",,,,,,
		Новый ЗащищенноеСоединениеOpenSSL);
	HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
	HTTPЗапрос.Заголовки.Вставить("x-authorization", token);
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("GET", HTTPЗапрос);
   	ОтветСтрокаJson = HTTPОтвет.ПолучитьТелоКакСтроку(); 
	ОтветЧтениеJSON = Новый ЧтениеJSON;   
	ОтветЧтениеJSON.УстановитьСтроку(ОтветСтрокаJson); 
	ОтветСтруктура = ПрочитатьJSON(ОтветЧтениеJSON); 
	Возврат ОтветСтруктура;
КонецФункции 

&НаКлиенте
Функция POST(АдресРесурса, ТелоСтруктура)
	HTTPСоединение = Новый HTTPСоединение("api.evotor.ru",,,,,,
		Новый ЗащищенноеСоединениеOpenSSL);
	HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
	HTTPЗапрос.Заголовки.Вставить("x-authorization", token);
	HTTPЗапрос.Заголовки.Вставить("content-type","application/json"); 
	
	ТелоЗаписьJSON = Новый ЗаписьJSON;
	ТелоЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ТелоЗаписьJSON, ТелоСтруктура); 
	ТелоСтрока = ТелоЗаписьJSON.Закрыть();
	
	HTTPЗапрос.УстановитьТелоИзСтроки(ТелоСтрока);	
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
   	ОтветСтрока = HTTPОтвет.ПолучитьТелоКакСтроку(); 
	Сообщить(ОтветСтрока);
КонецФункции

 

has been added to your cart:
Оформление заказа