Tworzenie chatbota WhatsApp opartego na sztucznej inteligencji: przewodnik krok po kroku
Opublikowany: 2024-03-22Streszczenie:
Dowiedz się, jak krok po kroku zbudować chatbota WhatsApp opartego na sztucznej inteligencji, wykorzystując możliwości Node.js i OpenAI. Od konfiguracji konta biznesowego Meta po integrację WhatsApp API i OpenAI – ten przewodnik umożliwia firmom usprawnienie interakcji z klientami i odblokowanie nowych możliwości w zautomatyzowanej komunikacji.
W dzisiejszej epoce cyfrowej wykorzystanie mocy sztucznej inteligencji (AI) do usprawnienia interakcji z klientami ma ogromne znaczenie dla firm, które chcą utrzymać się na rynku. WhatsApp, będący jedną z najpowszechniej używanych platform do przesyłania wiadomości na świecie, stanowi dla firm doskonałą okazję do skutecznego nawiązania kontaktu z odbiorcami. Wejdź do świata chatbotów WhatsApp opartych na sztucznej inteligencji. Ci wirtualni asystenci rewolucjonizują obsługę klienta, zapewniając całodobowe wsparcie i usprawniając procesy komunikacji.
Niezależnie od tego, czy jesteś rozwijającym się start-upem, czy przedsiębiorstwem o ugruntowanej pozycji, nawigacja po etapach rozwoju może być prostsza, jeśli zastosujesz odpowiednie podejście. W tym obszernym przewodniku omówimy podstawowe zasady, procedury krok po kroku i najważniejsze kwestie niezbędne do integracji interfejsu API WhatsApp Business z aplikacją Node.js. Wykorzystując moc możliwości przetwarzania języka naturalnego OpenAI, stworzymy bezproblemową obsługę użytkownika, która przemówi do Twoich odbiorców.
Od konfiguracji konta WhatsApp Business po integrację interfejsu API OpenAI z kodem Node.js – śledź, jak wyjaśniamy ten proces i umożliwiamy Ci zbudowanie własnego rozwiązania opartego na sztucznej inteligencji. Tej transformacyjnej podróży do świata agentów konwersacyjnych opartych na sztucznej inteligencji nie trzeba podejmować samotnie. Firma zajmująca się rozwojem chatbotów AI może służyć jako Twój zaufany partner, dostarczając bezcennych spostrzeżeń i wiedzy specjalistycznej. Wyruszmy razem w tę ekscytującą wyprawę.
Krok 1: Konfiguracja konta biznesowego i aplikacji Meta (Facebook).
- Najpierw utwórz konto biznesowe Meta (kliknij tutaj).
Wypełnij szczegóły i kliknij Prześlij.
2. Utwórz nową aplikację Meta (Facebook) (kliknij tutaj).
- (Zaloguj się) na swoje konto programisty Meta (Facebook).
Po zalogowaniu kliknij „Moje aplikacje”
3. Teraz kliknij „utwórz aplikację”
4. Wybierz „Inne” i kliknij „Dalej”.
5. Wybierz typ aplikacji: „Biznes” i kliknij „Dalej”.
6. Podaj szczegóły aplikacji i kliknij „Utwórz aplikację”
Krok 2: Konfiguracja aplikacji Meta (Facebook) do integracji z WhatsApp
1. Dodaj WhatsApp do swojej aplikacji Meta (Facebook).
- W „Panelu programistów” wybierz swoją aplikację.
- Znajdź opcję „Dodaj produkty do swojej aplikacji” na karcie panelu aplikacji.
- Wybierz „WhatsApp” do konfiguracji.
- Wybierz swoje konto biznesowe Meta (Facebook).
- Przejdź do opcji Ustawienia aplikacji > Podstawowe na pasku bocznym
- Zapisz zmiany.
- Ustaw tryb aplikacji na Na żywo
Krok 3: Wygeneruj token WhatsApp
Aby uzyskać stały token dostępu WhatsApp, wykonaj od 1 do 3 kroków:
1. Utwórz „Użytkownika Systemu”:
- Odwiedź Meta Business Suite.
- Znajdź swoje konto firmowe w menu rozwijanym w lewym górnym rogu i kliknij jego ikonę Ustawienia (koła zębatego).
- Kliknij Ustawienia biznesowe.
- Przejdź do Użytkownicy > Użytkownicy systemu.
- Dodaj użytkownika systemu administracyjnego.
2. Dodaj zasoby.
- Po utworzeniu użytkownika systemu kliknij Dodaj zasoby.
- Wybierz kolejno Aplikacje > „Nazwa Twojej aplikacji”.
- Wybierz swoją aplikację i przyznaj pełną kontrolę nad zarządzaniem aplikacją.
3. Wygeneruj tokeny dostępu użytkownika systemu.
- Kliknij przycisk Wygeneruj nowy token na użytkowniku systemu.
Wybierz aplikację, która będzie korzystać z tokena i ustaw datę ważności tokena na nigdy.
- Wybierz uprawnienia „Whatsapp_business_messaging” i „Whatsapp_business_management”.
- Wygeneruj token.
- Skopiuj token dostępu i przechowuj go w bezpiecznym miejscu.
4. Dodaj nowy numer firmowy dla WhatsApp
- Możesz użyć własnego numeru firmowego lub skorzystać z podanego numeru testowego dla swojego chatbota WhatsApp.
- W panelu programisty WhatsApp przejdź do WhatsApp > Konfiguracja API z paska bocznego.
- Przejdź do „Kroku 5: Dodaj numer telefonu” i kliknij Dodaj numer telefonu.
- Podaj wymagane dane w poniższym formularzu.
- Zweryfikuj swój numer za pomocą otrzymanego kodu.
- Po pomyślnym dodaniu wybierz swój numer telefonu w kroku 1 konfiguracji interfejsu API.
5. Dodaj metodę płatności
- Aby wysyłać wiadomości za pośrednictwem WhatsApp, potrzebujesz ważnej metody płatności. Odwiedź tutaj, aby poznać szczegóły.
- Po dodaniu firmowego numeru telefonu kliknij „Dodaj metodę płatności”, aby rozwiązać problem z alertem „Brak prawidłowej metody płatności”.
- Zostaniesz przekierowany do ustawień konta WhatsApp. Kliknij „Metody płatności” > „Dodaj firmową metodę płatności” i postępuj zgodnie z instrukcjami, aby dodać dane karty.
6. Przetestuj swój nowy numer firmowy dla WhatsApp
- Wróć do panelu programisty WhatsApp i przejdź do opcji Konfiguracja interfejsu API
- Wprowadź testowy numer „Do”.
- Kliknij „Wyślij wiadomość”, aby zweryfikować pomyślne dostarczenie wiadomości.
Krok 4: Skonfiguruj ustawienia webhooka API WhatsApp
1. Zweryfikuj wywołanie zwrotne webhooka WhatsApp.
- W panelu programisty WhatsApp przejdź do opcji Konfiguracja.
- W obszarze Webhook kliknij opcję Edytuj
- Teraz musimy podać adres URL i token webhooka na żywo do WhatsApp. Aktywny adres URL to adres URL Twojej aplikacji, a token jest również generowany z Twojej strony. Na obrazku poniżej dodałem adres URL Ngrok, ponieważ moja aplikacja Node.js działa na Ngrok i użyłem UUID jako tokena.
- W procesie weryfikacji WhatsApp wysyła żądanie GET na adres URL wywołania zwrotnego, aby zweryfikować token centrum. Poniższy kod napisany w Next.js (framework Node.js) obsługuje ten proces weryfikacji. Weryfikacja zakończy się pomyślnie tylko wtedy, gdy Twój kod wyśle w odpowiedzi kod stanu 200, jak pokazano poniżej.
niech hubMode = req.nextUrl.searchParams.get("hub.mode");
niech hubChallenge = req.nextUrl.searchParams.get("hub.challenge");
niech hubToken = req.nextUrl.searchParams.get("hub.verify_token");
//znajdź token w bazie danych
Jeśli (
hubMode === „subskrybuj” &&
hubToken === "<wartość z .env LUB z bazy danych>"
) {
console.log("pomyślnie zweryfikowano");
zwróć nową odpowiedź (hubChallenge);
}
zwróć nową odpowiedź("Nieprawidłowe dane uwierzytelniające", { status: 400 });
}
- Znajdź pole „wiadomości” i zasubskrybuj je zaznaczając pole.
- Teraz potrzebujemy tokena WhatsApp Access i sekretu aplikacji Facebook, który otrzymamy z tego samego konta biznesowego WhatsApp
- Na poniższym obrazku widać sekret aplikacji Facebook
musimy również zachować następujące wyróżnione dane
W naszym kodzie potrzebujemy różnych identyfikatorów, takich jak token dostępu, sekret aplikacji, numer testowy, identyfikator numeru telefonu i identyfikator konta firmowego. Identyfikatory te pomagają nam określić, od kogo otrzymujemy wiadomości i komu musimy je wysyłać.
Krok 5: Wysyłanie i odbieranie wiadomości poprzez API
- W dostarczonym kodzie TypeScript pomyślnie zintegrowaliśmy API WhatsApp do wysyłania i odbierania wiadomości. Dodatkowo, dla mojego celu, włączyłem OpenAI i specjalnie wyszkolony model AI, aby reagować na przychodzące wiadomości.
- Adres URL wywołania zwrotnego dostarczony do WhatsApp jest używany zarówno w przypadku żądań GET, jak i POST. Gdy wiadomość zostanie wysłana na numer firmowy, WhatsApp uruchamia ten adres URL wywołania zwrotnego i wysyła wiadomość wraz z danymi użytkownika. Poniższy kod odczytuje ten komunikat i odpowiada w oparciu o zaimplementowaną logikę.
- Funkcja POST jest funkcją asynchroniczną, która obsługuje przychodzące żądania POST. Najpierw analizuje przychodzące żądanie do JSON i wyodrębnia wiadomość wysłaną przez użytkownika z WhatsApp. Jeżeli wiadomość jest niezdefiniowana lub pusta, zwraca odpowiedź ze statusem 200 i nie przechodzi dalej.
- Następnie funkcja pobiera z żądania numer telefonu służbowego i numer telefonu nadawcy.
- Następnie funkcja przygotowuje żądanie POST w celu wysłania wiadomości do użytkownika za pośrednictwem WhatsApp. Konstruuje adres URL żądania, definiuje wiadomość do wysłania i ustawia opcje żądania, w tym metodę, nagłówki i treść.
- Następnie funkcja wysyła żądanie za pomocą funkcji pobierania. Jeśli żądanie zakończy się pomyślnie, zwraca odpowiedź ze statusem 200. Jeśli w którymkolwiek momencie wystąpi błąd, jest on rejestrowany w konsoli.
- Funkcja getResponseNumber jest funkcją pomocniczą, która wyodrębnia numer telefonu nadawcy z przychodzącego żądania.
- Kod ten stanowi podstawowy przykład integracji aplikacji Node.js z API WhatsApp Business, pozwalającym na automatyczne wysyłanie i odbieranie wiadomości.
// WhatsApp uruchomi to żądanie postu, gdy użytkownik zada pytanie botowi i odpowie użytkownikowi
niech res: any = czekaj na żądanie.json();
niech pytanieFromWhatsapp =
res?.wpis?.[0]?.zmiany?.[0]?.wartość?.wiadomości?.[0]?.tekst?.treść; // pytanie otrzymane z WhatsApp
Jeśli (
pytanieFromWhatsapp == niezdefiniowane ||
pytanieFromWhatsapp.trim().length <= 0
) {
//jeśli żądanie dotyczy tylko statusu, nie przechodź dalej
// zwróć NextResponse.json({wiadomość: "otrzymano" });
zwróć nową odpowiedź("otrzymano", {status: 200 });
}
//pobierz identyfikator numeru telefonu z odpowiedzi. ten numer telefonu jest numerem służbowym
stały numer telefonuId =
res?.entry?.[0]?.zmiany?.[0]?.wartość?.metadata["id_numeru_telefonu"];
//ta metoda zwróci numer telefonu, od którego otrzymano wiadomość
const numer odpowiedzi = getResponseNumber (res);
// pobranie identyfikatora użytkownika z bazy danych
próbować {
wersja stała = "v18.0";
//sprawdź, czy limit został osiągnięty, czy nie
stały numer telefonu;
const numer telefonu odbiorcy = "+" + numer odpowiedzi;
// const accessToken = Process.env.WHATSAPPTOKEN
const accessToken = "token, który otrzymujesz z Facebooka";
próbować {
//------------------- Ten kod służy do wysyłania wiadomości do telegramu
const url = `https://graph.facebook.com/${version}/${phoneNumberId}/messages`;
// Zdefiniuj dane, które mają zostać przesłane w treści żądania
dane stałe = {
messaging_product: "WhatsApp",
typ_odbiorcy: "indywidualny",
na: `${recipientPhoneNumber}`,
Wpisz tekst",
tekst: {
podgląd_url: fałsz,
body: "Cześć, jestem chatbotem, obecnie jestem zajęty, wkrótce się odezwę.",
},
};
// Zdefiniuj opcje żądania pobrania
stałe opcje = {
metoda: „POST”,
nagłówki: {
„Typ zawartości”: „aplikacja/json”,
Autoryzacja: `Nosiciel ${accessToken}`,
},
treść: JSON.stringify(dane),
};
// Wykonaj żądanie POST za pomocą fetch
próbować {
stała odpowiedź = oczekiwanie na pobranie (adres URL, opcje);
if (!response.ok) {
wrzuć nowy błąd(`Błąd HTTP! Status: ${response.status}`);
}
const data = czekaj na odpowiedź.json();
// Obsługuj dane według potrzeb
} złapać (błąd) {
// Obsłuż błąd według potrzeb
konsola.log(błąd);
}
zwróć nową odpowiedź("otrzymano", {status: 200 });
} złapać (błąd) {
konsola.log("błąd", błąd);
}
} catch (błąd: dowolny) {
konsola.log(błąd);
//zachowuje dziennik błędów w bazie danych na wypadek nieobsłużonego błędu
}
}
const getResponseNumber = (res: any) => {
return res?.entry?.[0]?.zmiany?.[0]?.wartość?.kontakty[0]?.wa_id;
};
Wniosek
W tym obszernym przewodniku omówiliśmy zawiłości integracji interfejsu API WhatsApp Business z aplikacją Node.js. Od konfigurowania webhooków po przetwarzanie wiadomości przychodzących i wysyłanie dostosowanych odpowiedzi – omówiliśmy podstawowe kroki, takie jak obsługa tokenów dostępu, kluczy tajnych aplikacji, numerów testowych, identyfikatorów numerów telefonów i identyfikatorów kont firmowych.
Ta płynna integracja nie tylko umożliwia firmom automatyzację komunikacji w WhatsApp, ale także odblokowuje niezliczone możliwości, niezależnie od tego, czy chodzi o tworzenie botów obsługi klienta, automatyzację działań marketingowych czy realizację osobistych projektów. Wyruszając w tę podróż, pamiętaj, że to tylko podstawa. Interfejs API WhatsApp Business oferuje mnóstwo dodatkowych funkcji, które czekają na odkrycie i zintegrowanie z Twoją aplikacją.
Kontynuując udoskonalanie wysiłków w zakresie rozwoju chatbota AI, rozważ skorzystanie z wiedzy specjalisty ds Firma zajmująca się rozwojem chatbotów AI . Ich spostrzeżenia i wsparcie mogą katalizować Twoje postępy, zapewniając, że wysiłki Twojego chatbota osiągną pełny potencjał. W miarę postępów w programowaniu zawsze odwołuj się do oficjalnej dokumentacji interfejsu API WhatsApp Business, aby uzyskać wyczerpujące i dokładne informacje.