Войти

Настройка 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>

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

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

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

В шаблоне 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>

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

Для настройки распознавания ответа в ВКУ необходимо:

  • Открыть настройки услуги (блок «Информация об услуге» на главное экране ВКУ).
  • Включить расширенный режим.
  • Активировать чекбокс «Добавление ftl ответа».
  • Заполнить поле «Контент распознавания ответа вида сведений» скриптом, в котором будут учитываться обозначения переменных вашего вида сведений.
  • Обновить услугу.


Практика

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

<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>

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