Интеграция 1С-Битрикс с системой ЭДО СБИС под ключ

Интеграция 1С-Битрикс с системой ЭДО СБИС Компания теряет до 80% времени сотрудников на ручной ввод документов в веб-кабинет СБИС. Один наш клиент — оптовый поставщик продуктов — тратил 15 минут на создание каждого документа. При 500 заказах в месяц это 125 часов работы одного менеджера. После ин
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс с системой ЭДО СБИС под ключ
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1442
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    752
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    873
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    794
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1154

Интеграция 1С-Битрикс с системой ЭДО СБИС

Компания теряет до 80% времени сотрудников на ручной ввод документов в веб-кабинет СБИС. Один наш клиент — оптовый поставщик продуктов — тратил 15 минут на создание каждого документа. При 500 заказах в месяц это 125 часов работы одного менеджера. После интеграции с Битрикс документы уходят автоматически при смене статуса заказа. Технически СБИС (Тензор) предоставляет собственный JSONRPC-протокол, отличный от REST-концепции Диадока. Для интеграции потребуется PHP-клиент с сессионной авторизацией, поддержкой облачной подписи и обработкой роуминга. Ниже — как это реализовать и избежать типовых ошибок.

Выбор СБИС часто вынужденный — если контрагент использует только этого оператора. Но интеграция окупается: снижается время обработки заказов, исчезают ошибки ручного ввода. Мы провели более 50 интеграций с ЭДО и накопили типовые решения. Средняя экономия за год составляет $16k–23k., а при объёме от 1000 документов в месяц — до $27k–39k. на операционных расходах.

Как работает API СБИС?

СБИС использует JSONRPC-подобный протокол. Все вызовы идут на единый endpoint POST https://online.sbis.ru/service/ с телом в формате:

{ "jsonrpc": "2.0", "method": "СБИС.АутентифицироватьПоПаролю", "params": { "Логин": "[email protected]", "Пароль": "***" }, "id": 1 } 

Методы называются по-русски. Это нетипично, но стабильно работает — Тензор поддерживает эту нотацию много лет.

Работа с API: авторизация, отправка и статусы

Авторизация и сессия

class SbisClient { private string $baseUrl = 'https://online.sbis.ru/service/'; private ?string $sid = null; public function __construct( private string $login, private string $password, private string $inn ) {} public function authenticate(): void { $response = $this->call('СБИС.АутентифицироватьПоПаролю', [ 'Логин' => $this->login, 'Пароль' => $this->password, ]); $this->sid = $response['result']; } public function call(string $method, array $params): array { $payload = [ 'jsonrpc' => '2.0', 'method' => $method, 'params' => $params, 'id' => uniqid(), ]; $headers = ['Content-Type: application/json; charset=utf-8']; if ($this->sid) { $headers[] = 'X-SBISSessionID: ' . $this->sid; } $ch = curl_init($this->baseUrl); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, ]); $body = curl_exec($ch); return json_decode($body, true); } } 

Сессия хранится в Redis/APC и переиспользуется. При истечении (обычно 24 часа) — автоматическая реавторизация.

Отправка документа

public function sendDocument(\Bitrix\Sale\Order $order): string { $document = [ 'Документ' => [ 'Тип' => 'ДокОтгрВх', 'Дата' => date('d.m.Y'), 'Номер' => (string)$order->getId(), 'Сумма' => $order->getPrice(), 'НДС' => $this->calculateVat($order), 'Контрагент' => [ 'ИНН' => $this->getOrderInn($order), 'КПП' => $this->getOrderKpp($order), ], 'Вложение' => [[ 'Имя' => "UPD_{$order->getId()}.xml", 'ДвоичныеДанные' => base64_encode($this->generateXml($order)), ]], ], ]; $result = $this->call('СБИС.ОтправитьДокумент', ['Документ' => $document]); return $result['result']['Идентификатор'] ?? ''; } 

Структура документа в СБИС отличается от Диадока — названия полей по-русски, но логика та же: XML с подписью КЭП + метаданные.

Получение статусов

public function getDocumentStatus(string $documentId): string { $result = $this->call('СБИС.ПолучитьДокумент', [ 'Идентификатор' => $documentId, ]); return $result['result']['Документ']['Состояние'] ?? 'Неизвестно'; } 

Возможные статусы: 'Отправлен', 'Доставлен', 'Подписан', 'Отказано', 'Аннулирован'. Для наглядности сведём их в таблицу.

Статус Описание
Отправлен Документ передан в СБИС, ожидает обработки
Доставлен Документ получен контрагентом
Подписан Контрагент подписал документ (ЭДО завершён)
Отказано Контрагент отказался от подписания
Аннулирован Отправка отменена (до подписания)

