Интеграция с информационной системой

Отправить расчет электронного листа нетрудоспособности

Отправить расчет электронного листа нетрудоспособности

Если у вас уже есть сформированный электронный больничный лист (ЭЛН), вы можете отправить в Фонд социального страхования расчетные данные по нему. После обработки расчета, ФСС пришлет на него ответ.

Отправьте ЭЛН в ФСС
Получите и расшифруйте ответ
  1. Авторизуйтесь на online.sbis.ru под пользователем с правами «Бухгалтер по отчетности» с помощью протокола O-Auth.

    Если вы уже вошли на портал, добавьте заголовки запросов X-SBISAccessTokenX-SBISDeviceId. Повторная авторизация запрещена.

  2. Подготовьте файл расчета ЭЛН. Для отправки расчета используйте служебный формат СБИС.

    Пример:

    <?xml version="1.0" encoding="windows-1251"?>
    <eln:prParseReestrFile
            xmlns:eln="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl">
            <eln:request>
                    <eln:regNum>7736043300</eln:regNum>
                    <eln:pXmlFile>
                            <eln:ROWSET eln:version="1.1" eln:software="СБИС" eln:version_software="2.4.615" eln:author="ДобродомоваОльгаПавловна" eln:phone="123-432" eln:email="qwert@ya.ru">
                                    <eln:ROW Id="ELN_900000020587">
                                            <eln:LN_CODE>900000020587</eln:LN_CODE>
                                            <eln:SNILS>51287574805</eln:SNILS>
                                            <eln:EMPLOYER>Байт, ООО</eln:EMPLOYER>
                                            <eln:EMPL_FLAG>1</eln:EMPL_FLAG>
                                            <eln:EMPL_REG_NO>7736043300</eln:EMPL_REG_NO>
                                            <eln:EMPL_PARENT_NO>77361</eln:EMPL_PARENT_NO>
                                            <eln:APPROVE1>ДобродомоваОльгаПавловна</eln:APPROVE1>
                                            <eln:APPROVE2>ДобродомоваОльгаПавловна</eln:APPROVE2>
                                            <eln:BASE_AVG_SAL>1800000.00</eln:BASE_AVG_SAL>
                                            <eln:BASE_AVG_DAILY_SAL>2465.75</eln:BASE_AVG_DAILY_SAL>
                                            <eln:INSUR_YY>4</eln:INSUR_YY>
                                            <eln:INSUR_MM>2</eln:INSUR_MM>
                                            <eln:NOT_INSUR_YY>0</eln:NOT_INSUR_YY>
                                            <eln:NOT_INSUR_MM>0</eln:NOT_INSUR_MM>
                                            <eln:CALC_CONDITION1>43</eln:CALC_CONDITION1>
                                            <eln:CALC_CONDITION2>44</eln:CALC_CONDITION2>
                                            <eln:CALC_CONDITION3>45</eln:CALC_CONDITION3>
                                            <eln:FORM1_DT
                                                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true">
                                            </eln:FORM1_DT>
                                            <eln:RETURN_DATE_EMPL>2001-01-01</eln:RETURN_DATE_EMPL>
                                            <eln:DT1_LN>2018-10-01</eln:DT1_LN>
                                            <eln:DT2_LN>2018-10-09</eln:DT2_LN>
                                            <eln:EMPL_PAYMENT>4500.00</eln:EMPL_PAYMENT>
                                            <eln:FSS_PAYMENT>9000.00</eln:FSS_PAYMENT>
                                            <eln:PAYMENT>13500.00</eln:PAYMENT>
                                            <eln:CORRECTION_REASON>01</eln:CORRECTION_REASON>
                                            <eln:CORRECTION_NOTE>новыеданные18</eln:CORRECTION_NOTE>
                                            <eln:LN_HASH>0EB585EE2DBC03D2602AD48045A6713B</eln:LN_HASH>
                                    </eln:ROW>
                            </eln:ROWSET>
                    </eln:pXmlFile>
            </eln:request>
    </eln:prParseReestrFile>
    
  3. Отправьте расчет ЭЛН в файловое хранилище и получите идентификатор объекта.
  4. Вызовите метод «СБИС.ЗаписатьКомплект».

    Комментарий

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

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

    ФСС требует подписывать расчет ЭЛН тремя подписями: страхователя, руководителя и главного бухгалтера. Это может быть подпись одного и того же лица, но в трех копиях.

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

