Пошаговое практическое руководство по интеграции услуг

Amazon Lex позволяет быстро создать чат-бота за несколько минут. Несколько месяцев назад я попытался интегрировать чат-бота Lex с Facebook - и потратил слишком много времени из-за плохой документации и руководства.

Чтобы помочь вам сэкономить время и усилия, в этом блоге объясняется, как работает интеграция, и предоставляется простое и обновленное пошаговое руководство по созданию собственного чат-бота с использованием Amazon Lex и Facebook Messenger.

Как работает интеграция?

Общая интеграция довольно проста. Для начала разработчик просто создает страницу Facebook и приложение Facebook. Посетитель страницы общается с вашим приложением Facebook с помощью Facebook Messenger.

На бэкэнде приложение Facebook отправляет и получает сообщения о событиях в Amazon Lex - это позволяет посетителям общаться с вашим приложением Facebook взад и вперед.

Приложение Facebook подписано на страницу Facebook и отслеживает события. Каждый раз, когда посетитель отправляет сообщение на страницу с помощью Facebook Messenger, в приложение Facebook отправляется событие веб-перехватчика.

Приложение Facebook может подписаться на различные события страницы. Например, для получения сообщений приложение Facebook должно быть подписано на следующие события страницы: messages, messaging_postbacks.

Без интеграции Lex разработчику необходимо создать собственную реализацию веб-перехватчика, чтобы реагировать на эти события. В качестве примера реализации веб-перехватчика разработчик может использовать Facebook Starter Project и должен где-то его развернуть.

Однако Lex может абстрагироваться от этого уровня сложности, предоставляя реализацию веб-перехватчика. Для этого Lex предоставляет канал интеграции, который разработчик может использовать для подключения к своему приложению Facebook. При таком подходе разработчик может сосредоточиться на построении логики бота, не беспокоясь о создании собственной реализации веб-перехватчика.

Сохраняя простоту

Для интеграции Amazon Lex с Facebook текущая документация Lex перенаправляет пользователей на Краткое руководство по началу работы Facebook. Там вам будет предложено создать свою собственную реализацию веб-перехватчика, а затем разместить ее где-нибудь.

В этом нет необходимости. Вы можете интегрировать Lex и Messenger, не развертывая отдельное приложение! Есть также несколько других моментов в руководстве, которые сбивают с толку, и их документация очень скудна.

В этом пошаговом руководстве мы рассмотрим все важные моменты с простым руководством по интеграции этих сервисов для вашего чат-бота.

Пошаговое руководство

1. Начните с создания бота Amazon Lex по вашему выбору. У Amazon есть хорошие инструкции по созданию примеров ботов.

2. Создайте страницу в Facebook. Вы должны сделать это, используя свою обычную учетную запись Facebook, которую вы используете ежедневно; в противном случае Facebook может заблокировать вашу учетную запись как поддельную, и вы потеряете доступ ко всем своим приложениям. Процесс очень простой.

В рамках этого руководства вы можете выбрать для своей страницы «Сообщество или публичное лицо», а затем вы можете выбрать имя страницы, а также более узкую категорию страницы. Мы будем использовать эту страницу на более поздних этапах.

3. Перейдите на страницу разработчиков Facebook и войдите в свою обычную учетную запись Facebook, если вы еще не вошли в систему. Не создавайте отдельную учетную запись разработчика, иначе Facebook может счесть ее поддельной и заблокировать вашу учетную запись (s).

4. Создайте новое приложение. На данный момент вы можете сделать это, нажав «Мои приложения» в правом верхнем углу, а затем «Добавить новое приложение».

5. Создайте новый идентификатор приложения, указав необходимую информацию.

6. После создания приложения Facebook перенаправит вас на страницу приложения, где вы сможете выбрать продукты, которые сможет использовать ваше приложение. Если Facebook не перенаправляет вас автоматически, вы можете перейти на эту страницу, выбрав новое созданное приложение в разделе «Мои приложения» на верхней панели навигации. Добавьте продукт Messenger в свое приложение, нажав «Настроить».

