Construirea unui chatbot WhatsApp alimentat de inteligență artificială: un ghid pas cu pas

Publicat: 2024-03-22

Rezumat:

Aflați cum să construiți pas cu pas un chatbot WhatsApp bazat pe inteligență artificială, valorificând capacitățile Node.js și OpenAI. De la crearea unui cont Meta business până la integrarea WhatsApp API și OpenAI, acest ghid dă putere companiilor să simplifice interacțiunile cu clienții și să deblocheze noi posibilități în comunicarea automată.

În era digitală de astăzi, valorificarea puterii inteligenței artificiale (AI) pentru a îmbunătăți interacțiunile cu clienții este esențială pentru companiile care se străduiesc să rămână în fruntea pieței. WhatsApp, fiind una dintre cele mai utilizate platforme de mesagerie la nivel global, prezintă o oportunitate excelentă pentru companii de a se interacționa eficient cu publicul lor. Intră în tărâmul chatbot-urilor WhatsApp bazate pe inteligență artificială. Acești asistenți virtuali revoluționează serviciul pentru clienți, oferă asistență non-stop și eficientizează procesele de comunicare.

Indiferent dacă sunteți un startup în plină dezvoltare sau o întreprindere consacrată, navigarea prin pașii de dezvoltare poate fi simplificată cu abordarea corectă. În acest ghid cuprinzător, vom explora principiile fundamentale, procedurile pas cu pas și considerațiile cruciale necesare pentru integrarea API-ului WhatsApp Business cu aplicația dvs. Node.js. Valorificând puterea capabilităților de procesare a limbajului natural OpenAI, vom crea o experiență de utilizator perfectă, care rezonează cu publicul dvs.

De la configurarea contului dvs. WhatsApp Business până la integrarea API-ului OpenAI cu codul dvs. Node.js, urmați-vă pe măsură ce demistificăm procesul și vă dăm putere să vă creați propria soluție bazată pe inteligență artificială. Această călătorie transformatoare în tărâmul agenților conversaționali bazați pe inteligență artificială nu este una pe care trebuie să o întreprinzi singur. O companie de dezvoltare AI Chatbot poate servi ca partener de încredere, oferind informații și expertiză neprețuite pe parcurs. Să ne îmbarcăm împreună în această expediție interesantă.

Pasul 1: Configurarea contului de afaceri Meta (Facebook) și a aplicației

  1. Mai întâi creați un cont Meta business, (click aici).

Completați detaliile și faceți clic pe Trimiteți.

2. Creați o nouă aplicație Meta (Facebook) (faceți clic aici).

  • (Conectează-te) la contul tău de dezvoltator Meta (Facebook).

După conectare, faceți clic pe „Aplicațiile mele”

dați clic pe aplicația mea

3. Acum faceți clic pe „creați aplicația”

4. Selectați „Altele” și faceți clic pe „următorul”.

5. Alegeți Tip de aplicație: „Afaceri” și faceți clic pe „Următorul”.

6. Furnizați detalii despre aplicație și faceți clic pe „Creați aplicația”

Pasul 2: Configurarea aplicației Meta (Facebook) pentru integrarea WhatsApp

1. Adăugați WhatsApp în aplicația dvs. Meta (Facebook).

  • În „Tabloul de bord pentru dezvoltatori”, alegeți aplicația dvs.
  • Găsiți „Adăugați produse în aplicația dvs.” în fila tabloului de bord a aplicației.
  • Alegeți „WhatsApp” pentru configurare.
  • Selectați contul dvs. de afaceri Meta (Facebook).
  • Navigați la Setări aplicație > De bază din bara laterală
  • Salvează modificările.
  • Setați Modul aplicație la Live

Pasul 3: Generați simbolul WhatsApp

Pentru a obține un simbol de acces WhatsApp permanent, urmați 1 până la 3 pași:

1. Creați un „Utilizator de sistem”:

  • Vizitați suita Meta Business.
  • Găsiți contul dvs. de companie în meniul derulant din stânga sus și faceți clic pe pictograma Setări (roată) acestuia.
  • Faceți clic pe Setări pentru afaceri.
  • Accesați Utilizatori > Utilizatori de sistem.
  • Adăugați un utilizator de sistem de administrare.

2. Adăugați active.

  • După ce ați creat utilizatorul de sistem, faceți clic pe Adăugați elemente.
  • Navigați la Aplicații > „Numele aplicației dvs.”.
  • Selectați aplicația și acordați control deplin pentru a gestiona aplicația.

3. Generați jetoane de acces utilizator de sistem.

  • Faceți clic pe butonul Generare token nou de pe utilizatorul sistemului.

Alegeți aplicația care va folosi simbolul și setați expirarea simbolului la niciodată.

  • Selectați permisiunile „whatsapp_business_messaging” și „whatsapp_business_management”.
  • Generați jetonul.
  • Copiați jetonul de acces și stocați-l în siguranță.

