Войти

Настройка 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. Заполнить поле «Контент распознавания ответа вида сведений» скриптом, в котором будут учитываться обозначения переменных вашего вида сведений
  5. Обновить услугу

Практика

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

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

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