Расчет ЭЛН отправлен через online.sbis.ru. После его обработки ФСС пришлет на него зашифрованный ответ . Ответ может содержать перечень ошибок в файле расчета.

Теперь нужно получить и расшифровать ответ.

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

    В ответе метода обратите внимание:

    • метод вернул один «Этап.Действие» ответ с типом «ТребуетРасшифровки»;
    • идентификатор документа, которому соответствует «Этап» совпадает с идентификатором отправленного в поле «ЗаписатьКомплект» документа;
    • метод может вернуть больше одного этапа (максимум 20, для указанных параметров Навигации). Типы этапов и их документы могут быть разными, но все они должны быть обработаны по общему алгоритму.
  2. Для этапа ответ вызовите метод «СБИС.ПодготовитьДействие». Он вернет ссылку на зашифрованное тело файла.
  3. Скачайте тело зашифрованного файла по ссылке в объекте «Этап.Вложение.Файл.Ссылка».

    Пример файла:

    <?xml version="1.0" encoding="UTF-8"?>
    <xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
            xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
            <xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147"/>
            <ds:KeyInfo
                    xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                    <xenc:EncryptedKey
                            xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
                            <xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001"/>
                            <ds:KeyInfo>
                                    <ds:X509Data>
                                            <ds:X509Certificate> . . . </ds:X509Certificate>
                                    </ds:X509Data>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                    <xenc:CipherValue>. . .</xenc:CipherValue>
                            </xenc:CipherData>
                    </xenc:EncryptedKey>
            </ds:KeyInfo>
            <xenc:CipherData>
                    <xenc:CipherValue>. . .</xenc:CipherValue>
            </xenc:CipherData>
    </xenc:EncryptedData>
    
  4. Чтобы обеспечить конфиденциальность передаваемых данных сервис высылает ответ, который зашифрован по стандарту XMLEncryptionSyntaxandProcessing(W3C).

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

    С учетом этих особенностей, создайте операции расшифровки в вашей информационной системе. На вход передайте тело сообщения ответа, которое приведено в примере выше.

  5. Вызовите метод «СБИС.ВыполнитьДействие» и передайте расшифрованные данные на вход в поле «ДвоичныеДанные».

  6. Когда все служебные этапы будут обработаны, получите свежие ответы с online.sbis.ru. Для этого вызовите метод «СБИС.СписокИзменений», который вернет, в том числе, и расшифрованные вами ответы.

    Комментарий

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

    Пример:

    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:prParseReestrFileResponse
            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:WSResult>
                    <ns1:REQUEST_ID>LNDATAINS_7736043300_2018_11_12_00005</ns1:REQUEST_ID>
                    <ns1:STATUS>1</ns1:STATUS>
                    <ns1:MESS>OK</ns1:MESS>
                    <ns1:INFO>
                            <ns1:ROWSET>
                                    <ns1:ROW>
                                            <ns1:ROW_NO>1</ns1:ROW_NO>
                                            <ns1:LN_CODE>900000020587</ns1:LN_CODE>
                                            <ns1:LN_HASH>DF2B39E0A4AFF112D39EC11190DAB53E</ns1:LN_HASH>
                                            <ns1:LN_STATE>060</ns1:LN_STATE>
                                            <ns1:STATUS>1</ns1:STATUS>
                                    </ns1:ROW>
                            </ns1:ROWSET>
                    </ns1:INFO>
            </ns1:WSResult>
    </ns1:prParseReestrFileResponse>