Войти

Настройка FTL ответа

Настройка распознавания ответа вида сведений

Настройка распознавания ответа (FTL ответа) — это настройка, позволяющая преобразовать ответ Вида сведений услуги под эталонный ответ на смену статуса заявления для ЕПГУ

Эталонный ответ на смену статуса заявления

<?xml version="1.0" encoding="UTF-8"?>

<tns:FormDataResponse xmlns:tns="http://foiv.ru/service1/3.1.0">

<tns:changeOrderInfo>

<tns:orderId>123123123</tns:orderId>

<tns:statusCode>

<tns:techCode>3</tns:techCode>

</tns:statusCode>

<tns:comment>Услуга оказана</tns:comment>

<tns:sendMessageAllowed>true</tns:sendMessageAllowed>

<tns:cancelAllowed>true</tns:cancelAllowed>

</tns:changeOrderInfo>

</tns:FormDataResponse>

Рассмотрим теги, которые передаются в блоке FormDataResponse для смены статуса заявления:

  • orderID  — номер заявления
  • statusCode  — передает код статуса и может делиться на два типа:
    • techCode  — портальный статус, который соответствует статусной модели ЕПГУ для заявлений
    • orgCode — «ведомственный» статус. Используется в случае, когда для услуги требуется название статуса, отличное от созданного статуса портала. «Ведомственный статус» должен иметь числовой код, отличающийся от портального, он настраивается специалистами ВКУ отдельно
  • comment — комментарий
  • sendMessageAllowed — признак наличия переписки. Имеет булевый тип
  • cancelAllowed — признак наличия возможности для заявителя отменить заявление в ЛК ЕПГУ. Имеет булевый тип

Рекомендуем для ответа вида сведений услуги использовать точно такой же ответ, тогда делать распознавание ответа не нужно

В случае, если ответ от ИС ведомства отличается от эталонного ответа ЕПГУ, пользователь в личном кабинете увидит следующий статус:

Шаблон распознавания ответа

В шаблоне FTL ответа меняется только обозначение переменных в блоке assign, где мы присваиваем переменным то значение (тег), в котором передаются нужные данные

Обозначение переменных:

  • tech или org — обязательно для заполнения, обозначение для портального статуса (tech — по статусной модели ЕПГУ, org — ведомственный статус)
  • comment — необязательно для заполнения, обозначение комментария от ОИВ
  • cancel — необязательно для заполнения, обозначение признака отмены заявления
  • send — необязательно для заполнения, обозначение признака переписки с ведомством

Важно: значения зависят от регистра, необходимо это учитывать при настройке распознавания ответа. techCode ≠ TechCode!

Шаблон FTL ответа:

<#ftl/>

<#assign tech = xml["//*[local-name()='techCode']"]/> 

<#assign org = xml["//*[local-name()='orgCode']"]/> 

<#assign comment = xml["//*[local-name()='comment']"]/> 

<#assign cancel = xml["//*[local-name()='cancelAllowed']"]/> 

<#assign send = xml["//*[local-name()='sendMessageAllowed']"]/> 

<changeOrderInfo xmlns="http://idecs.atc.ru/privateoffice/ws/changeorderinfo">

<#if tech?has_content || org?has_content>

<#if tech?has_content>

<statusCode>

    <techCode>${tech?xml}</techCode>

</statusCode>

</#if>

<#if org?has_content>

<statusCode>

    <orgCode>${org?xml}</orgCode>

</statusCode>

</#if>

<#if comment?has_content>

<comment>${comment?xml}</comment>

</#if>

<#else>

<statusCode>

    <techCode>5</techCode>

</statusCode>

<comment>Произошла ошибка при обработке заявки. Пожалуйста, обратитесь в службу поддержки пользователей</comment>

</#if>

<#if cancel?has_content>

<cancelAllowed>${cancel?xml}</cancelAllowed>

</#if>

<#if send?has_content>

<sendMessageAllowed>${send?xml}</sendMessageAllowed>

</#if>

</changeOrderInfo>

