Developers API & Widget
API Reference
RU

IframeШаг 2 из 2

Настройте backend

Получайте нормализованные банковские данные на своём сервере и корректно подтверждайте callback.

Сначала выполните контрольный список frontend. Виджет не передаёт банковские данные через postMessage: он отправляет их сюда, методом POST.

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

0 из 4

1. Создайте URL callback

Опубликуйте на своём сервере HTTPS-эндпоинт, который принимает POST с телом JSON.

Обработав всё необходимое, ответьте HTTP 200 со следующим JSON:

{
    "status": "ok"
}

Если вы вернёте другой код статуса или другой JSON, виджет не сообщит frontend, что поток завершился корректно.

Считайте operation_id идемпотентным: повторная доставка не должна создавать две операции в вашей системе.

2. Что приходит в POST

Тело — тот же JSON, что у POST /entities/ в справочнике OpenAPI. Поля, нужные чтобы сопоставить операцию:

Поле Назначение
success true, если чтение завершилось успешно.
payload Нормализованные данные (счета, портфели, карты, …).
statistics.operation_id operation_id, который сгенерировал ваш frontend.
statistics.token Учётные данные на хранении для последующих обновлений (если включена токенизация).
statistics.code Код учреждения (bbva, caixabank, …).
statistics.SESSION Идентификатор сессии, полезен в тикете поддержки.
statistics.warnings Предупреждения, которые не отменяют чтение (например, пустой продукт).

Сокращённый пример:

{
    "success": true,
    "payload": {
        "user_information": {
            "ID": "12345678Z",
            "name": "LUIS GARCIA BAQUERO"
        },
        "accounts": [
            {
                "uuid": "8076932f04f73e27fe608fee4d12fca8708dec8c",
                "subtype": "checking",
                "code": "ES4914651234561234567890",
                "name": "Cuenta NOMINA",
                "currency": "EUR",
                "balances": {
                    "available": 14302.07,
                    "current": 14302.07
                },
                "transactions": []
            }
        ]
    },
    "statistics": {
        "SESSION": "A1B2C3D4E5F67890",
        "execution_time": 12.4,
        "warnings": [],
        "operation_id": "8f1c2a6e-4b0d-4c3a-9e21-0d5b7a91c4e2",
        "token": "FRJ0mHlaqZwLzu",
        "code": "bbva"
    }
}

Полная схема payload — в OpenAPI. Не предполагайте, что каждый ключ всегда присутствует: это зависит от product_types и от того, что есть у пользователя в учреждении.

3. Свяжите домен, callback и ключ API

В кабинете клиента свяжите:

  • домен, с которого загружается виджет (origin вашего frontend);
  • URL callback, который вы только что создали;
  • ваш api_key.

Пока домен не зарегистрирован, виджет не работает.

4. Проверьте поток

Откройте страницу, которая загружает виджет, и войдите:

Имя пользователя Пароль Результат
MOCKDATA любой Успешное чтение с анонимизированными примерными данными. Callback получает JSON с success: true.
MOCKOTP любой Воспроизводит запрос двухфакторной аутентификации.
MOCKLOGINKO любой Воспроизводит ошибку входа. Callback не вызывается.

Если у вас нет приветственного письма, запросите его на support@wealthreader.com.

Если хотите посмотреть POST до того, как эндпоинт появится у вас, создайте временный URL в сервисе вроде https://pipedream.com/ и укажите его как callback.

5. Обновление данных (необязательно)

На этом этапе у вас интеграция one-shot: одно чтение каждый раз, когда пользователь открывает виджет.

Если нужен ночной пакет или кнопка «Обновить», снова вызовите API с token и code, которые вы сохранили из callback. Не запрашивайте имя пользователя и пароль повторно.

curl --location 'https://api.wealthreader.com/entities/' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'code=bbva' \
  --data-urlencode 'token=TOKEN_FROM_CALLBACK' \
  --data-urlencode 'product_types=accounts,portfolios'

Внимательно смотрите коды ошибок: не повторяйте запрос при неверном пароле; при обслуживании учреждения повтор допустим.

Если token перестаёт работать (смена пароля или новый 2FA), снова откройте виджет, передав это значение в wr_conf.token, чтобы пользователь мог повторно пройти аутентификацию.

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