Developers API & Widget
API Reference
RU

IframeШаг 1 из 2

Настройте frontend

Встройте виджет на свою страницу, покажите селектор банков и слушайте сообщения iframe.

Виджет — это iframe, который загружается через https://widget.wealthreader.com/js/load.js. На этой странице только frontend. Callback и банковские данные настраиваются в разделе backend.

Домен, с которого отдаётся эта страница, должен быть авторизован в кабинете клиента до открытия виджета. Иначе виджет сообщит, что домен не авторизован.

Чек-лист интеграции

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") {
            // The backend callback has already been sent successfully.
            // Close the selector or redirect to the success screen.
            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, wrong login, callback down, etc.
            }
        } catch (err) {
            // Ignore other iframe messages.
        }
    });
</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, чтобы сопоставить frontend и backend.
entities_to_display Нет все Массив кодов учреждений. Пустой или отсутствует = все. Список: https://api.wealthreader.com/entities/
wait_full_response Нет true true: продукты и транзакции. false: только список продуктов.
date_from Нет вчера Начало транзакций, YYYY-MM-DD. Применяется только если wait_full_response равен true.
product_types Нет те, что у вашего api_key Фильтр продуктов. Массив или список через запятую.
default_login Нет Код учреждения. Сразу открывает форму этого учреждения.
default_login_entity_country Нет ES Код страны ISO (ES, FR, …). Используется только если задан default_login.
token Нет Повторная аутентификация: заранее выбирает банк токена, который больше не действителен.
psd2 Нет true Показывать учреждения PSD2. Только если вы не фильтруете через entities_to_display.
nonpsd2 Нет true Показывать учреждения канала non-PSD2 (более полные данные). Та же оговорка, что и у psd2.
language Нет язык браузера "es" или "en".
tokenize Нет настройка кабинета клиента true, чтобы получить в callback повторно используемый token.
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 — страхование
  • factoring
  • confirming
  • properties — недвижимость
  • invoices — счета-фактуры
  • files — файлы (Norma 43, 19, …)

Пример: ["accounts", "cards", "loans"] или "accounts,cards,loans".

Следующий шаг

Когда селектор выглядит правильно, продолжайте с iframe backend.

Последнее обновление