4. Adăugați un nou număr de afaceri pentru WhatsApp

  • Puteți folosi propriul dvs. număr de afaceri sau puteți utiliza numărul de test furnizat pentru chatbot-ul dvs. WhatsApp.
  • În Tabloul de bord pentru dezvoltatori WhatsApp, navigați la WhatsApp > Configurare API din bara laterală.
  • Treceți la „Pasul 5: Adăugați un număr de telefon”, faceți clic pe Adăugați un număr de telefon.
  • Furnizați detaliile solicitate în formularul următor.
  • Verificați-vă numărul folosind codul primit.
  • Odată adăugat cu succes, selectați numărul dvs. de telefon în Pasul 1 din Configurarea API.

5. Adăugați o metodă de plată

  • Pentru a trimite mesaje prin WhatsApp, aveți nevoie de o metodă de plată validă. Vizitați aici pentru detalii.
  • După ce ați adăugat numărul de telefon al companiei dvs., faceți clic pe „Adăugați o metodă de plată” pentru a adresa alerta „Lipsește o metodă de plată validă”.
  • Veți fi direcționat către setările contului dvs. WhatsApp. Faceți clic pe „Metode de plată” > „Adăugați o metodă de plată pentru afaceri” și urmați instrucțiunile pentru a adăuga informațiile cardului dvs.

6. Testează-ți noul număr de afaceri pentru WhatsApp

  • Reveniți la Tabloul de bord pentru dezvoltatori WhatsApp, navigați la Configurare API
  • Introduceți un număr de testare „Către”.
  • Faceți clic pe „Trimiteți mesajul” pentru a verifica livrarea cu succes a mesajului.

Pasul 4: Configurați setările WhatsApp API Webhook

1. Verificați WhatsApp Webhook Callback.

  • În Tabloul de bord pentru dezvoltatori WhatsApp, navigați la Configurare.
  • Sub Webhook, faceți clic pe Editați
  • Acum, trebuie să furnizăm o adresă URL webhook live și un token pentru WhatsApp. Adresa URL live este adresa URL a aplicației dvs., iar simbolul este, de asemenea, generat de la capătul dvs. În imaginea de mai jos, mi-am adăugat adresa URL Ngrok deoarece aplicația mea Node.js rulează pe Ngrok și am folosit un UUID ca simbol.
  • În procesul de verificare, WhatsApp trimite o solicitare GET către adresa URL de apel invers pentru a valida simbolul hub. Următorul cod, scris în Next.js (un cadru Node.js), se ocupă de acest proces de verificare. Verificarea va avea succes numai dacă codul dvs. trimite un cod de stare 200 ca răspuns, după cum se arată mai jos.
exportă funcția asincronă GET(req: NextRequest) {

let hubMode = req.nextUrl.searchParams.get("hub.mode");

let hubChallenge = req.nextUrl.searchParams.get("hub.challenge");

let hubToken = req.nextUrl.searchParams.get("hub.verify_token");

//găsește jetonul în baza de date

dacă (

hubMode === „abonare” &&

hubToken === „<valoarea din .env SAU din baza de date>”

) {

console.log("verificat cu succes");

returnează un răspuns nou (hubChallenge);

}

returnează un răspuns nou ("Acreditări nevalide", { status: 400 });

}

  • Găsiți câmpul „mesaje” și abonați-vă la el bifând caseta.
  • Acum avem nevoie de simbolul WhatsApp Access și secretul aplicației Facebook pe care le obținem din același cont de afaceri WhatsApp
  • În imaginea de mai jos vedeți aplicația Facebook secretă

de asemenea, trebuie să păstrăm următoarele date evidențiate

În codul nostru, avem nevoie de diverși identificatori, cum ar fi simbolul de acces, secretul aplicației, numărul de test, ID-ul numărului de telefon și ID-ul contului de afaceri. Acești identificatori ne ajută să stabilim de la cine primim mesaje și cui trebuie să le trimitem.

Pasul 5: Trimiterea și primirea mesajului prin API

  • În codul TypeScript furnizat, am integrat cu succes API-ul WhatsApp pentru a trimite și a primi mesaje. În plus, am încorporat OpenAI și un model AI personalizat pentru a răspunde la mesajele primite, pentru scopul meu.
  • Adresa URL de apel invers furnizată către WhatsApp este utilizată atât pentru solicitările GET, cât și pentru POST. Când un mesaj este trimis la numărul de afaceri, WhatsApp declanșează această adresă URL de apel invers și trimite mesajul împreună cu detaliile utilizatorului. Următorul cod citește acel mesaj și răspunde pe baza logicii implementate.
  • Funcția POST este o funcție asincronă care gestionează solicitările POST primite. Mai întâi analizează solicitarea primită în JSON și extrage mesajul trimis de utilizator de pe WhatsApp. Dacă mesajul este nedefinit sau gol, returnează un răspuns cu starea 200 și nu continuă.
  • Funcția preia apoi numărul de telefon al companiei și numărul de telefon al expeditorului din cerere.
  • Funcția pregătește apoi o solicitare POST pentru a trimite un mesaj înapoi utilizatorului prin WhatsApp. Acesta construiește adresa URL pentru cerere, definește mesajul care trebuie trimis și setează opțiunile de solicitare, inclusiv metoda, anteturile și corpul.
  • Funcția trimite apoi cererea folosind funcția de preluare. Dacă cererea are succes, returnează un răspuns cu starea 200. Dacă apare o eroare în orice moment, aceasta este conectată la consolă.
  • Funcția getResponseNumber este o funcție de ajutor care extrage numărul de telefon al expeditorului din cererea primită.
  • Acest cod oferă un exemplu de bază despre cum să integrați o aplicație Node.js cu API-ul WhatsApp Business, permițând trimiterea și primirea automată a mesajelor.

