НТТР Коннектор для 1С:Предприятие 8
Процедуры и функции работы с НТТР соединением по API в формате JSON
Готовый модуль процедур и функции при интеграции приложения 1С с внешними системами по методам API (Application Programming Interface или интерфейс программирования приложений).
Модуль содержит совокупность процедур и функций для взаимодействия в качестве клиента с сервером через HTTP соединение по методам API, которые большинство крупных компаний разрабатывают для клиентов целю связать свой продукт с 1С.
Модуль работает с платформой 8.3.10 и выше. Модуль продается в виде внешней обработки. Все функции и процедуры находятся в модуле обработки и имеют описание . Скопируйте модуль обработки в общий модуль прикладного решения.
Стоимость обработки с библиотекой функций и процедур в модуле объекта стоит 8 000 руб. Для приобретения обработки обратитесь ко мне на почту master1c8x@mail.ru. Полный список моих дополнительных отчетов , обработок и расширений можно посмотреть здесь
Практический пример использования
Пример Функция ВыполнитьМетодAPI
Отправляет данные на указанный адрес для обработки с использованием указанного HTTP-метода. Используется при обмене с торговой площадкой
Параметры:
- HTTPМетод- Строка – имя HTTP-метода для запроса (POST, GET, PUT, DELETE).
- ПараметрыЗапроса – Структура или Соответствие:
- <Ключ> – Строка – ключ параметра в URL.
- <Значение> – Строка – значение параметра URL или – Массив – сформирует строку из нескольких параметров: key=value1&key=value2 и т.д.
- ApiМетод – Строка – Имя метода API
- СтруктураВозврата – Структура возврата выполнения
- Ошибка – Булево ( Истина – Возникла ошибка выполнения).
- ОтправляемоеСообщение – Строка – Отправляемое строковое сообщение пользователю
- РезультатЧтения – Соответствие
- ПараметрыВыполнения – Структура параметров выполнения;
- АдресСервера
- ApiKey
- ПроизводитьЛогированиеОпераций
- УчетнаяЗапись – СправочникСсылка Учетной записи или ссылка на узел плана обмена
- ПараметрыЗаписиJSON – Структура – параметры, используемые при записи объекта JSON (См. в синтаксис-помощнике описание ПараметрыЗаписиJSON)
Возвращаемое значение: булево
- Истина – операция выполнено успешно
- Ложь – Операция не выполнено
Функция ВыполнитьМетодAPI(HTTPМетод, ПараметрыЗапроса, ApiМетод, СтруктураВозврата, ПараметрыВыполнения, ПараметрыЗаписиJSON = Неопределено) Экспорт
URL = "https://" + ПараметрыВыполнения.АдресСервера + "/" + ApiМетод;
Заголовки = ПолучитьЗаголовокиПодключения("json", "json");
Если ПустаяСтрока(ПараметрыВыполнения.ApiKey) тогда
СтруктураВозврата.Вставить("ОтправляемоеСообщение", "Не заполнен ApiKey");
СтруктураВозврата.Вставить("Ошибка", Истина);
иначе
Заголовки.Вставить("Authorization", СокрЛП(ПараметрыВыполнения.ApiKey));
КонецЕсли;
ополнительныеПараметры = Новый Структура("Заголовки, ПараметрыВыполнения, ПараметрыЗаписиJSON", Заголовки, ПараметрыВыполнения, ПараметрыЗаписиJSON);
Если ТипЗнч(ПараметрыЗапроса) = Тип("Структура") тогда
ПараметрыЗапросаОтправляемые = СтруктураВСоответствие(ПараметрыЗапроса);
Иначе
ПараметрыЗапросаОтправляемые = ПараметрыЗапроса;
КонецЕсли;
//Выполнение метода
Попытка
Если HTTPМетод = "POST" тогда
РезультатЧтения = HTTPметодPost(URL, ПараметрыЗапросаОтправляемые, ДополнительныеПараметры);
ИначеЕсли HTTPМетод = "GET" тогда
РезультатЧтения = HTTPметодJson(URL, ПараметрыЗапросаОтправляемые, ДополнительныеПараметры);
ИначеЕсли HTTPМетод = "PUT" тогда
РезультатЧтения = HTTPметодPut(URL, ПараметрыЗапросаОтправляемые, ДополнительныеПараметры);
ИначеЕсли HTTPМетод = "DELETE" тогда
РезультатЧтения = HTTPметодDelete(URL, ПараметрыЗапросаОтправляемые, ДополнительныеПараметры);
Конецесли;
// Вставим результат выполнения в структуру возврата
СтруктураВозврата.Вставить("РезультатЧтения", РезультатЧтения);
Если РезультатЧтения <> Неопределено Тогда
СтруктураВозврата.Вставить("ОтправляемоеСообщение", "Нет ответа от "+URL+": "+ОписаниеОшибки());
СтруктураВозврата.Вставить("Ошибка", Истина);
КонецЕсли;
Исключение
СтруктураВозврата.Вставить("ОтправляемоеСообщение", "Нет ответа от "+URL+": "+ОписаниеОшибки());
СтруктураВозврата.Вставить("Ошибка", Истина);
КонецПопытки;
Возврат НЕ СтруктураВозврата.Ошибка;
КонецФункции
Вызов функции на примере использования одного из метода api из маркетплейс Wildberries GET метод /api/v1/config/object/byparent – Получение списка объектов по патенту
Процедура ПолучитьСписокРеквизитовКарточкиПоПаренту(ПараметрыВыполнения, СтруктураВозврата) Экспорт
ИмяМетода = "api/v1/config/object/byparent";
СтрПарам = Новый Структура; СтрПарам.Вставить("parent",СокрЛП(ПараметрыВыполнения.parent));
Результат = ВыполнитьМетодAPI("GET", СтрПарам, ИмяМетода, СтруктураВозврата, ПараметрыВыполнения);
Если Результат тогда
РезультатЧтения = СтруктураВозврата.РезультатЧтения;
МассивДанных = РезультатЧтения.получить("data");
Если МассивДанных <> Неопределено тогда
// Тут обрабатываем массив данных
Конецесли;
КонецЕсли;
КонецПроцедуры
Стоимость обработки с библиотекой функций и процедуре в модуле объекта стоит 7500 руб. Для приобретения обработки обратитесь ко мне на почту master1c8x@mail.ru . Полный список моих дополнительных отчетов , обработок и расширений можно посмотреть здесь