← Назад к вопросам

Опиши принцип работы со сторонними API

2.3 Middle🔥 201 комментариев
#Интеграции и обмены

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Принципы работы со сторонними API в 1С

Основные методы подключения

В 1С есть несколько способов работать с внешними API и сервисами:

1. HTTP запросы через встроенный объект HTTPСоединение

Это основной и самый распространённый способ. 1С позволяет отправлять GET, POST, PUT, DELETE запросы:

Соединение = Новый HTTPСоединение(
    "api.example.com",
    443,
    ,,
    Новый ЗащищённоеСоединениеOpenSSL());

Запрос = Новый HTTPЗапрос("/v1/documents");
Запрос.УстановитьТелоИзСтроки(
ПреобразуватьВJSON(
    Новый Структура("Название", "Новый документ")));
Запрос.Заголовки.Вставить(
    "Authorization",
    "Bearer " + АпиКлюч);

Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Данные = ПарсерJSON.ПарситьСтроку(Ответ.ПолучитьТелоКакСтроку());

2. Web-сервисы 1С (SOAP)

Можно создавать в конфигурации Web-сервис и вызывать методы удалённого сервера через SOAP протокол. Это более типизированный подход, но требует подготовки на стороне сервера.

3. Обмены данными

1С имеет встроенный механизм обмена — можно использовать готовые форматы (1С-JSON, XML) для обмена с другими системами. Это удобно для синхронизации справочников и документов.

Обработка ответов API

Ответ от API содержит:

  • Статус код (200, 404, 500 и т.д.) — всегда нужно проверять
  • Заголовки (Content-Type, Authorization требования)
  • Тело ответа (JSON, XML, текст)
Если Ответ.КодСостояния <> 200 Тогда
    ВызватьИсключение("Ошибка API: " + Ответ.КодСостояния);
КонецЕсли;

СтрокаОтвета = Ответ.ПолучитьТелоКакСтроку();
Данные = ПарсерJSON.ПарситьСтроку(СтрокаОтвета);

Аутентификация

Чаще всего используются:

  • API ключи — передаются в заголовках Authorization: Bearer <token>
  • Basic Auth — логин и пароль в заголовках
  • OAuth — для сложных сценариев с делегированием прав
Запрос.Заголовки.Вставить(
    "Authorization",
    "Basic " + КодироватьСтроку(
        "user:password",
        "UTF-8"));

Обработка ошибок и таймауты

Нужно всегда обрабатывать два типа ошибок:

  • Сетевые ошибки — нет соединения, таймаут
  • API ошибки — неверные данные, 404, 500
Попытка
    Ответ = Соединение.ОтправитьДляОбработки(Запрос,, 30);
Исключение
    ЗаписатьОшибку("Ошибка подключения к API", ОписаниеОшибки());
КонецПопытки;

Логирование и мониторинг

Имеет смысл логировать все запросы и ответы для отладки. В 1С есть встроенный журнал регистрации, где можно писать информацию о вызовах API.

Частые проблемы

  • Таймауты — очень длинные запросы лучше делать асинхронно через фоновые задачи
  • Rate limiting — API может ограничивать количество запросов в секунду, нужно это учитывать
  • Версионирование — API со временем меняются, нужно следить за версией
  • SSL сертификаты — на некоторых версиях 1С могут быть проблемы с проверкой сертификатов