Developers API & Widget
API Reference
RU

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 — Страхование
  • factoring
  • confirming
  • properties — недвижимость
  • invoices — счета
  • files — файлы (Norma 43, 19, ...)

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

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

Когда селектор выглядит хорошо, добавьте Бэкенд iframe.

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