Http-сервисы
Механизм для предоставления данных через HTTP протокол. Современная альтернатива веб-сервисам.
Ключевые свойства
| Понятие | Описание | Особенность в 1С |
|---|---|---|
| REST архитектура | Работа с ресурсами через HTTP методы | GET/POST/PUT/DELETE |
| JSON поддержка | Основной формат обмена | Автоматическая сериализация |
| Простота | Минимальная настройка | Без WSDL, XSD |
| Производительность | Меньший объем передаваемых данных | Особенно с JSON |
Разница HTTP vs WEB
| Аспект | HTTP-сервисы (REST) | Web-сервисы (SOAP) |
|---|---|---|
| Архитектура | Ориентированы на ресурсы (/orders/{id}) | Ориентированы на действия (СоздатьЗаказ()) |
| Данные | Преимущественно JSON, любой формат | Только XML |
| Объем данных | Меньше (особенно с JSON) | Больше (XML overhead + Base64) |
| Типизация | Динамическая, гибкая | Строгая, через XSD |
| Использование | Обмен данными, мобильные приложения | Выполнение операций, 1С-1С интеграция |
REST API
Это набор правил и стандартный «язык», чтобы приложения могли просто и надежно обмениваться данными через интернет, когда серверное приложение дает доступ к своим данным клиентскому приложению по определенному URL.
Всё считается ресурсами (пользователи, товары, статьи), к которым обращаются по уникальному URL-адресу (например, api/v1/orders).
Ключевые принципы REST в 1С:
GET /api/v1/orders → Получить список заказов
POST /api/v1/orders → Создать новый заказ
GET /api/v1/orders/123 → Получить заказ 123
PUT /api/v1/orders/123 → Обновить заказ 123
DELETE /api/v1/orders/123 → Удалить заказ 123
Критические нюансы
Преимущества:
- JSON как основной формат — легче, чем XML
- Прямая передача бинарных данных — без Base64
- Простая отладка — через браузер, Postman
Ограничения:
- Нет строгого контракта — как WSDL
- Меньше встроенной валидации — нужно писать свою
- Требует знания HTTP — статусы, заголовки, методы
Когда выбирать
Идеальные кейсы:
- Мобильные приложения — JSON + REST = стандарт
- Микросервисная архитектура — легкие HTTP-вызовы
- Публичные API — для партнеров, клиентов
Авторизация
Процесс проверки прав доступа к HTTP-сервису. Определяет, кто и какие операции может выполнять.
Основные методы авторизации:
| Метод | Как работает | Преимущества | Недостатки |
|---|---|---|---|
| Basic Auth | Логин/пароль в заголовке Authorization: Basic base64(login:password) | Простота реализации, поддержка везде | Пароль в каждом запросе, нужен HTTPS |
| API Key | Ключ в заголовке или параметре X-API-Key: your-key | Просто для клиента, легко отозвать | Ключ в каждом запросе, может попасть в логи |
| Bearer Token (JWT) | Токен в заголовке Authorization: Bearer <token> | Stateless, содержит данные, проверка подписи | Сложнее реализации, управление сроком жизни |
| OAuth 2.0 | Получение access token через authorization server | Стандарт де-факто, безопасность, делегирование прав | Сложная настройка, overhead для простых случаев |
Выбор метода для разных сценариев:
| Сценарий | Рекомендуемый метод | Почему |
|---|---|---|
| Внутренняя интеграция (1С ↔ 1С) | Basic Auth или API Key | Простота, обе системы под контролем |
| Публичное REST API | JWT или OAuth 2.0 | Стандарт для REST, безопасность, масштабируемость |