Отчетность через интернет

Запросить электронный лист нетрудоспособности

Запросить электронный лист нетрудоспособности

С помощью API вы можете подготовить и отправить файл запроса электронного листа нетрудоспособности (ЭЛН). В ответ на него, ФСС пришлет подтверждение о получении вашего запроса и листок нетрудоспособности.

1. Отправьте запрос ЭЛН
2. Получите лист нетрудоспособности от ФСС

Чтобы отправить файл запроса ЭЛН:

  1. Авторизуйтесь на online.sbis.ru с помощью метода «СБИС.Аутентифицировать» под пользователем с правами «Бухгалтер по отчетности».
  2. Подготовьте файл запроса ЭЛН. Для отправки используйте служебный формат файла СБИС.

    Пример

    <?xml version="1.0" encoding="windows-1251" ?>
    <fil:getPrivateLNData
            xmlns:fil="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl">
            <fil:regNum>7736043300</fil:regNum>
            <fil:lnCode>900000020587</fil:lnCode>
            <fil:snils>51287574805</fil:snils>
    </fil:getPrivateLNData>
    
    • В поле «regNum» укажите регистрационный номер работодателя в ФСС.
    • В поле «lnCode» — номер листка нетрудоспособности.
    • В поле «snils» — СНИЛС получателя пособия.
  3. Отправьте запрос ЭЛН в файловое хранилище и получите идентификатор объекта.
  4. Вызовите метод «СБИС.ЗаписатьКомплект».

    Комментарий

    • В полях «Идентификатор», «Расширение.ИдентификаторКомплекта», «Вложение.Идентификатор» передаются уникальные значение при каждом вызове метода.
    • Значение поля «Сведения.Период.ИдентификаторВложения» должно совпадать со значением поля «Вложение.Идентификатор».
    • Значение полей «Тип», «Подтип», «Вложение.Подтип», «Вложение.ВерсияФормата», «Вложение.ПодверсияФормата» нужно всегда указывать согласно справочнику типов документов и типов вложений.
  5. Вызовите метод «СБИС.ПодготовитьДействие».

  6. Подпишите криптографический хеш, который получен в ответе «СБИС.ПодготовитьДействие».

    Обратите внимание: стандарт подписи отличается от обычной CMS, который используется для отправки отчетности в ФНС или в электронном документообороте. Для подписи используется стандарт «XMLDSig» с типом «Enveloping».
    Чтобы подписать хеш используйте функцию «WinAPI CryptSignHash» или ее аналог.

  7. Вызовите метод «СБИС.ВыполнитьДействие».

Итог: запрос ЭЛН сформирован и отправлен через online.sbis.ru. После отправки, в личном кабинете СБИС появится ваш комплект электронного листка нетрудоспособности.

Через несколько минут ФСС сформирует и автоматически вышлет электронный листок нетрудоспособности.

Теперь нужно обработать служебные этапы и скачать с online.sbis.ru расшифрованный ЭЛН.

Чтобы получить листок нетрудоспособности:

  1. Вызовите метод «СБИС.СписокСлужебныхЭтапов». В параметрах укажите реквизиты организации, по которой будете обрабатывать служебные этапы.

  2. Для этапа ответа вызовите метод «СБИС.ПодготовитьДействие».

  3. Расшифруйте тело ответа. Для этого скачайте файл по ссылке в ответе от метода «СБИС.ПодготовитьДействие» («Этап.Вложение.Файл.Ссылка»).
  4. Чтобы обеспечить конфиденциальность передаваемых данных сервис высылает ответ, который зашифрован по стандарту «XMLEncryptionSyntaxandProcessing(W3C)».

    Шифрование сессионного ключа и данных происходит по алгоритму ГОСТ 28147-89. Описание алгоритмов в спецификации сервиса Страхователя ФСС.

    С учетом этих особенностей, для расшифровки в вашей информационной системе нужно создать собственную реализацию по работе с «Encrypted XML». При этом можно пользоваться низкоуровневыми функциями «Crypto API».

    На вход передайте тело сообщения ответа, которое приведено в примере выше.

  5. Вызовите метод «СБИС.ВыполнитьДействие». Расшифрованные данные передайте на вход в поле «ДвоичныеДанные». Тело ответа кодируется в Base64.
  6. Если методы «СБИС.ПодготовитьДействие» и «СБИС.ВыполнитьДействие» не были вызваны, то документооборот по ЭЛН не будет завершен. Метод «СБИС.ПодготовитьДействие» не возвращает ответ, а выполняет только обработку ответа. Для получения ответа используйте данные метода «СБИС.СписокИзменений».
  7. Повторяйте вызов метода «СБИС.СписокСлужебныхЭтапов» пока он не вернет пустой массив этапов и пока все этапы не будут обработатаны.
  8. Когда все служебные этапы будут обработаны, получите ответы с online.sbis.ru. Для этого вызовите метод «СБИС.СписокИзменений». Вместе с ответами с сайта, команда вернет расшифрованные вами ответы.

    Комментарий

    • Метод «СБИС.СписокИзменений» вернет в поле «Событие» список завершенных событий документооборота по всем документам в кабинете контрагента. К каждому событию приложены расшифрованные файлы и подписи.
    • В полученном списке документов и событий необходимо отфильтровать события по запросу ЭЛН.
      К запросу ЭЛН относятся документы со значением полей «Документ.Тип»=«РеестрФСС» и «Документ.Расширение.ПодТип»=«GETPRIVATELDATA».
      Расчет ЭЛН прикреплен к событию с полем «Документ.Событие.Название»=«ответ».
    • Значения полей «Состояние» и «Событие.Группа» описывают состояние документооборота по больничному.
    • Вызов метода «СБИС.СписокИзменений» нужно повторять в цикле, пока не будут обработаны все события. Для этого в вашей учетной системе должен храниться идентификатор последнего обработанного события (из поля «Событие.Идентификатор»). Передайте его на вход при следующем вызове метода «СписокИзменений».
  9. Скачайте файл по ссылке в поле «Событие.Вложение.Файл.Ссылка». Ссылка находится в событии «Ответ», вложение с подтипом «GETPRIVATELNDATARESPONSE».

    Пример файла ЭЛН:

    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:getPrivateLNDataResponse
            xmlns:ns1="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl"
            xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <ns1:FileOperationsLnUserGetPrivateLNDataOut>
                    <ns1:REQUEST_ID>GETLNINS_7736043300_2018_11_12_00005</ns1:REQUEST_ID>
                    <ns1:STATUS>1</ns1:STATUS>
                    <ns1:DATA>
                            <ns1:OUT_ROWSET>
                                    <ns1:ROW>. . . </ns1:ROW>
                            </ns1:OUT_ROWSET>
                    </ns1:DATA>
            </ns1:FileOperationsLnUserGetPrivateLNDataOut>
    </ns1:getPrivateLNDataResponse>