Облачная подпись и роуминг

СБИС поддерживает облачную подпись через сервис «СБИС Облачная подпись» — сертификат хранится на серверах Тензора, подпись происходит через API без необходимости устанавливать КриптоПро на продакшн-сервере. Это существенно упрощает деплой. Облачная подпись выполняется вызовом метода СБИС.ПодписатьОблачнойПодписью, куда передаются идентификатор сертификата и xml-содержимое. Облачная подпись сокращает время развёртывания интеграции в 2 раза по сравнению с настройкой КриптоПро CSP.

СБИС поддерживает роуминг с Диадоком и другими операторами. Документ, отправленный через СБИС, доставляется контрагенту в Диадоке автоматически. Это снимает проблему «у нас СБИС, у них Диадок» в большинстве случаев. В коде это означает: один API-вызов к СБИС, доставка прозрачна для отправителя.

Как настроить интеграцию за 3 шага?

  1. Получить доступ к API СБИС. Убедитесь, что тариф включает ЭДО, и получите логин/пароль от аккаунта.
  2. Реализовать PHP-клиент. Используйте приведённый выше класс SbisClient — он покрывает аутентификацию, отправку и статусы.
  3. Привязать к событиям Битрикс. Навесьте обработчик на смену статуса заказа (например, OnSaleOrderSaved) для автоматической отправки.

Этот базовый сценарий занимает 3–4 недели с учётом отладки. При необходимости добавьте обработку облачной подписи и роуминга.

Кейс из практики: интеграция для поставщика продуктов питания

Наш клиент — оптовый поставщик продуктов — работал через несколько ЭДО-операторов одновременно (часть контрагентов — через Диадок, часть — через СБИС, часть — через ЭДО Лайт ФНС). Задача: единый интерфейс в Битрикс для работы со всеми ЭДО без переключения между веб-кабинетами.

Архитектура:

Создан абстрактный класс EdoProvider с методами send(), getStatus(), getList(). Реализации: DiadokProvider, SbisProvider, FnsEdoProvider. Выбор провайдера — через реестр, ключ — BoxId контрагента.

interface EdoProviderInterface { public function send(\Bitrix\Sale\Order $order, string $recipientId): string; public function getStatus(string $documentId): EdoStatus; public function cancel(string $documentId, string $reason): bool; } 

При создании заказа система автоматически определяет ЭДО-оператора контрагента через общий справочник. Менеджер видит в карточке заказа Битрикс единый блок «Документы ЭДО» независимо от того, через какого оператора работает контрагент.

Результаты:

Показатель До После
Операторов ЭДО в работе 3 (переключение вручную) 3 (единый интерфейс)
Время создания документа 15 мин/заказ Автоматически при смене статуса
Ошибки маршрутизации ~8%/мес 0%
Затраты на документооборот $1.1k–1.6k./мес $270–390./мес

Для каждого провайдера реализован свой формат XML-документа. СБИС требует русскоязычные названия тегов, Диадок — английские. Преобразование выполняется в адаптере. Статусы синхронизируются по расписанию cron каждые 10 минут.

Что входит в работу?

  • Регистрация в СБИС, получение API-доступа
  • Настройка облачной подписи или КриптоПро CSP
  • Разработка PHP-клиента СБИС API
  • Генерация XML-документов в формате ФНС
  • Обработчики событий Битрикс: отправка при смене статуса заказа
  • Синхронизация статусов через polling (cron)
  • Отображение статуса в карточке заказа
  • Документация и обучение менеджеров
  • Поддержка после запуска (2 недели)

Сроки ориентировочно

Базовая интеграция с одним оператором — 3–4 недели. При работе с несколькими ЭДО-операторами через единый интерфейс — 8–12 недель. Стоимость рассчитывается индивидуально после анализа ваших процессов.

Какие ошибки возникают при интеграции?

  • Неправильный выбор оператора. Если контрагент использует другой ЭДО, необходимо настроить роуминг. СБИС поддерживает его с большинством операторов, но список нужно проверять.
  • Отсутствие повторных попыток. API может временно не отвечать — добавляйте retry с экспоненциальной задержкой.
  • Истечение сессии. Сессия СБИС живёт 24 часа — реализуйте автоматическую реавторизацию.

Преимущества интеграции под ключ

Мы выполнили более 50 интеграций с различными ЭДО, работаем с Битрикс более 10 лет. Ваш проект получит готовое решение с гарантией стабильности и поддержкой. Свяжитесь с нами для оценки вашего проекта. Закажите интеграцию под ключ — получите единый интерфейс для всех ЭДО без головной боли.