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

Отправить уведомление в МВД

Отправить уведомление в МВД

Используя API-интерфейс вы сможете подготовить исходный файл, отправить уведомление в МВД и получить подтверждение от УФМС.

В МВД можно отправить:

  • анкету постояльца;
  • уведомление о прибытии иностранного гражданина;
  • уведомление о снятии с миграционного учета по месту пребывания;
  • уведомление о заработной плате иностранного гражданина;
  • уведомление о приеме иностранного гражданина, обучающегося в РФ;
  • уведомление об увольнении иностранного гражданина, обучающегося в РФ;
  • отпуск без сохранения заработной платы для иностранного работника, обучающегося в РФ.
Отправьте запрос
Получите ответ
  1. Авторизуйтесь на online.sbis.ru под пользователем с правами «Бухгалтер по отчетности» с помощью протокола O-Auth.
  2. Подготовьте файл уведомления МВД. Для отправки уведомления используется файл xml-формата, который содержит все необходимые реквизиты.

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

    <?xml version="1.0" encoding="UTF-8" ?>
    <ns4:case schemaVersion="1.0"
            xmlns="http://umms.fms.gov.ru/replication/core"
            xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
            xmlns:ns2="http://umms.fms.gov.ru/replication/migration"
            xmlns:ns3="http://umms.fms.gov.ru/replication/foreign-citizen-core"
            xmlns:ns4="http://umms.fms.gov.ru/application/migration/staying">
            <uid>01BE161A-71C4-981D-4126-0A111121AD14</uid>
            <requestId>01f98cb6-da2d-4f59-872c-74b5b912f3c6</requestId>
            <subdivision>
                    <type>officialOrgan</type>
                    <element>7603</element>
                    <value>7603</value>
            </subdivision>
            <employee/>
            <date>2018-12-10T00:00:00</date>
            <number>56565663145464</number>
            <ns2:notificationReceived>2018-12-10</ns2:notificationReceived>
            <ns2:stayPeriod>...</ns2:stayPeriod>
            <ns2:personDataDocument>...</ns2:personDataDocument>
            <ns2:stayPlace>...</ns2:stayPlace>
            <ns2:docResidence>...</ns2:docResidence>
            <ns2:noticeFrom>...</ns2:noticeFrom>
            <ns2:prolongationReason>...</ns2:prolongationReason>
            <ns2:stateProgramMember>...</ns2:stateProgramMember>
            <ns2:host>...</ns2:host>
            <ns2:entrancePurpose>...</ns2:entrancePurpose>
            <ns2:migrationCard>...</ns2:migrationCard>
            <ns2:profession>Врач</ns2:profession>
    </ns4:case>
    

    Значения полей в файле представлены таблицей:

    Наименование

    Значение

    ns4:case

    Данные дела о постановке на миграционный учет

    subdivision

    Территориальный орган ФМС

    employee

    Данные оператора, который вносил дело

    employee.date

    Дата ввода заявления в систему

    employee.number

    Номер заявления в системе поставщика

    ns2:notificationReceived

    Дата приема уведомления

    ns2:stayPeriod

    Период пребывания

    ns2:personDataDocument

    Персональные данные и документ удостоверяющий личность заявителя

    ns2:stayPlace

    Сведения о месте пребывания

    ns2:docResidence

    Данные документа, который подтверждает право пребывания на территории РФ

    ns2:noticeFrom

    Код, определяющий орган/организацию, которая проставила отметку о прибытии

    ns2:prolongationReason

    Причина продления срока временного пребывания гражданина иностранного государства

    ns2:stateProgramMember

    Категория заявителя

    ns2:host

    Данные принимающей стороны

    ns2:entrancePurpose

    Цель въезда

    ns2:migrationCard

    Данные миграционной карты

    ns2:profession

    Профессия

  3. Отправьте уведомление МВД в файловое хранилище и получите идентификатор объекта.
  4. Вызовите метод «СБИС.ЗаписатьКомплект».

    Комментарий

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

    В ответе метода:

    • «Идентификатор», «Вложение.Идентификатор» должны совпасть с соответствующими параметрами вызова метода «СБИС.ЗаписатьКомплект»;
    • значение параметра «Этап.Действие.ТребуетПодписание»=«Да»;
    • параметр «Этап.Действие.ТипПодписи» говорит о том, что будет выполнено подписание для SOAP-протокола портала МВД;
    • «Этап.Вложение.Файл.Хеш» содержит данные, которые вы подписываете.
  6. С помощью закрытой части ключа сформируйте под файлом присоединенную электронную подпись. Она формируется по стандарту XML Signature Syntax and Processing (W3C).

    Пример:

    <?xml version="1.0" encoding="UTF-8"?>
    <ns4:case
            xmlns="http://umms.fms.gov.ru/replication/core"
            xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
            xmlns:ns2="http://umms.fms.gov.ru/replication/migration"
            xmlns:ns3="http://umms.fms.gov.ru/replication/foreign-citizen-core"
            xmlns:ns4="http://umms.fms.gov.ru/application/migration/staying" schemaVersion="1.0">
            <uid>01B81613-7159-AC10-1169-A310F1CBE315</uid>
            <Signature
                    xmlns="http://www.w3.org/2000/09/xmldsig#">
                    <SignedInfo>
                            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                            <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" />
                            <Reference URI="">
                                    <Transforms>
                                            <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                            <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                                    </Transforms>
                                    <DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
                                    <DigestValue>vMTHjkXk/FfeQ6+tFIoEpA3DQbouMXi4EjSw1KTMudo=</DigestValue>
                            </Reference>
                    </SignedInfo>
                    <SignatureValue>f1hpOpTSbck7DU2QQVjX3VBDshKcRaUCLTJEbhM8eWpqnfEFxTX7PMj2ozC8mI5exCd65TXWyfOp3eHz6XJjCQ==</SignatureValue>
                    <KeyInfo>
                            <X509Data>
                                    <X509Certificate>MIIKRzCCCfagAwIBAgIRAS1vt1ZQANWI6BEXY7ZBoDEwCAYGKoUDAgIDMIIBYjEwMC4GA1UECwwn0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMTQwMgYDVQQJDCvQnNC+0YHQutC+0LLRgdC60LjQuSDQv9GA0L7RgdC/0LXQutGCINC0LjEyMQswCQYDVQQGEwJSVTEiMCAGCSqGSIb3DQEJARYTY2FfdGVuc29yQHRlbnNvci5ydTEYMBYGBSqFA2QBEg0xMDY3NjA0MDgxNzEwMiMmIyOTE5Y2EwYWFkYzNkNTMzOTUwMzI2ZmM0YjM5LmNybDBNoEugSYZHaHR0cDovL3Rlc3QtdGVuc29yLWNhMi9jZHAvYzRlMTE2ZDUwYjJiMjkxOWNhMGFhZGMzZDUzMzk1MDMyNmZjNGIzOS5jcmwwgboGCCsGAQUFBwEBBIGtMIGqMFMGCCsGAQUFBzAChkdodHRwOi8vdGVzdC10ZW5zb3ItY2EyL2FpYS9jNGUxMTZkNTBiMmIyOTE5Y2EwYWFkYzNkNTMzOTUwMzI2ZmM0YjM5LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL3Rlc3QtdGVuc29yLWNhMi9haWEvYzRlMTE2ZDUwYjJiMjkxOWNhMGFhZGMzZDUzMzk1MDMyNmZjNGIzOS5jcnQwCAYGKoUDAgIDA0EA3S2MAbQomiMlh24IGKYlyLRViwJA/LoFtrYFkYl32OD3aw4IGTh/U1MZjPTEGcHn6o8n9QBbAVUmQzIJTtx4WA==</X509Certificate>
                            </X509Data>
                    </KeyInfo>
            </Signature>
            <requestId>0e8b9f40-825b-4785-99a3-aeef524f026a</requestId>
            <supplierInfo>963</supplierInfo>
            <subdivision>
                    <type>officialOrgan</type>
                    <element>7603</element>
                    <value>7603 уфмс</value>
            </subdivision>
            <employee>
                    <ummsId>1088430</ummsId>
            </employee>
            <date>2018-12-14T00:00:00</date>
            <number>156576787</number>
            <ns2:notificationReceived>2018-12-14</ns2:notificationReceived>
            <ns2:stayPeriod>
                    <dateFrom>2011-11-11</dateFrom>
            </ns2:stayPeriod>
            <!--здесьвседанныеканонизированногоXMLотчетавМВД-->
            <ns2:entrancePurpose>
                    <type>VisitPurpose</type>
                    <element>139351</element>
            </ns2:entrancePurpose>
    </ns4:case>
    
  7. Вызовите метод «СБИС.ВыполнитьДействие». Файл подписи кодируется в Base64. Передайте его в поле «Документ.Этап.Вложение.Подпись.Файл».
  8. Ваше уведомление в МВД сформировано и отправлено через online.sbis.ru. После отправки, в личном кабинете СБИС появится ваш комплект уведомления о прибытии иностранного гражданина.

    Через некоторое время МВД сформирует и автоматически вышлет квитанцию или уведомление об отказе.

    Чтобы обработать входящие документы действуйте по общему алгоритму внешнего API-интерфейса: сначала обработайте все служебные этапы, которые требуют подписания и расшифровки, после этого скачайте все полученные вложения. В вашей учетной системе должен поддерживаться общий алгоритм, независимо от того, насколько разными могут быть документы служебных этапов.

  1. Вызовите метод «СБИС.СписокИзменений» и найдите событие с полями «ПодТип»=«hotelResponse» и «Тип»=«ОтчетУФМС»

    Комментарий

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

    Пример:

    Уведомление об ошибке:

    <?xmlversion="1.0" encoding="UTF-8" standalone="yes"?>
    <response
            xmlns="http://umms.fms.gov.ru/hotel/hotel-response" schemaVersion="1.0">
            <requestId>0e8b9f40-825b-4785-99a3-aeef524f026a</requestId>
            <entityType>Form5</entityType>
            <error>
                    <externalSystemId>444444444</externalSystemId>
                    <externalCaseId>01B81613-7159-AC10-1169-A310F1CBE315</externalCaseId>
                    <errorMsg>ru.gov.fms.umms.services.core.BusinessException: Не найдена страна для АЛЬФА-3 кода: rus at ru.gov.fms.umms.builders.nativequery.SearchQueryBuilder.getCountryByAlpha3Code(SearchQueryBuilder.java:801)</errorMsg>
            </error>
    </response>