REST API для интеграции с 1С
Полная документация по API для загрузки документов, подписания, отправки клиентам и проверки подписей из 1С:Предприятие
list Оглавление
- vpn_key Аутентификация
- account_tree Типовой сценарий
- folder Список документов
- description Получить документ
- upload_file Загрузить документ
- draw Подписать (сервер)
- send Отправить клиенту
- verified_user Проверить подписи
- people Список клиентов
- archive Скачать ZIP-архив
- block Отозвать документ
- key Загрузить контейнер
- delete Удалить контейнер
- verified Загрузить подписанный
- sms ПЭП: отправить
- refresh ПЭП: переотправить код
- info ПЭП: статус
- group_add ПЭП: массовая отправка
- error Коды ошибок
- code Примеры для 1С
- download Скачать обработку
vpn_key Аутентификация
Все запросы к API требуют передачи ключа api_key в GET-параметре. Ключ настраивается в панели администратора (Настройки → 1С API).
| Параметр | Значение |
|---|---|
| Базовый URL | https://cert4u.ru/api.php |
| Аутентификация | GET-параметр api_key |
| Формат ответа | JSON (UTF-8) |
| Лимит запросов | 60 запросов в минуту |
Важно: API должен быть включён в настройках (параметр onec_api_enabled). Если API отключён, все запросы вернут ошибку 403.
account_tree Типовой сценарий подписания
Полный цикл работы с документом через API:
api_1c_upload — загрузить PDF/DOCX файл в системуapi_1c_sign_admin — серверная подпись (OpenSSL SHA-256)api_1c_send — отправить ссылку на подписание (SMS/email)УКЭП (КриптоПро в браузере) или ПЭП (код из SMS/email)
api_1c_verify + api_1c_download_zip — проверить подписи, получить архивfolder Список документов
Возвращает список всех документов в системе.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ |
Пример запроса
Пример ответа
Статусы документа
| Статус | Описание |
|---|---|
new | Загружен, не подписан |
signed_admin | Подписан администратором |
sent | Отправлен клиенту на подписание |
completed | Подписан обеими сторонами |
description Получить документ
Возвращает подробную информацию об одном документе.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ |
id | string | обяз. | ID документа |
Пример запроса
Пример ответа
upload_file Загрузить документ
Загружает новый документ в систему. Используйте multipart/form-data.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
document | file | обяз. | Файл документа (pdf, doc, docx, txt, rtf, odt, xls, xlsx, png, jpg) |
doc_name | string | обяз. | Название документа |
description | string | опц. | Описание документа |
client_id | string | опц. | ID клиента (привязка) |
Пример запроса (cURL)
Пример ответа
Максимальный размер файла: определяется настройками PHP на сервере (обычно 20 МБ). Допустимые расширения: pdf, doc, docx, txt, rtf, odt, xls, xlsx, png, jpg, jpeg.
draw Подписать администратором
Подписывает документ серверным ключом (OpenSSL SHA-256 RSA). Документ должен быть в статусе new.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
doc_id | string | обяз. | ID документа (JSON body или GET) |
Пример запроса
Пример ответа
send Отправить клиенту
Отправляет клиенту ссылку для подписания по SMS и/или email. Документ должен быть в статусе signed_admin.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
doc_id | string | обяз. | ID документа |
client_id | string | опц. | Переопределить клиента |
sign_type | string | опц. | ukep_only, pep_only или пусто (оба варианта) |
Пример запроса
Пример ответа
Клиент сможет подписать только УКЭП (КриптоПро)
Только ПЭП (код из SMS/email)
verified_user Проверить подписи
Полная криптографическая проверка подписей документа. Для УКЭП используется КриптоПро CSP (ГОСТ Р 34.10-2012). Возвращает данные сертификата: ИНН, СНИЛС, ОГРН и другие реквизиты.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ |
id | string | обяз. | ID документа |
Пример запроса
Пример ответа (УКЭП)
Поля stored_cert_info
| Поле | Описание |
|---|---|
subject_cn | ФИО / наименование организации |
subject_inn | ИНН подписанта |
subject_snils | СНИЛС подписанта |
subject_ogrn | ОГРН организации |
subject_org | Организация |
subject_title | Должность |
subject_email | |
issuer_cn | Удостоверяющий центр |
serial | Серийный номер сертификата |
thumbprint | Отпечаток (SHA1) |
valid_from / valid_to | Срок действия сертификата |
Валидация подписи (63-ФЗ)
Для каждой УКЭП-подписи в ответе api_1c_verify и в поле cert_validation документа возвращается юридический статус:
| Поле | Описание |
|---|---|
legal_status | UKEP_OK — соответствует УКЭП по 63-ФЗUKEP_SUSPECT — УКЭП, но есть поведенческие маркерыUNEP — не соответствует УКЭП (УНЭП) |
problems[] | Критические проблемы (влияют на legal_status) |
warnings[] | Предупреждения (не влияют на статус) |
manual_review[] | Маркеры, требующие ручной проверки |
codes[] | Коды всех сработавших проверок |
auc | Информация об аккредитации УЦ (реестр Минцифры) |
revocation | Статус отзыва сертификата (CRL) |
Проверки при подписании (блокировка)
Настраиваются в кабинете оператора → Настройки → Валидация подписей. При включении — клиент получит отказ при попытке подписать:
| Параметр (validation_checks) | Описание |
|---|---|
REQUIRE_INN_MATCH | ЭЦП должна совпадать со стороной договора. Блокирует если ИНН в сертификате ≠ ИНН контрагента в системе |
REQUIRE_TRUSTED_CA | УКЭП только из доверенного УЦ. Блокирует если УЦ не в реестре аккредитованных УЦ Минцифры РФ |
KEY_USAGE_NON_REPUDIATION | Требовать атрибут nonRepudiation в сертификате |
REQUIRE_KC2_PLUS | Требовать аппаратное СКЗИ (класс KC2+) |
require_ukep_strict | Глобально блокировать все УНЭП-подписи |
people Список клиентов
Возвращает список всех клиентов (контрагентов) в системе.
Пример ответа
archive Скачать ZIP-архив
Скачивает полный комплект документов в ZIP-архиве.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ |
id | string | обяз. | ID документа |
Содержимое архива
| Файл | Описание |
|---|---|
Документ.pdf | Оригинал документа |
Документ_server.sig | Подпись администратора (CAdES-BES или OpenSSL) |
server.crt | Сертификат сервера |
Документ_client.sig | Подпись клиента (УКЭП) или .pep.txt (ПЭП) |
protocol.txt | Текстовый протокол подписания |
protocol.pdf | PDF-протокол со штампом «Подписано ЭП» |
Пример запроса
block Отозвать документ
Отзывает документ — ссылка для подписания деактивируется, клиент видит сообщение об отзыве с причиной. Нельзя отозвать уже подписанный (completed) документ.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
doc_id | string | обяз. | ID документа |
reason | string | опц. | Причина отзыва (видна клиенту) |
Пример запроса
Пример ответа
Статусы документа
| Статус | Можно отозвать? | Описание |
|---|---|---|
new | Да | Новый, не подписан сервером |
signed_admin | Да | Подписан сервером, не отправлен |
sent | Да | Отправлен клиенту, ожидает подписи |
completed | Нет | Подписан обеими сторонами |
rejected | Да | Отклонён клиентом |
revoked | — | Уже отозван |
key Серверная подпись (УКЭП из 1С без браузера)
Позволяет загрузить контейнер закрытого ключа на сервер и подписывать документы УКЭП через API — без КриптоПро Browser plug-in. Контейнер шифруется вашим PIN-кодом (AES-256-CBC), сервер PIN не хранит.
upload Загрузить контейнер УКЭП
Загружает контейнер закрытого ключа КриптоПро для серверной подписи. Контейнер шифруется вашим PIN и хранится в зашифрованном виде. Только для тенантных ключей (не admin).
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
pin | string | обяз. | PIN-код (мин. 4 символа) для шифрования контейнера |
container | file | опц.* | Файл контейнера (multipart upload) |
container_base64 | string | опц.* | Контейнер в base64 (JSON body) |
* Укажите container или container_base64
Пример запроса
Пример ответа
Безопасность: контейнер шифруется AES-256-CBC с ключом = SHA-256(PIN + user_id). Сервер не хранит PIN. Для подписания нужно передавать PIN в каждом запросе api_1c_sign_admin.
delete Удалить контейнер УКЭП
Удаляет загруженный контейнер закрытого ключа с сервера. Только для тенантных ключей.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
Пример запроса
Пример ответа
verified Загрузить подписанный документ
Загружает документ вместе с готовой открепленной подписью (.sig). Используется когда документ уже подписан на стороне клиента (например, в КриптоАРМ). Сервер верифицирует подпись через КриптоПро CSP и извлекает данные сертификата.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
document | file | обяз. | Файл документа (PDF, DOCX и др.) |
signature | file | обяз. | Файл подписи (.sig) |
doc_name | string | обяз. | Название документа |
description | string | опц. | Описание |
client_id | string | опц. | ID клиента |
cert_info | JSON string | опц. | Данные сертификата (если не указан — извлекаются из .sig) |
Пример запроса
Пример ответа
sms API для ПЭП (простая электронная подпись)
Упрощённый набор методов для работы с простой электронной подписью. Позволяет отправить документ на подписание ПЭП в один запрос.
sms ПЭП: отправить документ
Комбинированный метод: загружает документ (или использует существующий) + подписывает сервером + отправляет клиенту на ПЭП. Весь цикл за один запрос.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
client_id | string | обяз. | ID клиента |
doc_id | string | опц. | Использовать существующий документ |
document | file | опц. | Загрузить новый файл |
doc_name | string | опц. | Название (при загрузке нового) |
description | string | опц. | Описание |
Пример запроса (новый документ)
Пример запроса (существующий документ)
Пример ответа
refresh ПЭП: переотправить код
Генерирует новый 6-значный код и отправляет его повторно клиенту. Документ должен быть в статусе sent.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
doc_id | string | обяз. | ID документа |
method | string | опц. | sms, email или both (по умолч. sms) |
Пример ответа
info ПЭП: проверить статус
Возвращает текущий статус ПЭП-документа и данные клиента.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ |
doc_id | string | обяз. | ID документа |
Пример ответа
group_add ПЭП: массовая отправка
Отправляет один документ на ПЭП-подписание сразу нескольким клиентам. Для каждого клиента создаётся копия документа.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
api_key | string | обяз. | API ключ (GET) |
doc_id | string | обяз. | ID исходного документа |
client_ids | array/string | обяз. | Массив ID клиентов или строка через запятую |
Пример запроса
Пример ответа
error Коды ошибок
| HTTP код | Сообщение | Причина |
|---|---|---|
401 | Неверный API ключ | Неправильный или отсутствующий api_key |
403 | API для 1С отключен | Не включён параметр onec_api_enabled в настройках |
404 | Документ не найден | Неправильный doc_id или id |
400 | Не указан id документа | Пропущен обязательный параметр |
400 | Документ уже подписан | Попытка повторной подписи или отправки |
429 | Превышен лимит запросов | Более 60 запросов за минуту |
Формат ошибки
code Примеры кода для 1С:Предприятие
Функция HTTP-запроса (базовая)
Функция POST-запроса (JSON)
Загрузка файла (multipart/form-data)
Полный цикл: загрузка → подпись → отправка
Проверка подписи и получение ИНН/СНИЛС
Скачать ZIP-архив
Быстрая ПЭП-отправка (один запрос)
Массовая отправка ПЭП
download Готовая обработка для 1С:Предприятие
Скачайте готовые файлы для сборки внешней обработки (.epf). Внутри — полный исходный код модулей и пошаговая инструкция по сборке в Конфигураторе 1С.
Регистрация обработки, сведения для справочника дополнительных обработок
download Module_ObjectModule.bslВся бизнес-логика: загрузка, подпись, отправка, проверка, скачивание ZIP
download Form_MainForm_Module.bslПошаговая сборка .epf в Конфигураторе: реквизиты, формы, команды
download Инструкция по сборкеchecklist Что умеет обработка
Совместимость: 1С:Бухгалтерия, 1С:УНФ, 1С:Управление торговлей, 1С:ERP, 1С:ЗУП и любая конфигурация на управляемых формах (платформа 8.3.14+).