GetManHTTP - HTTP-клиент для 1С:Предприятие: REST-запросы, коллекции, авторизация, импорт из Postman

04.08.26

Интеграция - WEB-интеграция

Внешняя обработка-HTTP-клиент внутри 1С - аналог Postman/Insomnia, но без выхода из платформы. GET/POST/PUT/DELETE/PATCH, JSON/XML/form-data/файлы, Basic/Token/API Key авторизация с наследованием, коллекции с импортом/экспортом (в т.ч. Postman), выполнение с клиента или с сервера.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
GetManHTTP - HTTP-клиент для 1С:Предприятие
.epf 72,79Kb ver:1.3.24
48 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Зачем это нужно

Рано или поздно у любого, кто интегрирует 1С с внешними сервисами, возникает одна и та же история: нужно быстро проверить, как отвечает API, прежде чем писать код HTTPСоединение/HTTPЗапрос в конфигураторе. Как правило большинство разработчиков, думаю используют для этих целей Postman, однако, как правило иногда есть и внутренние и внешние ограничения которые не позволяют с пользовательского ПК отправлять запросы к определенным эндпоинтам. И доступ может быть открытым для клиента, но закрытым для сервера, а также возможна и обратная ситуация. Данная обработка позволяет решить проблему контекстной отправки и здесь реализована возможность как и отправки с клиента, так и отправки с сервера. Проект молодой и находится в стадии развития, поскольку я постоянно работаю с интеграциями и пишу инструмент "для себя" и хотел бы поделится им с другими разработчиками, поэтому распространение данной обработки осуществляется абсолютно бесплатно.

GetManHTTP - это внешняя обработка, которая переносит логику Postman-подобного HTTP-клиента прямо внутрь 1С. Не расширение, не изменение конфигурации - один файл .epf, который открывается через Файл → Открыть в любой базе.

 
Главное окно 

 

Что умеет обработка

Формирование и отправка запроса

  • Методы GET, POST, PUT, DELETE, PATCH.
  • Свои заголовки и query-параметры, с синхронизацией: правите строку URL - таблица параметров обновляется сама, и наоборот.
  • Заголовок можно временно отключить переключателем «активен», не удаляя его из списка.
  • Тело запроса - JSON, XML, form-data или бинарные данные, либо запрос вообще без тела.
  • Ответ 1С форматирует автоматически: JSON и XML приходят в читаемом виде, а не одной строкой.

Файлы в form-data

Каждое поле form-data можно сделать текстовым или файловым - то есть в одном multipart-запросе можно одновременно отправить несколько файлов и обычные текстовые поля. Тело собирается в памяти (лимит 50 МБ), Content-Type можно задать вручную, и всё это одинаково работает и в клиентском, и в серверном режиме выполнения (см. ниже).

Авторизация - с наследованием, а не копипастой

Поддерживаются Basic Auth, Bearer/Token и API Key (заголовок или query-параметр). Ключевая деталь - авторизация иерархическая: можно задать логин/пароль или токен один раз на уровне коллекции, и все запросы внутри неё унаследуют эти параметры автоматически, вместо того чтобы копировать одни и те же креды в каждый запрос вручную.

 
 Тип авторизации

 

Клиент или сервер - то, чего нет ни в одном браузерном REST-клиенте

Каждый сохранённый запрос хранит свой режим выполнения:

Режим Что происходит
Клиент HTTP уходит с рабочей станции пользователя (сеанс толстого клиента).
Сервер HTTP выполняется на сервере приложений 1С (рабочий процесс кластера).

 

В серверном режиме запрос идёт от имени сети и учётной записи сервера, а не ПК пользователя - это значит, что можно достучаться до внутренних адресов, недоступных с клиента, и одновременно значит, что нужно понимать, какие риски это несёт (в репозитории есть отдельная памятка SECURITY.md на этот счёт). Это ровно то различие, которое имеет смысл только внутри 1С и которое ни один браузерный инструмент вроде Postman в принципе не может показать, потому что у него просто нет понятия «сервер 1С».

