Как вызвать режим обновления ссылок в приложении Quickstart Plaid Sandbox (node.js)?

У меня установлен и работает Plaid Quickstart (узел).

Я успешно вошел в одно из заведений песочницы (First Platypus Bank), используя учетные данные песочницы, и получил сгенерированный им access_token.

Согласно документам режима обновления ссылок (https://plaid.com/docs/link/update-mode/), вы должны иметь возможность принудительно перевести данный элемент в состояние ITEM_LOGIN_REQUIRED.

Из документов, на которые я ссылался выше ...

Режим обновления можно протестировать в песочнице с помощью конечной точки / sandbox / item / reset_login, которая переводит данный элемент в состояние ITEM_LOGIN_REQUIRED.

Я использовал Postman (в общедоступной среде Sandbox) для отправки вызова API к этой конечной точке, https://sandbox.plaid.com/sandbox/item/reset_login, чтобы принудительно установить состояние ITEM_LOGIN_REQUIRED.

Это тело, отправленное с вызовом API ...

{
  "client_id": "{{client_id}}",
  "secret": "{{secret_key}}",
  "client_name": "Insert Client name here",
  "country_codes": ["US"],
  "language": "en",
  "user": {
  "client_user_id": "unique_user_id"
},
  "access_token": "{{access_token}}"
}

Это ответ, который я получил ...

{
  "expiration": "2021-02-13T04:13:12Z",
  "link_token": "link-sandbox-7d82e9b8-b8a7-4977-9c20-aadbc82ec050",
  "request_id": "eE56J8f5XJKpS6L"
}

... чего я и ожидал.

Затем я вернулся в приложение Quickstart и снова вошел в First Platypus Bank, ожидая, что мне будут предложены задачи MFA, но вместо этого он просто создал новый access_token.

Итак, как мне перевести приложение Plaid Quickstart в режим обновления ссылок?

Обновление:

На вопрос Алекса, вот изображение, показывающее мой звонок почтальону. Он прав, это был вызов / link / token / create. Что сбивает с толку, так это то, что он помечен как Создать токен ссылки - Режим обновления.

Почтальон

Обновление 2:

Вот вызов и ответ / sandbox / item / reset_login. В ответе нет link_token.

Почтальон 2

Обновление 3:

Благодаря помощи Алекса и некоторой помощи службы поддержки Plaid у меня все заработало.

Я помещал токен ссылки не в то место.

Для тех, кто увидит это в будущем, вот шаги, которые необходимо выполнить, чтобы перевести приложение быстрого запуска узла в режим обновления ссылок.

Вы также можете посмотреть это видео, чтобы увидеть демонстрацию процесса; ОДНАКО обратите внимание, что в видео я поместил link_token не в то место. В приведенных ниже инструкциях показано, как установить его в нужное место.

  • Get the access_token for the institution you want to get into Link Update Mode (this assumes you have the quickstart app installed, up and running. See... https://plaid.com/docs/quickstart/)
    • Start the quickstart backend (/quickstart/node/start.sh)
    • Запустите интерфейс быстрого запуска (cd / quickstart / frontend; npm start;)
    • Как только интерфейс запускается на порту 3000 в вашем браузере, нажмите кнопку «Запустить ссылку», затем нажмите «Продолжить».
    • Найдите учреждение (например, First Platypus Bank, First Gingham Credit Union ... в режиме песочницы или ваше собственное учреждение в режиме разработки)
    • Введите свои учетные данные (user_good / pass_good ... в режиме песочницы)
    • Скопируйте access_token
    • Закройте вкладку браузера Plaid
  • In Postman (to set this up, see... https://github.com/plaid/plaid-postman), enter the access token you just copied into the access_token variable (See the first screenshot above. Click on the icon near the upper right-hand side that looks like an eye then scroll down to access_token and enter it.)
    • Run the /sandbox/item/reset_login endpoint. It's labeled "Simulate ITEM_LOGIN_REQUIRED [Sandbox only]" in Postman. The request body should look like second screenshot above. Once you Send the request, the response body should show "reset_login": true. Now the Plaid Item (i.e., the institution) is in ITEM_LOGIN_REQUIRED mode.
    • Запустите конечную точку / link / token / create. Он называется Create Link Token - Update Mode в Postman. Тело запроса должно выглядеть как на первом скриншоте выше. После того, как вы отправите запрос, тело ответа должно предоставить вам link_token. Скопируйте его для следующего шага.
  • Put the link_token in the Plaid quickstart app.
    • On line 23 in /quickstart/frontend/src/App.tsx, replace data.link_token with your link_token. So this dispatch({ type: "SET_STATE", state: { linkToken: data.link_token } }); becomes this dispatch({ type: "SET_STATE", state: { linkToken: "link-sandbox-704ef648-2acd-44a2-867b-ea1258e9205c" } }); (Use your own link_token, of course, and don't forget the quotes around your link_token.)
  • Перезапустите бэкэнд и фронтенд. Когда вы запускаете Link, он должен находиться в режиме обновления ссылок.

person TerryK    schedule 13.02.2021    source источник


Ответы (1)


Описанный вами процесс звучит правильно, но тела запроса и ответа API в вашем сообщении - это запрос и ответ для / link / token / create, а не / sandbox / item / reset_login. Можете ли вы убедиться, что вы случайно не вызывали / link / token / create вместо вызова / sandbox / item / reset_login?

person Alex    schedule 15.02.2021
comment
Спасибо за ответ. Да, ты прав. Я сделал вызов / link / token / create. Это сбивает с толку, потому что в Postman он помечен как Create Link Token - Update Mode (см. Изображение выше). Я попробую reset_login и доложу. - person TerryK; 17.02.2021
comment
Я выполнил вызов / sandbox / item / reset_login (см. Обновление 2 выше). В ответе нет link_token. Я подумал, может быть, в песочнице он каким-то образом автоматически переводит его в режим обновления ссылки после вызова / sandbox / item / reset_login, поэтому я снова вошел в первый банк Platypus (ожидая, что он перейдет в режим обновления ссылки), и вместо этого , создал новый access_token. Отсюда и мое замешательство. Что я делаю неправильно? - person TerryK; 17.02.2021
comment
Извините за путаницу, создам задачу для уточнения потоков в Коллекции Почтальона. В любом случае, после вызова / sandbox / item / reset_login вам нужно передать access_token, который он возвращает в качестве параметра, в / link / token / create (вы можете использовать запрос Create Link Token - Update Mode Postman, просто убедитесь, что вы скопировали + вставьте access_token в строку 10 запроса). Когда вы инициализируете Link с помощью link_token, возвращенного этим вызовом, Link откроется в режиме обновления. - person Alex; 18.02.2021
comment
Все еще не могу заставить это работать. Мне кажется, что мы, возможно, перекрещиваемся, поэтому я создал скринкаст, чтобы показать вам, что именно я делаю link . Несколько замечаний: 1) Возможно, я не помещаю link_token в нужное место в приложении быстрого запуска ссылка, 2) Вы заметите, когда я вернусь к терминалу во второй раз, там появятся некоторые предупреждения (я полагаю, от компилятора). Вызывает ли они какое-либо беспокойство? - person TerryK; 18.02.2021
comment
Алекс, я разговаривал с саппортом Plaid по этому поводу. Я думаю, что помещаю link_token не в то место. У меня не будет времени протестировать его до сегодняшнего дня, но я хотел сообщить вам, чтобы вы больше не тратили на это время без надобности. Я ценю то, что вы нашли время, которое у вас уже есть. Я сообщу, как только у меня будет возможность провести дополнительное тестирование. - person TerryK; 18.02.2021
comment
Это был последний кусок головоломки! Теперь работает. Спасибо за помощь, Алекс. Вы указали мне правильное направление. Я обновлю свой исходный вопрос и отмечу ваш как принятый ответ. - person TerryK; 18.02.2021