Создание чат-бота WhatsApp на базе искусственного интеллекта: пошаговое руководство
Опубликовано: 2024-03-22Краткое содержание:
Узнайте, как шаг за шагом создать чат-бота WhatsApp на базе искусственного интеллекта, используя возможности Node.js и OpenAI. Это руководство — от настройки бизнес-аккаунта Meta до интеграции WhatsApp API и OpenAI — позволяет компаниям оптимизировать взаимодействие с клиентами и открыть новые возможности автоматизированного общения.
В современную цифровую эпоху использование возможностей искусственного интеллекта (ИИ) для улучшения взаимодействия с клиентами имеет первостепенное значение для компаний, стремящихся оставаться впереди на рынке. WhatsApp, являясь одной из наиболее широко используемых платформ обмена сообщениями в мире, предоставляет компаниям прекрасную возможность эффективно взаимодействовать со своей аудиторией. Войдите в мир чат-ботов WhatsApp на базе искусственного интеллекта. Эти виртуальные помощники совершают революцию в обслуживании клиентов, обеспечивая круглосуточную поддержку и оптимизируя процессы общения.
Независимо от того, являетесь ли вы растущим стартапом или солидным предприятием, навигация по этапам разработки может быть упрощена при правильном подходе. В этом подробном руководстве мы рассмотрим фундаментальные принципы, пошаговые процедуры и важные соображения, необходимые для интеграции API WhatsApp Business с вашим приложением Node.js. Используя возможности обработки естественного языка OpenAI, мы создадим удобный пользовательский интерфейс, который найдет отклик у вашей аудитории.
От настройки учетной записи WhatsApp Business до интеграции API OpenAI с вашим кодом Node.js — следуйте инструкциям, пока мы развеем загадку этого процесса и предоставим вам возможность создать собственное решение на основе искусственного интеллекта. Это преобразующее путешествие в мир диалоговых агентов, управляемых искусственным интеллектом, вам не придется предпринимать в одиночку. Компания по разработке AI Chatbot может стать вашим надежным партнером, предоставляя бесценную информацию и опыт на этом пути. Давайте вместе отправимся в эту захватывающую экспедицию.
Шаг 1. Настройка бизнес-аккаунта и приложения Meta (Facebook)
- Сначала создайте бизнес-аккаунт Meta (нажмите здесь).
Заполните данные и нажмите «Отправить».
2. Создайте новое мета-приложение (Facebook) (нажмите здесь).
- (Войдите) в свою учетную запись разработчика Meta (Facebook).
После входа нажмите «Мои приложения».
3. Теперь нажмите «Создать приложение».
4. Выберите «Другое» и нажмите «Далее».
5. Выберите тип приложения: «Бизнес» и нажмите «Далее».
6. Укажите сведения о приложении и нажмите «Создать приложение».
Шаг 2. Настройка мета-приложения (Facebook) для интеграции с WhatsApp
1. Добавьте WhatsApp в свое мета-приложение (Facebook).
- В «Панели разработчиков» выберите свое приложение.
- Найдите «Добавьте продукты в ваше приложение» на вкладке панели управления вашего приложения.
- Выберите «WhatsApp» для настройки.
- Выберите свой бизнес-аккаунт Meta (Facebook)
- Перейдите в «Настройки приложения» > «Основные» на боковой панели.
- Сохранить изменения.
- Установите режим приложения на Live
Шаг 3. Создайте токен WhatsApp
Чтобы получить постоянный токен доступа WhatsApp, выполните от 1 до 3 шагов:
1. Создайте «Системного пользователя»:
- Посетите Meta Business Suite.
- Найдите свой бизнес-аккаунт в раскрывающемся меню вверху слева и щелкните значок «Настройки» (шестеренка).
- Нажмите «Бизнес-настройки».
- Откройте «Пользователи» > «Пользователи системы».
- Добавьте пользователя системы администратора.
2. Добавьте активы.
- После создания пользователя системы нажмите «Добавить активы».
- Перейдите в «Приложения» > «Название вашего приложения».
- Выберите свое приложение и предоставьте полный контроль над ним.
3. Сгенерируйте токены доступа пользователя к системе.
- Нажмите кнопку «Создать новый токен» у пользователя системы.
Выберите приложение, которое будет использовать токен, и установите срок действия токена «Никогда».
- Выберите разрешения «whatsapp_business_messaging» и «whatsapp_business_management».
- Сгенерируйте токен.
- Скопируйте токен доступа и сохраните его в надежном месте.
4. Добавьте новый рабочий номер для WhatsApp.
- Вы можете использовать свой собственный рабочий номер или использовать предоставленный тестовый номер для своего чат-бота WhatsApp.
- На панели инструментов разработчика WhatsApp перейдите к WhatsApp > Настройка API на боковой панели.
- Перейдите к «Шаг 5. Добавьте номер телефона», нажмите «Добавить номер телефона».
- Укажите необходимые данные в следующей форме.
- Подтвердите свой номер, используя полученный код.
- После успешного добавления выберите свой номер телефона на шаге 1 настройки API.
5. Добавьте способ оплаты
- Чтобы отправлять сообщения через WhatsApp, вам нужен действительный способ оплаты. Посетите здесь для получения подробной информации.
- После добавления рабочего номера телефона нажмите «Добавить способ оплаты», чтобы увидеть предупреждение «Отсутствует действительный способ оплаты».
- Вы будете перенаправлены в настройки вашей учетной записи WhatsApp. Нажмите «Способы оплаты» > «Добавить корпоративный способ оплаты» и следуйте инструкциям, чтобы добавить данные своей карты.
6. Проверьте свой новый бизнес-номер для WhatsApp.
- Вернитесь на панель разработчика WhatsApp и перейдите к настройке API.
- Введите тестовый номер «Кому».
- Нажмите «Отправить сообщение», чтобы подтвердить успешную доставку сообщения.
Шаг 4. Настройте параметры веб-перехватчика API WhatsApp.
1. Проверьте обратный вызов WhatsApp Webhook.
- На панели разработчика WhatsApp перейдите в раздел «Конфигурация».
- В разделе «Вебхук» нажмите «Изменить».
- Теперь нам нужно предоставить WhatsApp активный URL-адрес веб-перехватчика и токен. Действующий URL-адрес — это URL-адрес вашего приложения, и токен также генерируется с вашей стороны. На изображении ниже я добавил свой URL-адрес Ngrok, поскольку мое приложение Node.js работает на Ngrok, и я использовал UUID в качестве токена.
- В процессе проверки WhatsApp отправляет запрос GET на URL-адрес обратного вызова для проверки токена хаба. Следующий код, написанный на Next.js (инфраструктура Node.js), обрабатывает этот процесс проверки. Проверка будет успешной только в том случае, если ваш код отправит в ответ код состояния 200, как показано ниже.
lethubMode = req.nextUrl.searchParams.get("hub.mode");
lethubChallenge = req.nextUrl.searchParams.get("hub.challenge");
lethubToken = req.nextUrl.searchParams.get("hub.verify_token");
//находим токен в базе данных
если (
HubMode === "подписаться" &&
HubToken === "<значение из .env ИЛИ из базы данных>"
) {
console.log("Проверено успешно");
вернуть новый ответ (hubChallenge);
}
return new Response("Неверные учетные данные", {status: 400});
}
- Найдите поле «сообщения» и подпишитесь на него, поставив галочку.
- Теперь нам нужен токен доступа WhatsApp и секрет приложения Facebook, которые мы получаем из той же бизнес-учетной записи WhatsApp.
- На изображении ниже вы видите секрет приложения Facebook.
также нам нужно сохранить следующие выделенные данные
В нашем коде нам нужны различные идентификаторы, такие как токен доступа, секрет приложения, тестовый номер, идентификатор номера телефона и идентификатор бизнес-аккаунта. Эти идентификаторы помогают нам определить, от кого мы получаем сообщения и кому нам нужно отправлять сообщения.
Шаг 5. Отправка и получение сообщения через API
- В предоставленный код TypeScript мы успешно интегрировали API WhatsApp для отправки и получения сообщений. Кроме того, для своей цели я включил OpenAI и специально обученную модель ИИ для реагирования на входящие сообщения.
- URL-адрес обратного вызова, предоставленный WhatsApp, используется как для запросов GET, так и для POST. Когда сообщение отправляется на рабочий номер, WhatsApp запускает этот URL-адрес обратного вызова и отправляет сообщение вместе с данными пользователя. Следующий код читает это сообщение и отвечает на основе реализованной логики.
- Функция POST — это асинхронная функция, обрабатывающая входящие запросы POST. Сначала он анализирует входящий запрос в формате JSON и извлекает сообщение, отправленное пользователем из WhatsApp. Если сообщение неопределенное или пустое, оно возвращает ответ со статусом 200 и не продолжается дальше.
- Затем функция извлекает из запроса номер рабочего телефона и номер телефона отправителя.
- Затем функция готовит запрос POST для отправки сообщения пользователю через WhatsApp. Он создает URL-адрес для запроса, определяет отправляемое сообщение и устанавливает параметры запроса, включая метод, заголовки и тело.
- Затем функция отправляет запрос с помощью функции выборки. Если запрос успешен, он возвращает ответ со статусом 200. Если в какой-либо момент возникает ошибка, она записывается в консоль.
- Функция getResponseNumber — это вспомогательная функция, которая извлекает номер телефона отправителя из входящего запроса.
- Этот код представляет собой базовый пример интеграции приложения Node.js с API WhatsApp Business, позволяющего автоматически отправлять и получать сообщения.
// WhatsApp активирует этот запрос на публикацию, как только пользователь задаст вопрос боту, а также ответит пользователю
let res: Any = await req.json();
дайте вопрос из WhatsApp =
res?.entry?.[0]?.changes?.[0]?.value?.messages?.[0]?.text?.body; // вопрос получен из WhatsApp
если (
вопросИзWhatsapp == не определено ||
вопросFromWhatsapp.trim().length <= 0
) {
//если запрос только о статусе, дальше не двигаемся
// возвращаем NextResponse.json({ message: "received" });
вернуть новый ответ («получено», {статус: 200});
}
//получить идентификатор номера телефона из ответа. этот номер телефона является рабочим номером
константный номер телефона =
res?.entry?.[0]?.changes?.[0]?.value?.metadata["phone_number_id"];
//этот метод вернет номер телефона, с которого было получено сообщение
const responseNumber = getResponseNumber (res);
// извлекаем идентификатор пользователя из базы данных
пытаться {
константная версия = "v18.0";
//проверяем, достигнут лимит или нет
константный номер телефона;
константный получательPhoneNumber = "+" + responseNumber;
// const accessToken =process.env.WHATSAPPTOKEN
const accessToken = "токен, который вы получаете от Facebook";
пытаться {
//--------------- Этот код предназначен для отправки сообщения в Telegram
const url = `https://graph.facebook.com/${version}/${phoneNumberId}/messages`;
// Определить данные, которые будут отправлены в теле запроса
константные данные = {
message_product: "WhatsApp",
получатель_тип: "индивидуальный",
кому: `${recipientPhoneNumber}`,
тип: «текст»,
текст: {
URL-адрес предварительного просмотра: ложь,
body: «Привет, я чат-бот, сейчас я занят, скоро свяжусь с вами.»,
},
};
// Определить параметры запроса на выборку
константные параметры = {
метод: «ПОСТ»,
заголовки: {
«Тип контента»: «приложение/json»,
Авторизация: `Носитель ${accessToken}`,
},
тело: JSON.stringify(данные),
};
// Делаем запрос POST, используя выборку
пытаться {
константный ответ = ожидание выборки (url, параметры);
если (!response.ok) {
throw new Error(`Ошибка HTTP! Статус: ${response.status}`);
}
константные данные = ждут ответа.json();
// Обрабатываем данные по мере необходимости
} поймать (ошибка) {
// Обрабатываем ошибку по мере необходимости
console.log(ошибка);
}
вернуть новый ответ («получено», {статус: 200});
} поймать (ошибка) {
console.log("ошибка", ошибка);
}
} catch (ошибка: любая) {
console.log(ошибка);
//сохраняем журнал ошибок в базе данных на случай устранения ошибки
}
}
const getResponseNumber = (res: любой) => {
return res?.entry?.[0]?.changes?.[0]?.value?.contacts[0]?.wa_id;
};
Заключение
В этом подробном руководстве мы рассмотрели тонкости интеграции API WhatsApp Business с приложением Node.js. От настройки веб-перехватчиков до обработки входящих сообщений и отправки индивидуальных ответов — мы рассмотрели такие важные шаги, как обработка токенов доступа, секретов приложений, тестовых номеров, идентификаторов номеров телефонов и идентификаторов бизнес-аккаунтов.
Эта бесшовная интеграция не только дает компаниям возможность автоматизировать общение в WhatsApp, но также открывает множество возможностей, будь то создание ботов для поддержки клиентов, автоматизация маркетинговых усилий или реализация личных проектов. Отправляясь в это путешествие, помните, что это всего лишь фундамент. API WhatsApp Business предлагает множество дополнительных функций, которые нужно изучить и интегрировать в ваше приложение.
Продолжая совершенствовать свои усилия по разработке чат-ботов с искусственным интеллектом, рассмотрите возможность использования опыта Компания по разработке AI-чат-ботов . Их идеи и поддержка могут ускорить ваш прогресс, гарантируя, что усилия вашего чат-бота полностью раскроют свой потенциал. По мере продвижения в разработке всегда обращайтесь к официальной документации API WhatsApp Business для получения полной и точной информации.