Дерево запросов и коллекции

Запросы - не одноразовая форма, а библиотека, которая сохраняется между сеансами 1С: иерархическое дерево с папками, добавление/переименование/ удаление через контекстное меню, группировка в именованные коллекции со своими настройками (включая авторизацию, которую и наследуют дочерние запросы).

 
 Дерево запросов

Импорт и экспорт коллекций - в том числе из Postman

Коллекцию можно выгрузить и загрузить обратно двумя способами:

  1. Нативный JSON-формат GetManHTTP (GetManHTTP.Collection, схема v1) - с полным сохранением UUID коллекции и элементов, чтобы можно было безопасно гонять коллекцию туда-обратно между разными базами и версиями обработки без потерь. Формат задокументирован отдельно и двуязычно - docs/collection-format.md.
  2. Postman Collection v2.1 - можно принести уже существующую коллекцию из Postman и продолжить работать с ней в 1С, либо выгрузить свою коллекцию в Postman-совместимый JSON. То, чего Postman не умеет (скрипты, JWT/более сложные типы авторизации, сохранённые ответы) при импорте просто игнорируется, без падений.

Ответ запроса

Код статуса, время выполнения, индикатор «Выполнен: клиент/сервер», заголовки ответа и форматированное тело - всё на одной панели. Тело ответа можно сохранить в файл, расширение (JSON/XML/HTML) подбирается автоматически по Content-Type ответа.

 
 Ответ запроса

Настройки

HTTP-таймаут, интервал автосохранения (само автосохранение по умолчанию выключено), контекст выполнения по умолчанию для новых запросов.

 
 Глобальные настройки

 

 

Пример: как это выглядит в работе

Типичный сценарий: перед тем как писать интеграционный код в конфигураторе, открываете GetManHTTP прямо в тестовой базе, собираете запрос к API (со всеми заголовками и авторизацией, какие потребуются в проде), сразу проверяете его в серверном режиме - то есть именно так, как он реально пойдёт из рабочей системы, а не с вашего ПК разработчика - и только после этого переносите проверенную логику в код. Это снимает целый класс проблем «у меня в Postman работает, а с сервера - нет», которые иногда всплывают уже на этапе тестирования готовой интеграции.

 

Куда развивается проект

Разработка ведётся открыто, весь план - в issues репозитория на GitHub. Ближайшие и не очень направления:

Новые типы авторизации (сейчас есть Basic / Token / API Key, дальше в очереди):

Удобство работы с запросами:

Интеграция и импорт/экспорт:

 

Для желающих принять участие в развитии

  • Баги и идеи - через issues на GitHub (есть готовые шаблоны для бага и для фичи), также можете писать в комментариях, я буду учитывать и заводить issues самостоятельно и вводить предложенный функционал в новые версии.
  • Хотите помогать с доработками - структура проекта, требования к окружению для сборки и линта, порядок оформления PR описаны в CONTRIBUTING.md.

 

Установка

  1. Скачайте последний релиз (GetManHTTP.epf) — GitHub Releases или файл, приложенный к этой публикации.
  2. Откройте в 1С через Файл → Открыть.

Требования: 1С:Предприятие 8.3.26 (на более ранних версиях не тестировал, однако есть предположение что будет запускаться начиная с версии 8.3.24) или выше, доступ в интернет/локальную сеть, разрешение на использование внешних обработок.

Стоимость - бесплатно, или же скачать можно тут

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.12.281

Вступайте в нашу телеграмм-группу Инфостарт

HTTP REST API Postman интеграция внешняя обработка OAuth JSON веб-сервисы обмен данными EDT BSL

См. также

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23626    73    52    

44

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    43797    76    45    

32

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24956    38    26    

29

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    6925    28    4    

30
Для отправки сообщения требуется регистрация/авторизация