Introducere
Chatbotul pentru WhatsApp permite să răspundă automat solicitărilor, să trimită notificări, să ceară informații, făcând comunicarea eficientă și disponibilă 24/7.
Acest ghid pentru programatori este o instrucțiune pas cu pas pentru configurarea și lansarea propriului chatbot bazat pe API-ul Whapi.Cloud pe Node.JS, demonstrând funcțiile cheie și capacitățile gateway-ului și ale botului.
Veți putea utiliza codul nostru sursă în proiectul dvs., modificând și completând ușor funcționalitatea scriptului. Pe baza codului, veți crea propriul chatbot sau orice integrare. Integrați-l ușor în procesele de lucru existente, continuând să utilizați WhatsApp ca de obicei!
Codul sursă
Scriptul acestui chatbot include funcțiile de bază frecvent utilizate de afacerile mici și mijlocii și acoperă majoritatea sarcinilor:
- Trimiterea unui mesaj obișnuit;
- Trimiterea de media: imagine / fișier / video;
- Trimiterea unui contact (carte de vizită vCard);
- Trimiterea unui produs;
- Crearea unui grup WhatsApp;
- Trimiterea unei invitații în grup;
- Trimiterea unui mesaj în grupul WhatsApp;
- Primirea și procesarea mesajelor primite;
- Răspuns la o comandă necunoscută (pentru implementarea meniului, instrucțiunilor sau mesajului de bun venit).
Configurarea mediului
Să pregătim mediul de lucru. Asigurați-vă că aveți totul pregătit pentru a lucra cu Node.js. Apoi trecem la GitHub.
Procesul include clonarea codului sursă din repository-ul GitHub și instalarea dependențelor necesare prin npm (Node Package Manager). Puteți să treceți direct la capitolul următor dacă ați făcut acest lucru deja independent.
Deci, iată pașii de bază pentru o pornire rapidă:
1. Clonarea repository-ului.
Deschideți terminalul sau linia de comandă și navigați la directorul unde doriți să plasați proiectul. Utilizați următoarea comandă pentru a clona repository-ul:
git clone https://github.com/Whapi-Cloud/nodejs-whatsapp-chatbot
2. Instalarea pachetelor npm.
După clonarea repository-ului, navigați la folderul proiectului:
cd your_project_name
Apoi executați următoarea comandă pentru a instala toate pachetele npm necesare, specificate în fișierul package.json:
npm install
Această comandă va descărca și instala automat toate dependențele necesare pentru funcționarea chatbot-ului.
Structura proiectului
- /files - în acest folder se află fișierele sursă care vor fi folosite pentru trimiterea de fișiere. Puteți testa cu aceste fișiere, apoi le puteți înlocui cu propriile fișiere. De asemenea, veți putea realiza trimiterea de fișiere prin link (mai multe detalii la sfârșitul articolului);
- config.js - setările pentru lansarea botului;
- index.js - scriptul principal al chatbot-ului;
Furnizorul API WhatsApp
Whapi.Cloud oferă un gateway API ușor de utilizat, compatibil cu orice limbaj de programare. Acest lucru vă permite să integrați fără stres site-ul web, magazinul, aplicația sau CRM-ul cu WhatsApp.
API-ul nostru Cloud este o dezvoltare independentă și nu are nicio restricție pentru lucrul cu trimiterea de mesaje, grupuri, canale, statusuri, apeluri și alte funcționalități ale mesagerului dvs.
Accesul la API are un preț fix, nu se percepe nicio taxă pentru mesajele trimise. Acesta este avantajul cheie al API-ului nostru simplu și puternic.
Cum să te conectezi la Whapi.Cloud
Un alt avantaj al gateway-ului nostru este viteza de onboarding și de începere a lucrului. Nu va fi nevoie să treceți prin verificarea afacerii dvs. sau să schimbați numărul. Conectați-vă propriul număr și puteți continua să folosiți WhatsApp ca de obicei!
Deci, înregistrați-vă la Whapi.Cloud. Veți avea nevoie de o adresă de email validă pentru a trece de verificarea prin email sau de un cont Google.
Pe Dashboard veți găsi un canal de încercare, alocat individual pentru dvs. Primele 5 zile veți avea oportunitatea de a testa întreaga funcționalitate a API-ului complet gratuit.
Acces gratuit la API timp de 5 zile
Accesați pagina acestui canal, făcând pur și simplu clic pe el.
Spre deosebire de alți furnizori, vă oferim posibilitatea de a conecta WhatsApp-ul existent sau WhatsApp Business la API.
Scanați pur și simplu codul QR, așa cum se face în WhatsApp Web, și veți fi gata de lucru în câteva secunde.
Din punctul de vedere al Meta, aceasta este o conexiune obișnuită la WhatsApp Web, și dacă nu utilizați Whapi.Cloud pentru a trimite spam, numărul dvs. va continua să funcționeze în mod normal.
Omiteți pasul al treilea "Setări canal", nu ne vor fi necesare acum.
Excelent, acum aveți acces la API Token, care va fi necesar pentru testare și lucrul ulterior cu endpoint-urile. Salvați acest token, vă va fi util de mai multe ori.
Să trecem la config.js și să înlocuim variabila tokenului, inserând cheia dvs. actuală:
token: "YOUR_CHANNEL_TOKEN"
token: "YOUR_CHANNEL_TOKEN"
Configurarea Webhook-ului
Ce este un webhook și la ce servește
Pentru a primi date de intrare din messengerul dvs., de exemplu un mesaj primit, un apel primit sau o notificare că cineva a intrat în grupul dvs., va trebui să utilizați Webhook.
Această tehnologie vă va permite să primiți notificări instantanee despre orice eveniment din WhatsApp-ul dvs. și să reacționați la acesta.
Cu alte cuvinte, pe un exemplu: Contactul A v-a trimis un mesaj -> Scriptul chat-botului a primit mesajul de la Contactul A -> A verificat dacă acest mesaj este o comandă cunoscută -> A executat comanda scriptului (de exemplu, a trimis un mesaj de bun venit sau a trimis un produs etc.)
Astfel, două sisteme (gateway-ul nostru API conectat la WhatsApp și chat-botul dvs.) schimbă informații fără necesitatea unor acțiuni externe.
Tehnic, la primirea unui mesaj, sistemul va efectua o cerere POST cu corpul JSON, către link-ul configurat al scriptului dvs. Corpul JSON va include toate informațiile despre mesajul primit, cum ar fi textul, numărul expeditorului, ora trimiterii etc., ceea ce vă va permite să citiți aceste informații instantaneu.
Să trecem la configurarea acestui link!
Să trecem la configurarea acestui link!
Local sau pe server
În timpul dezvoltării unui bot WhatsApp, poate veți dori să-l testați local înainte de a-l desfășura pe un server. Cea mai simplă metodă de a face acest lucru este utilizarea unor instrumente precum Ngrok, care creează un tunel securizat către localhostul dvs., permițându-vă să oferiți acces la serverul local din Internet.
Haideți să folosim acum un link Ngrok pentru testarea chat-botului. Descărcați Ngrok de pe site-ul oficial și dezarhivați-l. Deschideți terminalul și navigați la folderul unde este stocat Ngrok.
Lansați ./ngrok http NUMĂR_PORT, înlocuind NUMĂR_PORT cu portul pe care serverul dvs. Express rulează local.
Acum ar trebui să aveți un URL public, pe care îl puteți folosi ca URL pentru webhook.
Copiem acest link în fișierul config.js:
botUrl: "https://84c7-151-33-282-113.ngrok-free.app/hook"
Lansați ./ngrok http NUMĂR_PORT, înlocuind NUMĂR_PORT cu portul pe care serverul dvs. Express rulează local.
Acum ar trebui să aveți un URL public, pe care îl puteți folosi ca URL pentru webhook.
Copiem acest link în fișierul config.js:
botUrl: "https://84c7-151-33-282-113.ngrok-free.app/hook"
Atenție, lăsați la sfârșitul linkului “/hook”! Exact pe această adresă este programat scriptul chat-botului acum!
Particularitățile găzduirii pe server
Pentru a primi webhook-uri, este necesar ca adresa IP publică / gazda să fie accesibilă din Internet. Astfel, serverul Whapi.Cloud va putea trimite o cerere la serverul dvs. la adresa specificată și să livreze webhook-ul primit.
Configurația serverului:
- Whapi.Cloud funcționează doar cu webhook-uri care utilizează HTTPS;
- Punctul dvs. final trebuie să accepte POST/PUT/PATCH/DELETE;
Mai jos, în capitolul "Desfășurare", vom vorbi despre câteva servicii publice unde vă puteți găzdui chatbot-ul.
Configurare și diferite evenimente
Setările canalului și ale webhook-urilor în Whapi.Cloud oferă posibilități largi de personalizare, care pot fi deosebit de utile în proiecte cu cerințe individuale.
Cu toate acestea, pentru a simplifica procesul de lansare, am inclus setarea necesară direct în codul chat-botului nostru, scutindu-vă de necesitatea de a le introduce manual. Acest lucru vă permite să vă concentrați pe dezvoltare, fără a vă preocupa de configurare suplimentară.
Dacă doriți să aprofundați posibilitățile de personalizare sau aveți nevoie de o configurare mai detaliată a webhook-ului, puteți consulta întotdeauna lista completă de opțiuni în Baza de Cunoștințe Whapi.Cloud în articolul: Setări detaliate ale webhook-ului
În codul sursă de pe GitHub legătura webhook este atribuită automat canalului dvs. prin metoda API, deci nu veți avea nevoie să faceți acțiuni suplimentare.
Să ne aprofundăm puțin în modurile webhook și evenimentele despre care serviciul nostru vă poate notifica.
În prezent, pentru trimiterea webhook-ului este selectat modul Method. Această metodă este deosebit de potrivită pentru procesarea detaliată a evenimentelor, permițând utilizarea diferitelor metode HTTP pentru acțiuni specifice. Astfel, webhook-ul va separa cererile trimise și le va trimite la adrese diferite, de exemplu https://****/hook/messages (evenimente legate de mesaje) sau https://****/hook/statuses (evenimente legate de statutul mesajelor) sau https://****/hook/groups (evenimente legate de grupuri).
Există și alte două moduri ale webhook-ului: Body (trimite direct la link corpul cererii) și Path (specifică în întregime url-ul cererii API).
Există și alte două moduri ale webhook-ului: Body (trimite direct la link corpul cererii) și Path (specifică în întregime url-ul cererii API).
Evenimentele și metoda prin care notificăm chat-bot-ul original — POST Messages. Acest webhook urmărește orice schimbări legate de mesajele noi, inclusiv mesajele trimise și cele primite.
Pentru a afla mai multe despre toate evenimentele posibile (informații despre grupuri, canale, apeluri, stări, schimbări de mesaje etc.) pe care sistemul nostru le poate susține, puteți consulta articolul: Webhook-urile noastre (evenimente urmărite)
Lansarea și configurarea botului
Chiar acum, puteți verifica funcționarea chat-botului! Asigurați-vă că în config.js tokenul și adresa webhook-ului sunt corect specificate.
Lansarea chat-botului se face executând comanda node index.js în terminal din directorul rădăcină al proiectului.
Botul dvs. ar trebui să fie acum activ și pregătit de funcționare.
Trimitând un mesaj la numărul la care este legat botul, de pe un alt telefon, ar trebui să primiți un răspuns automat. În cazul în care botul nu reacționează, vă recomandăm să consultați secțiunea "Depanarea" pentru diagnosticare și rezolvarea posibilelor probleme.
Parametrii predefiniți (grup și produs)
În fișierul config.js se află valorile prestabilite, inclusiv identificatorii grupului și produsului pe care chat-botul dvs. le utilizează pentru a trimite mesaje. Pentru ca botul să funcționeze corect în contextul datelor dvs., este necesar să actualizați aceste parametri conform nevoilor dvs.
- group: '[email protected]'
- product: '6559353560856703'
Primul identificator este pentru grupul în care chat-botul va trimite mesajul.
Acest identificator poate fi obținut creând un grup în WhatsApp sau folosind unul existent.
Identificatorul grupului poate fi obținut doar prin API.
Pentru aceasta, folosiți apelul API "Obțineți lista grupurilor" (metoda: https://whapi.readme.io/reference/getgroups în Documentație ). Identificatorul grupului arată astfel: [email protected]
Pentru aceasta, folosiți apelul API "Obțineți lista grupurilor" (metoda: https://whapi.readme.io/reference/getgroups în Documentație ). Identificatorul grupului arată astfel: [email protected]
Pentru mai multe detalii despre identificatorii de chat (chat_id), am scris separat în articolul nostru: ID-ul Chatului. Ce este și cum să-l obțineți?
Așadar, când ați găsit identificatorul de grup necesar, acum copiați-l în config.js.
Procedăm similar și cu produsele din catalogul dvs. (există doar în versiunea Business a aplicației).
Determinați identificatorul produsului care va fi trimis de chat-botul dvs.
Puteți obține lista produselor utilizând metoda https://whapi.readme.io/reference/getproducts în Documentație.
Înlocuiți valorile prestabilite din config.js cu identificatorii dvs. de grup și produs.
După ce ați făcut modificările, salvați fișierul și reporniți botul. Acum ar trebui să funcționeze cu noile parametri, permițându-vă să îl testați pe deplin.
Depanarea problemelor
În procesul de testare și exploatare a chat-botului pentru WhatsApp, pot apărea diverse probleme. Iată câteva situații tipice și recomandări pentru soluționarea lor:
Botul nu răspunde la mesajele primite
- Asigurați-vă că trimiteți mesaje la numărul pe care rulează botul, de pe un alt telefon. Botul nu va putea reacționa la mesajele trimise de pe același număr.
- Dacă botul nu reacționează la mesaje de pe alte numere, verificați funcționarea webhook-urilor. Utilizați servicii pentru simularea webhook-urilor, de exemplu, Webhook.site, pentru a vă asigura că cererile de callback vin pe calea corectă. După aceea, verificați dacă calea corespunde celei configurate de dvs. De asemenea, asigurați-vă că serverul dvs. răspunde cu 200Ok.
Dacă întâmpinați dificultăți, nu ezitați să contactați suportul tehnic pentru ajutor. Puteți scrie în widgetul de chat de pe site-ul nostru sau pe email la [email protected]. Vom ajuta și vom clarifica ce nu funcționează corect cu webhook-ul dvs.
Botul trimite mesaje fără oprire
Reveniți la versiunea inițială a codului. În scriptul nostru este implementată o verificare care determină dacă mesajul este primit sau trimis, pentru a preveni intrarea într-un ciclu infinit de trimitere a mesajelor.
Trimiterea infinită poate avea loc dacă în cod lipsește verificarea mesajului trimis, ceea ce face ca botul să se autoapeleze, sau dacă există o trimitere ciclică a mesajelor în cod.
Botul funcționează în unele chat-uri, dar în altele nu
Verificați-vă planul tarifar pe Whapi.Cloud. Dacă utilizați modul de încercare sau tariful "Sandbox", interacțiunea este limitată la un anumit număr de chat-uri pe lună (în prezent până la 5 chat-uri). În acest caz, botul nu va putea procesa mesaje în al șaselea chat și următoarele.
Este important să rețineți că multe probleme pot fi prevenite prin verificarea atentă a configurației și logicii botului dvs. de chat înainte de lansare. Actualizarea regulată a codului dvs. și atenția la detaliile setărilor vor ajuta la evitarea majorității erorilor tipice. Iar echipa noastră de suport este întotdeauna disponibilă și gata să vă ajute!
Implementare și utilizarea serverelor
Pentru ca botul dvs. de chat pentru WhatsApp să fie disponibil 24/7, trebuie să fie găzduit pe o platformă de hosting de încredere. Puteți utiliza și propriul server, dar în acest capitol vom examina cele trei platforme cele mai populare - Firebase, AWS și Heroku - și vom trece prin pașii de bază pentru desfășurarea botului dvs. pe fiecare dintre ele.
Alegerea platformei depinde de preferințele, bugetul și cerințele proiectului dvs. Fiecare dintre platformele examinate oferă capacități și avantaje unice. Firebase și AWS Lambda asigură un backend puternic fără necesitatea de a gestiona un server, în timp ce Heroku oferă simplitatea de desfășurare a aplicațiilor bazate pe Git.
Firebase
Firebase oferă funcționalitatea Cloud Functions, care vă permite să rulați botul fără a fi nevoie să vă îngrijorați de infrastructura serverului. Considerăm că acesta este cea mai optimă opțiune.
- Creați un proiect în Consola Firebase;
- Instalați Firebase CLI, urmând instrucțiunile;
- Inițializați Firebase în directorul proiectului dvs. folosind comanda firebase init;
- Desfășurați botul folosind comanda firebase deploy --only functions.
AWS (Amazon Web Services)
AWS Lambda oferă posibilitatea de a rula cod în răspuns la declanșatori din alte servicii AWS, ceea ce îl face o alegere bună pentru bot.
- Înregistrați-vă sau autentificați-vă în Consola de Management AWS;
- Creați o nouă funcție Lambda prin consola AWS, alegând API Gateway ca declanșator;
- Încărcați codul botului dvs. în funcția Lambda;
- Configurați API Gateway pentru a interacționa cu botul dvs. în lumea externă.
Heroku
Heroku oferă o platformă ușor de utilizat pentru găzduirea aplicațiilor, care poate desfășura automat codul din repoziția dvs. Git.
- Creați un cont pe Heroku;
- Instalați Heroku CLI și autentificați-vă;
- Creați o nouă aplicație pe Heroku folosind consola sau comanda heroku create;
- Asociați repoziția dvs. Git cu Heroku și efectuați desfășurarea folosind comenzi git push heroku master;
- Configurați URL-ul webhook furnizat de Heroku.
Extinderea funcționalității
După lansarea și testarea cu succes a chatbot-ului dvs. pentru WhatsApp, există multe modalități de a extinde și mai mult funcționalitățile acestuia, pentru a face botul și mai util și interactiv pentru utilizatori. Iată câteva cazuri de utilizare frecvente:
- Trimiterea fișierelor prin link.
Este foarte simplu să trimiți un fișier media printr-un link. Condiția principală este ca fișierul în sine să fie accesibil direct printr-un link (din acest motiv, serviciile Cloud precum Google Drive sau Dropbox nu sunt potrivite, deoarece nu oferă acces direct la fișier). Utilizați parametrul media în oricare dintre metodele care permit trimiterea de fișiere media. Citiți mai multe informații în articolul nostru: Endpoint pentru trimiterea fișierelor media.
- Distribuirea lead-urilor pe grupuri.
Veți avea nevoie de funcția de creare a grupurilor, precum și de adăugarea unui membru în grup. Adăugarea unui membru într-un grup nu este dificilă, însă există unele nuanțe. Am descris mai detaliat în articolul: "Adăugarea unui nou membru în grup"
- Integrarea cu CRM.
Tehnic, integrarea cu un CRM nu diferă prea mult de chatbot, cu diferența că se adaugă o resursă suplimentară cu propriul API, care trebuie utilizat. Adăugați funcții care permit utilizatorilor să rezerve servicii, să comande produse sau să obțină informații actualizate din surse externe în timp real.
- Sondajele, ca analog al butoanelor la boturi.
Butoanele interactive în WhatsApp sunt un instrument foarte convenabil pentru lucrul cu clienții. Cu toate acestea, majoritatea utilizatorilor WhatsApp nu au acces la această funcție. Suntem în favoarea simplificării comunicării cu utilizatorii, astfel încât vă oferim o alternativă convenabilă - utilizarea sondajelor ca butoane. Articolul detaliat cu codul sursă pe NodeJS și cum să-l utilizați.
- Creșterea implicării clienților.
Utilizați povestirile, schimbați stările numărului dvs., puneți like-uri și alte emoji-uri pe mesajele clienților dvs., trimiteți mesaje vocale - creșteți implicarea în lucrul cu clienții.
- Verificarea numărului pentru existența WhatsApp.
Verificați dacă numărul de telefon indicat există în WhatsApp sau nu. Determinați care numere de telefon sunt active și care nu pot primi mesaje WhatsApp. Integrați în aplicația dvs. înainte de a efectua o campanie de mesaje! Codul sursă pe GitHub și instrucțiunile aici.
Oferim suport complex clienților noștri! Dacă aveți întrebări legate de funcționarea botului, configurarea platformei sau dacă întâmpinați dificultăți tehnice, puteți conta întotdeauna pe ajutorul nostru.
Sperăm că acest ghid vă va ajuta să lansați cu succes chatbot-ul pentru WhatsApp. Succes în inițiativele dvs.!