Интеграция с 1Cv8
В том случае, если вы используете типовую конфигурацию 1С:Управление торговлей 11.4, вы можете воспользоваться типовой обработкой, которая позволит вам быстро загружать заказы в Максоптру. Инстркукцию по использованию обработки см. здесь.
Для организации взаимодействия обмена данными между 1С и Максоптрой мы предлагаем механизм REST API, для работы с которым создали тестовый внешний обработчик (epf), который доступен по ссылке: RestAPI_demo_v2.epf
Естественно, что клиент должен сконфигурировать предлагаемый образец внешней формы в соответствии со своими данными.
Образец настроен на аккаунте test ( start.maxoptra.com/test ) и использует пользователя со следующими данными:
Логин: test
Пароль: test
Во всех процедурах, где используются эти данные, необходимо прописать свои данные, полученные при передаче клиенту триального (или постоянного) аккаунта.
В Максоптре можно создать своего пользователя с любым именем и паролем.
Мы настоятельно рекомендуем для работы с API-запросами создавать отдельного пользователя, чтобы не было конфликтов при одновременной работе в аккаунте через веб-интерфейс и используя API-запросы.
Не забывайте в настройках вновь создаваемых пользователей проставлять галочки с разрешением работы с API:
Например был получен аккаунт start.maxoptra.com/demo01860 с пользователем newuser и паролем 1234
В этом случае в предлагаемой для теста процедуре необходимо вместо стандартного:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) АдресСервиса="start.maxoptra.com"; Порт="80"; Аккаунт = "test"; Логин = "test"; Пароль = "test"; ДатаЗаказов=КонецДня(ТекущаяДата()) + 1; ...
прописать свои данные:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) АдресСервиса="start.maxoptra.com"; Порт="80"; // 80 - по умолчанию для http используется порт80, Аккаунт = "demo01860"; Логин = "newuser"; Пароль = "1234"; ДатаЗаказов=КонецДня(ТекущаяДата()) + 1; ...
Для непосредственного формирования запросов используются стандартные методы языка 1С (8.3, 8.2) для работы с http-запросами (get и post), например, как в примере ниже в процедуре Авторизация используется Новый HTTPЗапрос():
&НаКлиенте Процедура Авторизация(Команда) //Соединение = Новый HTTPСоединение(АдресСервиса); Соединение = Новый HTTPСоединение(АдресСервиса, Порт); Запрос = Новый HTTPЗапрос("/rest/2/authentication/createSession?accountID="+Аккаунт+"&user="+Логин+"&password="+Пароль); Запрос.УстановитьТелоИзСтроки("", КодировкаТекста.UTF8); тс= Запрос.ПолучитьТелоКакСтроку(); Ответ = Соединение.ОтправитьДляОбработки(Запрос); СтрокаОтвета = Ответ.ПолучитьТелоКакСтроку(); сообщить(ТС); Сообщить(СтрокаОтвета); Парсер = Новый ЧтениеXML; Парсер.УстановитьСтроку(СтрокаОтвета); Пока Парсер.Прочитать() Цикл Если Парсер.ТипУзла = ТипУзлаXML.НачалоЭлемента и Парсер.Имя = "authResponse" Тогда Парсер.Прочитать(); Если Парсер.ТипУзла = ТипУзлаXML.НачалоЭлемента и Парсер.Имя = "sessionID" Тогда Парсер.Прочитать(); Если Парсер.ТипУзла = ТипУзлаXML.Текст Тогда ИДСессии = Парсер.Значение; прервать; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ПолучитьAoC(1); КонецПроцедуры
Используя описания методов API, которые понимает Максоптра ( доступны по этой ссылке ), а также тестовый внешний обработчик, можно организовать передачу и получение практически любых данных из 1С в Максоптру и обратно.