7. Теперь Facebook перенаправляет вас на страницу настроек Messenger. В разделе «Генерация токенов» выберите страницу Facebook, созданную на шаге 2. Затем Facebook перенаправит вас на новую страницу для подтверждения.

После подтверждения запросов он генерирует токен доступа к странице. Скопируйте токен доступа и сохраните его. Скоро она вам понадобится.

8. Находясь на странице приложения, на левой панели выберите «Настройки» и нажмите «Основные». На этой странице вы можете найти свой секрет приложения. Скопируйте значение. Скоро она вам понадобится.

9. Перейдите на страницу Amazon Lex и выберите бота, которого хотите интегрировать. Выберите Каналы на верхней панели навигации, а затем выберите Facebook в левом столбце. Наряду с другими необходимыми данными, заполните токен доступа к странице и секрет приложения, которые вы получили на предыдущих шагах.

Нажмите «Активировать», и, если вы все сделали правильно, вы должны увидеть URL-адреса обратного вызова внизу страницы. Скопируйте URL-адрес конечной точки.

Чтобы внести некоторую ясность в этот процесс, я протестировал его с консоли Lex. Вы можете увидеть реакцию бота в правой части страницы, так что вы можете увидеть, что я ожидаю получить от моего мессенджера после установления связи с Лексом. Для краткости я создал бота с минимумом логики.

10. Вернитесь на страницу своего приложения Facebook в настройках Messenger. В разделе Веб-перехватчики щелкните Настроить веб-перехватчики.

11. На странице подписки на новую страницу для поля URL-адрес обратного вызова используйте URL-адрес конечной точки, полученный от Lex. Также заполните тот же Verify Token, который вы определили ранее. В полях подписки отметьте не менее messages, messaging_postbacks и messaging_optins. Затем проверьте и сохраните.

12. Теперь на странице настроек вы должны увидеть, что ваш веб-перехватчик отмечен как завершенный. Вам также необходимо подписаться на веб-перехватчик событий вашей страницы. Выберите страницу и нажмите «Подписаться».

13. Теперь откройте свою страницу в Facebook. Нажмите «Добавить кнопку». Это должно быть просто. Вам необходимо создать кнопку, позволяющую посетителям страницы связываться с вами, отправляя сообщение через Messenger.

14. После создания кнопки Отправить сообщение наведите на нее курсор и проверьте ее. Как видите, у меня это работает. Если это не сработает, проверьте предыдущие шаги и убедитесь, что вы все сделали правильно.

15. На данный момент ваш бот находится на стадии тестирования и работает только для вас. Чтобы другие пользователи могли тестировать / использовать бота, вы должны вручную добавить их в свое приложение Facebook и в свой страница. Перейдите в свое приложение и выберите роли в левом столбце. Затем вы можете добавлять в проект разных людей (с разными ролями).

16. Теперь перейдите на свою страницу Facebook, затем перейдите в Настройки.

17. Перейдите к ролям страниц в левом столбце и добавьте роли проекта. Если вы хотите, чтобы члены вашей команды могли взаимодействовать с ботом, вы также должны добавить их сюда.

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

Сделайте ваше приложение общедоступным

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

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

С декабря 2018 г. разрешения предоставляются на уровне страницы, поэтому для каждой страницы, которую вы хотите подключить к своему приложению, вам необходимо проводить проверку отдельно. Вам также нужно будет подтвердить либо бизнес, либо пройти проверку для индивидуальных разработчиков, которая доступна с декабря 2018 года.

Подтверждение

Я хотел бы поблагодарить Пинья Куосманен за помощь с этой записью! Она помогла мне как советник и рецензент.

Не трать время зря, пытаясь меня взломать

Перед публикацией этого поста я удалил свое приложение Facebook, страницу и приложение Lex. Следовательно, учетные данные, представленные на скриншотах, никуда вас не приведут. Так что тебе не нужно тратить время, пытаясь меня взломать.