// WhatsApp va declanșa această solicitare de postare odată ce utilizatorul a adresat o întrebare botului și, de asemenea, un răspuns utilizatorului

exportă funcția asincronă POST(req: NextRequest) {

lasă res: orice = await req.json();

lasă întrebareaFromWhatsapp =

res?.intrare?.[0]?.modificări?.[0]?.valoare?.mesaje?.[0]?.text?.corp; // intrebare primita de la whatsapp

dacă (

questionFromWhatsapp == nedefinit ||

questionFromWhatsapp.trim().length <= 0

) {

//dacă cererea este doar despre stare, nu vă deplasați mai departe

// returnează NextResponse.json({mesaj: „primit”});

returnează un răspuns nou ("primit", { status: 200 });

}

// obțineți ID-ul numărului de telefon din răspuns. acest număr de telefon este un număr de afaceri

const phoneNumberId =

res?.entry?.[0]?.schimbări?.[0]?.value?.metadata["phone_number_id"];

//această metodă va returna numărul de telefon de la care a fost primit mesajul

const responseNumber = getResponseNumber(res);

// Recuperarea userId din baza de date

încerca {

const version = "v18.0";

//verifică dacă limita este atinsă sau nu

const phoneNumber;

const recipientPhoneNumber = "+" + responseNumber;

// const accessToken = process.env.WHATSAPPTOKEN

const accessToken = "token pe care îl obțineți de la facebook";

încerca {

//--------------- Acest cod este pentru trimiterea mesajului către telegram

const url = `https://graph.facebook.com/${version}/${phoneNumberId}/messages`;

// Definiți datele de trimis în corpul cererii

date const = {

messaging_product: „whatsapp”,

recipient_type: „individ”,

către: `${recipientPhoneNumber}`,

tip: „text”,

text: {

preview_url: false,

body: „Bună, sunt un chatbot, sunt ocupat în prezent, voi reveni la tine în curând.”

},

};

// Definiți opțiunile pentru cererea de preluare

opțiuni const = {

metoda: "POST",

anteturi: {

„Content-Type”: „aplicație/json”,

Autorizare: `Bearer ${accessToken}`,

},

body: JSON.stringify(date),

};

// Efectuați cererea POST folosind fetch

încerca {

const response = await fetch(url, options);

dacă (!răspuns.ok) {

throw new Error(`eroare HTTP! Stare: ${response.status}`);

}

const data = await response.json();

// Gestionați datele după cum este necesar

} captură (eroare) {

// Gestionați eroarea după cum este necesar

console.log(eroare);

}

returnează un răspuns nou ("primit", { status: 200 });

} captură (eroare) {

console.log("eroare", eroare);

}

} catch (eroare: oricare) {

console.log(eroare);

//menține jurnalul de erori în baza de date, în caz de eroare de dezlegare

}

}

const getResponseNumber = (res: orice) => {

return res?.entry?.[0]?.schimbări?.[0]?.value?.contacts[0]?.wa_id;

};

Concluzie

În acest ghid cuprinzător, am explorat complexitățile integrării API-ului WhatsApp Business cu o aplicație Node.js. De la configurarea webhook-urilor până la procesarea mesajelor primite și trimiterea de răspunsuri personalizate, am acoperit pași esențiali, cum ar fi gestionarea jetoanelor de acces, secretele aplicației, numerele de testare, ID-urile numerelor de telefon și ID-urile contului de afaceri.

Această integrare perfectă nu numai că permite companiilor să automatizeze comunicarea pe WhatsApp, dar deblochează și o multitudine de posibilități, fie că este vorba de crearea de roboți de asistență pentru clienți, automatizarea eforturilor de marketing sau urmărirea proiectelor personale. Pe măsură ce porniți în această călătorie, amintiți-vă că aceasta este doar o fundație. API-ul WhatsApp Business oferă o multitudine de funcții suplimentare care așteaptă să fie explorate și integrate în aplicația dvs.

Pe măsură ce continuați să vă perfecționați eforturile de dezvoltare a unui chatbot AI, luați în considerare utilizarea experienței unui Companie de dezvoltare AI Chatbot . Perspectivele și sprijinul lor vă pot cataliza progresul, asigurându-vă că eforturile dvs. de chatbot își ating întregul potențial. Consultați întotdeauna documentația oficială WhatsApp Business API pentru informații complete și precise pe măsură ce avansați în călătoria dvs. de dezvoltare.