Виджет для услуги «Регистрация транспортного средства»
Размещение кода встраивания виджета производится типовым для Открытой Платформы Госуслуг способом. Для встраивания виджета на портал необходимо подключить библиотеку виджетов на страницу портала и вызвать javascript-функцию «rooxWidgetStart», указав необходимые параметры запроса.
Параметры функции rooxWidgetStart для виджета
Типовые параметры
Следующие параметры являются общими для виджетов Открытой платформы:
Параметр | Обязательность | Назначение |
features_loaded | Нет | Указывается значение 'org. jquery. core-1.7.2', если на странице уже присутствует библиотека jquery. Если библиотека на странице не используется, то параметр можно не указывать. |
st: "esia_1.0_<token>" | Нет | в параметре <token> указать маркер доступа ЕСИА, выданный пользователю (указывается только для renderType: 'inline') |
rt: "esia_1.0_<token>" | Да | в параметре <token> указать маркер доступа ЕСИА, выданный на систему |
Пользовательский и системный токены
При вызове виджетов, портал должен передать в параметры функции rooxWidgetStart пользовательский и системный токен ЕСИА:
Системный токен (маркер доступа ЕСИА, выданный на систему) должен содержать scope http://sf. gosuslugi. ru/sf_api Пользовательский токен (маркер доступа ЕСИА, выданный пользователю) должен содержать scopе http://sf. gosuslugi. ru/data, а также набор атомарных scope, соответствующие запрашиваемой посредством виджета услуге.Для услуги, описанной в данной инструкции, требуется следующий набор атомарных scope:
- fullname; birthdate; gender; inn; contacts; id_doc; vehicles.
Код встраивания виджета для тестового контура (inline)
<!-- 1 --><script src="https://widget-svcdev. test. gosuslugi. ru/widgets/res/js/embed/addwidget-1.2.5.min. js"></script>
<!-- 3 --><div id="car-registry"></div>
<script>
rooxWidgetStart({
scheme: "https",
wrsHost: 'widget-svcdev. test. gosuslugi. ru',
wrs: 'wrs-4.1',
/* 4 */ widget: 'https://widget-svcdev. test. gosuslugi. ru/widgets/epgu-wrapper/epgu-wrapper. xml',
method: 'POST',
/* 5 */ params: {
renderType: 'inline',
doTokenInjection: 'true',
up_mnemonic: '10000027177',
up_targetFormId: '10000593393',
up_targetId: '12',
up_passportId: '10059',
view: 'svcdev',
features_loaded: 'org. jquery. core-1.7.2'//только если на странице уже есть jQuery
},
/* 6 */ auth: {
tokens: {
st: "esia_1.0_<user_token>",//Вставить пользовательский токен
rt: "esia_1.0_<system_token>"//Вставить системный токен
}
}
},
document. getElementById("car-registry")) .
onReady(function (){/* 2 */ $.getScript('com-rooxteam-auth. js')}).
onError(function (errOptions, el){
/* 7 */ el. innerHTML = 'WRS Error: ' + errOptions. status;
});
</script>
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания; скрипт, содержащий функции для авторизации (переписывает метод com. rooxteam. auth. requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания; элемент, в который будет встроен виджет; путь к дескриптору виджета; параметры запроса; параметры авторизации (где <user_token> – токен, полученный при авторизации пользователя через ЕСИА, <system_token> – токен, полученный при авторизации системы); обработка ошибки загрузки (на стороне портала).
Код встраивания виджета для тестового контура (iframe)
<!-- 1 --><script src="https://widget-svcdev. test. gosuslugi. ru/widgets/res/js/embed/addwidget-1.2.5.min. js"></script>
<!-- 3 --><div id="car-registry"></div>
<script>
rooxWidgetStart({
scheme: "https",
wrsHost: 'widget-svcdev. test. gosuslugi. ru',
wrs: 'wrs-4.1',
/* 4 */ widget: 'https://widget-svcdev. test. gosuslugi. ru/widgets/epgu-wrapper/epgu-wrapper. xml',
method: 'POST',
/* 5 */ params: {
renderType: 'iframe',
doTokenInjection: 'true',
up_mnemonic: '10000027177',
up_targetFormId: '10000593393',
up_targetId: '12',
up_passportId: '10059',
view: 'svcdev',
features_loaded: 'org. jquery. core-1.7.2',//Только если на странице уже есть jQuery
/* 8 */ up_userStyleUrl: '<CSS>'//Указать путь до стилей
},
/* 6 */ auth: {
tokens: {
rt: "esia_1.0_<system_token>"//Вставить системный токен
}
}
},
document. getElementById("car-registry")).
onReady(function (){/* 2 */ $.getScript('com-rooxteam-auth. js')}).
onError(function (errOptions, el){
/* 7 */ el. innerHTML = 'WRS Error: ' + errOptions. status;
});
</script>
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания; скрипт, содержащий функции для авторизации (переписывает метод com. rooxteam. auth. requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания; элемент, в который будет встроен виджет; путь к дескриптору виджета; параметры запроса; параметры авторизации (<system_token> – токен, полученный при авторизации системы); обработка ошибки загрузки (на стороне портала); Изменение стилей виджета (<CSS> – путь до файла со стилями).
Код встраивания виджета для продуктивного контура (inline)
<!-- 1 --><script src="https://widget. gosuslugi. ru/widgets/res/js/embed/addwidget-1.2.5.min. js"></script>
<!-- 3 --><div id="car-registry"></div>
<script>
rooxWidgetStart({
scheme: "https",
wrsHost: 'widget. gosuslugi. ru',
wrs: 'wrs-4.1',
/* 4 */ widget: 'https://widget. gosuslugi. ru/widgets/epgu-wrapper/epgu-wrapper. xml',
method: 'POST',
/* 5 */ params: {
renderType: 'inline',
doTokenInjection: 'true',
up_mnemonic: '10000027177',
up_targetFormId: '10000593393',
up_targetId: '12',
up_passportId: '10059',
view: 'prod',
features_loaded: 'org. jquery. core-1.7.2' //только если на странице уже есть jQuery
},
/* 6 */ auth: {
tokens: {
st: "esia_1.0_<user_token>",//Вставить пользовательский токен
rt: "esia_1.0_<system_token>"//Вставить системный токен
}
}
},
document. getElementById("car-registry")).
onReady(function (){/* 2 */ $.getScript('com-rooxteam-auth. js')}).
onError(function (errOptions, el){
/* 7 */ el. innerHTML = 'WRS Error: ' + errOptions. status;
});
</script>
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания; скрипт, содержащий функции для авторизации (переписывает метод com. rooxteam. auth. requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания; элемент, в который будет встроен виджет; путь к дескриптору виджета; параметры запроса; параметры авторизации (где <user_token> – токен, полученный при авторизации пользователя через ЕСИА, <system_token> – токен, полученный при авторизации системы); обработка ошибки загрузки (на стороне портала).
Код встраивания виджета для продуктивного контура (iframe)
<!-- 1 --><script src="https://widget. gosuslugi. ru/widgets/res/js/embed/addwidget-1.2.5.min. js"></script>
<!-- 3 --><div id="car-registry"></div>
<script>
rooxWidgetStart({
scheme: "https",
wrsHost: 'widget. gosuslugi. ru',
wrs: 'wrs-4.1',
/* 4 */ widget: 'https://widget. gosuslugi. ru/widgets/epgu-wrapper/epgu-wrapper. xml',
method: 'POST',
/* 5 */ params: {
renderType: 'iframe',
doTokenInjection: 'true',
up_mnemonic: '10000027177',
up_targetFormId: '10000593393',
up_targetId: '12',
up_passportId: '10059',
view: 'prod',
features_loaded: 'org. jquery. core-1.7.2', //Только если на странице уже есть jQuery
/* 8 */ up_userStyleUrl: '<CSS>'// Указать путь до стилей
},
/* 6 */ auth: {
tokens: {
rt: "esia_1.0_<system_token>" //Вставить системный токен
}
}
},
document. getElementById("car-registry")).
onReady(function (){/* 2 */ $.getScript('com-rooxteam-auth. js')}).
onError(function (errOptions, el){
/* 7 */ el. innerHTML = 'WRS Error: ' + errOptions. status;
});
</script>
подключение скрипта addwidget, который регистрирует функцию rooxWidgetStart для CSI-встраивания; скрипт, содержащий функции для авторизации (переписывает метод com. rooxteam. auth. requestAuthentification), код должен добавляться на страницу после загрузки виджета, можно вынести в отдельный файл или вписать внутри кода встраивания; элемент, в который будет встроен виджет; путь к дескриптору виджета; параметры запроса; параметры авторизации (<system_token> – токен, полученный при авторизации системы); обработка ошибки загрузки (на стороне портала); Изменение стилей виджета (<CSS> – путь до файла со стилями).
Переопределение действия кнопки «Войти»
При неавторизованном состоянии виджета отображается ссылка "Войти", при помощи которого происходит запрос авторизации на ЕСИА. По умолчанию, нажатие на ссылку "Войти" инициирует авторизацию пользователя на ЕСИА от лица Открытой платформы. Для переопределения действия ссылки «Войти», можно использовать инструкцию ниже. Инструкция являетcя типовой для виджетов Открытой платформы госуслуг:
Для запроса авторизации используется JavaScript функция com. rooxteam. auth. requestAuthentification, которая реализована в js файле:
<script src="https://gu-st. ru/content/partners/authKey. js"></script>
где https://gu-st. ru/content/partners/authKey. js - это код, который необходимо реализовать на стороне портала. Минимально необходимый код:
/*global shindig, gadgets, window */
var com = com || {};
com. rooxteam = com. rooxteam || {};
com. rooxteam. auth = com. rooxteam. auth || {};
com. rooxteam. auth. getSecurityToken = function (devPrefix) {
var token = shindig. auth. getSecurityToken();
if (!token) {
return token;
}
return devPrefix? 'esia_1.0_' + token : token;
};
com. rooxteam. auth. getSystemToken = function (devPrefix) {
var trusted = shindig. auth. getTrustedData(),
token = trusted && trusted. systemToken;
if (!token) {
return token;
}
return devPrefix? 'esia_1.0_' + token : token;
};
// необходимо заменить authUrl и добавить свою логику, если необходимо
com. rooxteam. auth. requestAuthentification = function () {
var authUrl = 'http://'; // некоторый URL
authUrl += '?';
authUrl += 'redirectto=' + encodeURIComponent(window. top. location. href);
authUrl += '&byesia=true';
try {
window. top. location. href = authUrl;
}
catch (e) {}
};
Измененный код необходимо подключить вместо https://gu‑st. ru/content/partners/authKey. js функция com. rooxteam. auth. requestAuthentification будет вызвана при нажатии кнопки «Войти».
Требования к поисковой и навигационной доступности при размещении виджета
Виджет должен быть размещен в соответствии с требованиями к реализации навигации, поиска и предоставления информации о государственных услугах документа «Методические рекомендации по совершенствованию пользовательских интерфейсов федеральной государственной информационной системы «Единый портал государственных и муниципальных услуг (функций)» и официальных сайтов федеральных органов исполнительной власти и государственных внебюджетных фондов, используемых при предоставлении государственных услуг в электронном виде», утвержденным приказом Минкомсвязи России от 01.01.2001 г. № 000 и размещенном на сайте Минкомсвязи России по адресу: http://minsvyaz. ru/ru/documents/4820/
В частности:
- виджет должен быть размещен в каталоге государственных услуг партнерского портала при его наличии в разделах:
- Транспорт и вождение; Личный транспорт; Автомобили; Документы; Получение документов;
- регистрация автомобиля постановка на учет транспортного средства регистрация транспортного средства снятие с учета транспортного средства постановка на учет автомобиля замена свидетельства о регистрации тс регистрация автотранспортного средства запись в гибдд на регистрацию авто гаи учет регистрация авто регистрация транспортного средства в гибдд


