Представьте: водитель доставки получает на Android-планшет акт выполненных работ, подписывает его за 15 секунд, и документ сразу уходит в бухгалтерию. Без сканера, без бумаги, без курьера. Так работает мобильный ЭДО. Но за этой простотой скрывается сложная интеграция: API, криптография, юридическая значимость. Мы делаем так, чтобы ваш электронный документооборот работал на мобильных устройствах без сюрпризов — с облачной подписью, push-уведомлениями и безопасным кэшированием.
Интеграция СЭД в мобильное приложение — это не про «прикрутить API». Это про выбор оператора, тип подписи, формат документов и регуляторные требования. Наш опыт: более 50 интеграций с Диадок, СФЕРА, 1С-ЭДО. Разберём ключевые моменты.
Как облачная подпись упрощает юридически значимый ЭДО?
Юридически значимый ЭДО требует квалифицированной электронной подписи (КЭП) или неквалифицированной (НЭП) в зависимости от типа документа. Это ключевое отличие от «нажать кнопку Подписать» в интерфейсе. На мобильном устройстве подписание реализуется несколькими способами.
Облачная подпись (рекомендуется для мобильных). КЭП хранится в защищённом хранилище оператора ЭДО или удостоверяющего центра. Приложение запрашивает подписание через API — пользователь подтверждает операцию через SMS-код или push-уведомление. Закрытый ключ никогда не покидает облако. Диадок предоставляет облачную подпись через Контур.Крипто. Этот подход в 10 раз безопаснее хранения КЭП на устройстве — риск утечки ключа минимален.
Работа через токен/смарт-карту. Подключение USB-токена (Рутокен, eToken) через Lightning/USB-C адаптер — экзотика для мобильных, но бывает в промышленных сценариях. Требует специальных SDK от производителя токена и поддержки MFi.
Простая электронная подпись (ПЭП). Для внутреннего ЭДО (согласование внутри компании, не требующее КЭП) можно обойтись ПЭП — это по сути авторизованное действие пользователя в системе, которое логируется. Юридическая сила ниже, но для внутреннего оборота достаточно.
| Тип подписи | Использование | Безопасность | Юридическая сила |
|---|---|---|---|
| Облачная КЭП | Внешний файлообмен с контрагентами | Максимальная (ключ у оператора) | Высокая, соответствует 63-ФЗ |
| Токен/смарт-карта | Промышленные сценарии | Высокая (ключ на носителе) | Высокая |
| ПЭП | Внутреннее согласование | Средняя (логируется) | Низкая |
Как устроена интеграция с Диадок API?
Авторизация — OAuth 2.0 с client credentials или через Контур.ID. Для мобильного приложения используем Authorization Code Flow:
GET https://auth.kontur.ru/api/authorization/v5.7/oauth/login
?client_id={client_id}
&response_type=code
&redirect_uri=myapp://auth/callback
&scope=diadoc
После получения code обмениваем на access_token. Токен живёт ограниченное время — реализуем автоматическое обновление через refresh_token.
Получение списка документов:
GET https://diadoc-api.kontur.ru/V3/GetDocuments
?boxId={boxId}&filterCategory=Any.Incoming
Authorization: DiadocAuth ddauth_api_client_id={client_id},ddauth_token={token}
Ответ — XML или JSON в зависимости от заголовка Accept. Для мобильного предпочтительнее JSON.
Работа с документами на устройстве
Просмотр PDF. Диадок возвращает документы в формате PDF или TIFF (для формализованных документов — XML). На iOS рендерим PDF через PDFKit (встроен с iOS 11), для TIFF — через UIImage. На Android — PdfRenderer или библиотека AndroidPdfViewer. Для XML формализованных документов (УПД, счёт-фактура) нужен рендеринг через XSLT-шаблон — Диадок предоставляет печатные формы через API.
Подписание. При облачной подписи: POST /V3/PostSignatures с DocumentId и подтверждением пользователя. API возвращает статус подписания асинхронно — нужен polling или вебхук.
Создание исходящего документа. Для неформализованных документов: пользователь прикрепляет PDF/DOCX из файловой системы (UIDocumentPickerViewController / ACTION_OPEN_DOCUMENT), мы делаем POST /V3/PostMessagePatch с base64-encoded содержимым файла и метаданными.
Формализованные документы (УПД, ТОРГ-12, акты)
Это отдельная история. Формализованные документы — это XML по форматам ФНС (приказы ММВ-7-15/820@, ЕД-7-26/736@). Их нельзя просто прикрепить как файл — нужно генерировать XML из данных по формату. Диадок предоставляет генератор XML через POST /GenerateTorg12XmlForSeller, POST /GenerateUniversalTransferDocumentXmlForSeller и аналогичные методы.
На мобильном в большинстве случаев пользователь не создаёт УПД с нуля — он согласовывает или подписывает уже созданный документ. Создание формализованных документов логичнее делать на веб-интерфейсе или в ERP.
Уведомления о новых документах
Push при поступлении нового документа на согласование — ключевая фича для рабочего ЭДО-приложения. Диадок поддерживает вебхуки (POST /V3/Subscriptions): при новом событии система делает POST на ваш endpoint, сервер отправляет FCM/APNs push. Обработка на мобильном: нажатие на пуш открывает список документов с фильтром «требует действия».
Офлайн и кэширование
Документы кэшируем локально — пользователь может просматривать уже загруженные документы без интернета. Для чувствительных данных — шифруем кэш через iOS Data Protection (класс NSFileProtectionComplete) или Android Keystore + AES-256. Список документов можно хранить в Core Data / Room с синхронизацией при появлении сети.
Что входит в работу по интеграции?
Мы предоставляем интеграцию под ключ с передачей всей документации и доступами. Вот что вы получаете:
- Аудит требований и выбор оператора ЭДО под ваш сценарий.
- Реализация авторизации (OAuth 2.0) и списка документов.
- Просмотр PDF/TIFF/XML формализованных документов.
- Подписание через облачную подпись или ПЭП.
- Push-уведомления при поступлении новых документов.
- Кэширование с шифрованием (AES-256) для офлайн-доступа.
- Документация и обучение команды.
- Пост-релизная поддержка на 3 месяца.
Как мы внедряем ЭДО: процесс и сроки
- Аудит требований: какие типы документов, какая подпись (КЭП/НЭП/ПЭП), какой оператор ЭДО уже используется в компании.
- Выбор метода подписания: облачная подпись — единственный разумный вариант для мобильных пользователей без корпоративного MDM.
- Прототип интеграции: тестовая среда Диадока / другого оператора, базовые запросы.
- Разработка: авторизация, список документов, просмотр, подписание.
- Тестирование: юридические сценарии обязательно проверяем с оператором ЭДО.
- Аудит безопасности: хранение токенов, шифрование кэша, защита от перехвата.
Сроки зависят от сложности: просмотр и согласование без создания документов — 3–4 недели. Полный цикл с созданием, подписанием и интеграцией облачной КЭП — 2–3 месяца. Работа с формализованными документами добавляет ещё 2–4 недели.
| Этап | Срок | Описание |
|---|---|---|
| Аудит | 1–2 дня | Сбор требований, выбор оператора |
| Прототип | 3–5 дней | Тестовые запросы, проверка API |
| Разработка | 2–4 недели | Авторизация, документы, подписание |
| Тестирование | 1–2 недели | Юридические сценарии, безопасность |
| Деплой | 2–3 дня | Публикация в сторах, настройка push |
Типичные ошибки при интеграции ЭДО:
- Не учитывать обязательность КЭП для внешних контрагентов — внутренний ПЭП не подойдёт.
- Хранить закрытый ключ на устройстве без шифрования — риск компрометации.
- Игнорировать форматы ФНС для формализованных документов — штрафы и отказ оператора.
- Забывать про автообновление токена — пользователь будет часто переавторизовываться.
- Не кэшировать документы — пользователь не сможет работать офлайн.
Кейс: логистическая компания
Интегрировали ЭДО для логистической компании: 1500 документов в день, подписание актов на Android-планшетах водителями. Выбрали облачную подпись через Диадок, реализовали авторизацию по Контур.ID, push-уведомления при поступлении документов. Просмотр PDF через WebView, подписание — по кнопке с подтверждением SMS. Время от открытия до подписания — 15 секунд. До внедрения — 3 дня на бумагу. Сокращение сроков согласования — в 17 280 раз быстрее. Экономия на операционных затратах — до 60%.
Какие операторы ЭДО доступны для интеграции?
| Оператор | API | Аккредитация ФНС | Особенности |
|---|---|---|---|
| Диадок API | REST API | Да | Наиболее распространён, хорошая документация |
| СФЕРА Курьер (СКБ Контур) | REST API | Да | Акцент на логистические документы |
| 1С-ЭДО | Нет публичного API | Да | Только через шлюз 1С |
| Tinkoff ЭДО | REST API | Да | Более новый, документация развивается |
| ЭДО Лайт (Тензор, СБИС) | REST API | Да | Интеграция с экосистемой СБИС |
Для новых проектов чаще выбираем Диадок — наиболее полный API, большая клиентская база.
Когда нужна квалифицированная подпись?
Согласно Федеральному закону №63-ФЗ, для внешнего оборота с контрагентами обязательна КЭП. Внутренние согласования могут обходиться ПЭП. Облачная подпись решает проблему безопасности: вы получаете юридическую значимость без риска утери ключа. Федеральный закон №63-ФЗ «Об электронной подписи» регулирует виды подписей и их применение.
Дополнительные сведения о безопасности
При облачной подписи оператор обязан обеспечить защиту ключей в сертифицированном ФСБ хранилище. Это снижает риски утечки и соответствует требованиям регуляторов.Свяжитесь с нами для бесплатной консультации по выбору оператора и оценке проекта — мы подберём оптимальное решение под ваш бизнес. Закажите demo-версию, чтобы увидеть интеграцию в действии.







