IframeШаг 1 из 2
Настройте фронтенд
Вставьте виджет на свою страницу, покажите выборщик банка и послушайте сообщения iframe.
Виджет — это iframe, который загружается с помощью https://widget.wealthreader.com/js/load.js. Эта страница охватывает только переднюю часть. Данные callback и банка установлены на Бэкенд.
Домен, с которого вы обслуживаете эту страницу, должен быть авторизован в Клиентская зона перед открытием виджета. Если нет, виджет отвечает, что домен не авторизован.
Чек-лист интеграции
0 из 3Минимальный код
Сгенерируйте новый operation_id для каждой операции. Оставьте entities_to_display пустым, чтобы показать все сущности в вашем api_key. Держите wait_full_response в true , если техническая команда не указала иное.
<script>
const wr_conf = {
operation_id: crypto.randomUUID(),
entities_to_display: [],
wait_full_response: true
};
window.addEventListener("message", (event) => {
if (event.origin !== "https://widget.wealthreader.com") {
return;
}
if (event.data === "flow completed") {
// El callback de backend ya se envió con éxito.
// Cierra el selector o redirige a la pantalla de éxito.
return;
}
if (typeof event.data !== "string") {
return;
}
try {
const message = JSON.parse(event.data);
if (message.error) {
console.log(message.error.code, message.error.message);
// OTP, login incorrecto, callback caído, etc.
}
} catch (err) {
// Ignora otros mensajes del iframe.
}
});
</script>
<iframe
id="wr-iframe"
title="Wealth Reader widget"
width="100%"
frameBorder="0"
referrerpolicy="origin"
></iframe>
<script src="https://widget.wealthreader.com/js/load.js"></script>
load.js находит iframe с id="wr-iframe" и назначает ему высоту в зависимости от окна. Расположите его так, чтобы у него было вертикальное пространство; если вставить его в центр страницы, его можно обрезать.
Сообщения postMessage
iframe обращается к вашей странице вот так:
event.data |
Когда | Что делать |
|---|---|---|
"flow completed" |
Чтение закончилось хорошо , и ваш callback ответил 200 + {"status":"ok"} |
Закройте виджет или перейдите на экран успеха. Данные банка не передаются в этом сообщении. |
JSON с error |
Поток продолжается (2FA, контракт и т.д.) или не работает | Читайте error.code и error.message. callback не отправлен. |
Всегда проверяйте event.origin === "https://widget.wealthreader.com".
wr_conf Параметры
| Параметр | Обязательно | По умолчанию | Что он делает |
|---|---|---|---|
operation_id |
Да | — | Идентификатор, который вы создаёте. Возвращается в callback, чтобы связать операцию фронтенда с данными на бэкенде. |
entities_to_display |
Нет | Все | Массив кодов сущностей. Пусто или отсутствует = все. Список: https://api.wealthreader.com/entities/ |
wait_full_response |
Нет | true |
true- Продукты и транзакции. false- Только список товаров. |
date_from |
Нет | вчера | Начальная дата запрашиваемого периода транзакций AAAA-MM-DD. Применяется только если wait_full_response true. |
product_types |
Нет | доступные для api_key |
Фильтр продуктов. Массив или список значений, разделённых запятыми. |
default_login |
Нет | — | Код сущности. Открывает форму для этой организации напрямую. |
default_login_entity_country |
Нет | ES |
Код страны ISO (ES, FR, ...). Используется только если есть default_login. |
token |
Нет | — | Повторная аутентификация: Заранее выберите банк token , который больше не действителен. |
psd2 |
Нет | true |
Отображает сущности PSD2. Только если вы не фильтруете entities_to_display. |
nonpsd2 |
Нет | true |
Показывает сущности по каналам, а не PSD2 (более полная информация). Та же нюанс, что и psd2. |
language |
Нет | Браузер | "es" или "en". |
tokenize |
Нет | Тот, что в зоне клиентов | true получить многоразовую token в callback. |
business_account |
Нет | true |
Включает корпоративные структуры. |
personal_account |
Нет | true |
В него входят организации отдельных лиц. |
wait_full_response
Оставьте на true. Отключение сокращает время ожидания (секунды) за счёт отсутствия транзакций. Не отключайте её, если нет явной UX-причины, а затем восстанавливайте транзакции позже с помощью API и token callback.
date_from
Если не отправить, виджет использует вчерашнюю дату. Это не «вся история».
Для диапазонов более 89 дней в европейских банках организация может запросить дополнительный двойной фактор. Пользователь заполняет это в виджете; чтение может занять несколько минут.
product_types
Возможные значения:
accounts— Счетаportfolios— инвестиционные портфелиcards— картыreceipts— прямые списанияloans— кредитыdeposits— Депозитыleases— лизинг / арендаinsurances— Страхованиеfactoringconfirmingproperties— недвижимостьinvoices— счетаfiles— файлы (Norma 43, 19, ...)
Пример: ["accounts", "cards", "loans"] или "accounts,cards,loans".
Следующий шаг
Когда селектор выглядит хорошо, добавьте Бэкенд iframe.