Перейти к содержанию

Авторизация

Что нужно для подключения

  • ОГРН и КПП организации
  • Сертификат электронной подписи (ГОСТ 34.10-2012), загруженный в личный кабинет ФИС
  • Адреса серверов (уточнить в тех. поддержке ФИС) — см. environments.md

Схема авторизации

1. Сформировать Token-Header (JSON → Base64)
2. Подписать Token-Header своим сертификатом (PKCS#7 detached)
3. POST /api/session/new → получить Session-Key
4. Использовать Session-Key во всех последующих запросах (12 часов)

Token-Header

JSON-объект, кодируется в Base64 и передаётся в заголовке каждого запроса.

Для /api/session/new

{
  "Ogrn": "1234567890123",
  "Kpp": "123456789",
  "Month": 5
}

Month — порядковый номер текущего месяца (1–12). Должен совпадать с месяцем отправки запроса.

Для /api/token/new

{
  "action": "Add",
  "data_type": "ApplicationList",
  "OGRN": "1234567890123",
  "KPP": "123456789",
  "cert64": "<Base64 сертификата>"
}
Поле Описание
action Действие: Add, Edit, GetBy, GetDirect, GetAll, Remove
data_type Тип сущности, например ApplicationList, CampaignList
OGRN ОГРН организации (13 символов)
KPP КПП организации (9 символов)
cert64 Сертификат ЭП в Base64

Электронная подпись

  • Алгоритм: ГОСТ 34.10-2012
  • Формат: detached PKCS#7
  • Подписываемые данные: конкатенация Token-Header + "." + payload_base64

Операции чтения (GetBy, GetDirect, GetAll) подписи не требуютsignature_base64 передаётся пустой строкой.

Session-Key

Возвращается в ответе на /api/session/new:

{
  "Session-Key": "skey+ahekxcjuaw3hafaksSdfhajk=+2025-05-12_12-24",
  "Deprecated": "skey+trhDxcjuaw3hafaksSdfGtab=+2025-05-12_11-20"
}

Структура ключа: skey + <данные> + <дата_время_истечения> (три части через +).

Важно: - Использовать ключ целиком, не разбивая на части - Действует 12 часов с момента получения - При запросе нового ключа — старый аннулируется немедленно - Не чаще одного запроса в 3 минуты - Поле Deprecated (если присутствует) — информация об отозванном старом ключе

Ошибки авторизации

Код Причина Решение
401 Организация не найдена или нет сертификата Загрузить сертификат в ЛК ФИС
209 Подпись не соответствует данным Проверить формирование подписываемой строки
211 Сертификат не найден у организации Проверить ОГРН/КПП в Token-Header
212 Попытка доступа к данным другой организации Проверить ОГРН/КПП