Создание чат-бота 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)

  1. Сначала создайте бизнес-аккаунт 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, как показано ниже.
экспортировать асинхронную функцию GET(req: NextRequest) {

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 активирует этот запрос на публикацию, как только пользователь задаст вопрос боту, а также ответит пользователю

экспортировать асинхронную функцию POST(req: NextRequest) {

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 для получения полной и точной информации.