Настройка распознавания ответа в ВКУ

  1. В настройках услуги перейти в раздел «Настройка процессинга заявлений»
  2. Включить расширенный режим
  3. Заполнить поле «FTL-преобразование ответа по заявлению» скриптом, в котором будут учитываться обозначения переменных вашего вида сведений
  4. Сохранить изменения
расширенные настройки ответ.png

Практика

От ИС приходит ответ следующего вида:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;

<soap:Body>

<soap:Envelope>

<soap:Body>

<ns3:setApplicationResponse xmlns="urn://x-artefacts-mvd-gov-ru/gunk/dob/set-application/application-types/1.0.0" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:ns2="urn://x-artefacts-mvd-gov-ru/gunk/dob/set-application/common-types/1.0.0" xmlns:ns3="urn://x-artefacts-mvd-gov-ru/gunk/inquiry/set-application/1.0.2" sysVersion="1.0.50">

<applicationID>983</applicationID>

<applicationState>

<applicationStateTransitionID>3e57b2ec-af43-40ff-8a30-0137af78a122</applicationStateTransitionID>

<applicationStateName>Зарегистрировано заявление 1-99-23-92 от 2023-05-02</applicationStateName>

<applicationStateTransitionTimestamp>2023-05-02T15:02:02.332Z</applicationStateTransitionTimestamp>

<sourceSystemStateCode>RECEIVED</sourceSystemStateCode>

<stateCanBeCanceled>false</stateCanBeCanceled>

</applicationState>

<applicationContentID>983</applicationContentID>

<ns3:orderId>74138668</ns3:orderId>

<ns3:statusCode>1</ns3:statusCode>

</ns3:setApplicationResponse>

</soap:Body>

<soap:results>

<fileLinks>

<fileLink>terrabyte://00/20004380417/85df0b75-76fe-4e20-ab84-9fcba91a138a/103</fileLink>

<fileLink>terrabyte://00/20004380418/1f247de6-e5c7-4f7c-8d38-fcb1185445c9/103</fileLink>

<fileLink>terrabyte://00/20004380417/85df0b75-76fe-4e20-ab84-9fcba91a138a/5</fileLink>

<fileLink>terrabyte://00/20004380418/1f247de6-e5c7-4f7c-8d38-fcb1185445c9/5</fileLink>

</fileLinks>

</soap:results>

</soap:Envelope>

</soap:Body>

<soap:results/>

</soap:Envelope>

Мы видим, что статус передаётся в теге <statusCode>, а комментарий в теге <applicationStateName>

Исходя из этого, контент преобразования ответа будет следующим:

<#ftl/>

<#assign tech = xml["//*[local-name()='statusCode']"]/>

<#assign org = xml["//*[local-name()='OrgCode']"]/>

<#assign comment = xml["//*[local-name()='applicationStateName']"]/>

<#assign cancel = xml["//*[local-name()='CancelAllowed']"]/>

<#assign send = xml["//*[local-name()='SendMessageAllowed']"]/>

<changeOrderInfo xmlns="http://idecs.atc.ru/privateoffice/ws/changeorderinfo&quot;&gt;

<#if tech?has_content || org?has_content>

<#if tech?has_content>

<statusCode>

    <techCode>${tech?xml}</techCode>

</statusCode>

</#if>

<#if org?has_content>

<statusCode>

    <orgCode>${org?xml}</orgCode>

</statusCode>

</#if>

<#if comment?has_content>

<comment>${comment?xml}</comment>

</#if>

<#else>

<statusCode>

    <techCode>5</techCode>

</statusCode>

<comment>Произошла ошибка при обработке заявки. Пожалуйста, обратитесь в службу поддержки пользователей</comment>

</#if>

<#if cancel?has_content>

<cancelAllowed>${cancel?xml}</cancelAllowed>

</#if>

<#if send?has_content>

<sendMessageAllowed>${send?xml}</sendMessageAllowed>

</#if>

</changeOrderInfo>

Авторизуйтесь, чтобы оставить комментарий к статье