Răspundeți la mesajele WhatsApp cu un chatflow Flowise
Setați destinația webhook-ului numărului către un receptor mic, de exemplu un workflow n8n sau o rută în propriul cod. Receptorul trimite fiecare mesaj către Prediction API din Flowise, cu numărul expeditorului ca ID de sesiune, apoi trimite răspunsul înapoi prin Cloud API, cu token-ul și ID-ul numărului de telefon.
Endpoint-ul Flowise care trimite un mesaj către un flow și returnează răspunsul acestuia.
Custom MCP din Flowise, prin Streamable HTTP, primește un URL și anteturi, de exemplu un token bearer.
După închiderea acestei ferestre, clientului i se pot trimite doar mesaje template pre-aprobate.
De ce are Flowise nevoie de ceva în față?
Pentru că webhook-ul Meta și API-ul Flowise folosesc formate diferite. Meta verifică o destinație printr-un GET care trebuie să returneze hub.challenge ca body brut, apoi livrează fiecare mesaj ca un POST JSON imbricat. Prediction API din Flowise așteaptă un POST la /api/v1/prediction/ urmat de ID-ul flow-ului, cu un câmp question. Niciunul nu se adaptează celuilalt, așa că un receptor face traducerea.
Receptorul poate fi un nod Webhook n8n, o rută în Python sau Node ori orice funcție serverless. El răspunde la GET-ul de verificare, verifică un secret lung și aleatoriu plasat în URL-ul webhook-ului, răspunde imediat cu 200 către Meta și abia apoi face munca. Secretul din URL este autentificarea care funcționează aici: Meta semnează livrările cu app secret-ul Tech Provider-ului, care nu este niciodată partajat, deci antetul X-Hub-Signature-256 nu poate fi validat de partea dumneavoastră.
Cum ar trebui să apeleze receptorul Prediction API?
Cu textul clientului ca question și cu numărul WhatsApp al clientului ca sesiune. Flowise acceptă overrideConfig la fiecare cerere, iar un sessionId în interiorul lui permite nodurilor de memorie să păstreze o conversație separată pentru fiecare persoană, în loc să amestece pe toată lumea într-un singur fir. Numărul expeditorului din payload-ul webhook-ului este o cheie stabilă și naturală pentru asta.
Dacă chatflow-ul este protejat cu o cheie API, receptorul o trimite ca token bearer. Setați streaming pe false, cu excepția cazului în care receptorul este construit să asambleze un stream, deoarece WhatsApp livrează un mesaj finalizat, nu un token pe rând.
Răspunsul pleacă ca mesaj text prin Cloud API, de la același număr. Este gratuit și permis în fereastra de 24 de ore deschisă de mesajul clientului. Orice dorește flow-ul să trimită mai târziu, de exemplu un memento, trebuie să fie un template aprobat.
POST https://your-flowise-host/api/v1/prediction/<flow-id>
Authorization: Bearer <flowise-api-key>
Content-Type: application/json
{
"question": "do you have anything friday?",
"streaming": false,
"overrideConfig": { "sessionId": "14155550188" }
}Poate un agent Flowise să folosească serverul MCP EasyCoexistence?
Nu în prezent. Custom MCP din Flowise se conectează la un server Streamable HTTP cu un URL și un set de anteturi, de obicei un token bearer static ținut într-o variabilă Flowise. Serverul MCP EasyCoexistence se autentifică prin OAuth, cu autentificare în browser și token-uri emise de el însuși, deci nu există o cheie statică de pus într-un antet.
Soluția funcțională este ca flow-ul să decidă, iar receptorul să trimită. Flow-ul returnează textul de spus sau numele unui template atunci când clientul a tăcut mai mult de o zi, iar receptorul face apelul Cloud API cu token-ul numărului. Astfel token-ul nu ajunge niciodată în Flowise, iar regula de 24 de ore este aplicată în cod, verificând când a scris contactul ultima dată, nu lăsată pe seama unui model care o poate uita.
Mesajele primite continuă să sosească doar prin webhook, indiferent de modul în care se face trimiterea.
Greșeli frecvente
- Omiterea sessionId. Toți clienții împart atunci aceeași memorie, iar datele unei persoane pot apărea în răspunsul altei persoane.
- Așteptarea Flowise înainte de a răspunde către Meta. Un 200 lent este retrimis, iar același mesaj este procesat de două ori.
- Trimiterea de text liber de către flow a doua zi. În afara ferestrei, Meta îl refuză cu eroarea 131047.
Conectați numărul pe easycoexistence.com, indicați destinația webhook-ului către receptorul dumneavoastră și citiți token-ul și ID-ul numărului de telefon din dashboard. De la US$ 9 pe număr pe lună, scăzând la US$ 1 pe măsură ce adăugați numere, cu primele 3 zile gratuite.
Întrebări frecvente
Are Flowise un nod WhatsApp?
Nu în documentația sa. Se ajunge la el prin Prediction API, motiv pentru care un receptor stă între Meta și flow.
Poate n8n să fie receptorul?
Da. Un nod Webhook primește, un nod HTTP Request apelează Flowise, iar un alt nod HTTP Request trimite răspunsul prin Cloud API.
Cum opresc botul când o persoană răspunde de pe telefon?
Urmăriți evenimentele echo. Un răspuns trimis din aplicația WhatsApp Business ajunge la receptor, care poate pune flow-ul în pauză pentru acel contact.
Conversația este stocată de EasyCoexistence?
Nu. Meta livrează direct către receptorul dumneavoastră. Flowise păstrează ceea ce au fost configurate să păstreze nodurile sale de memorie.
Continuați să citiți
Gata să începeți?
Configurați WhatsApp Coexistence în câteva minute, nu luni. Aplicația continuă să funcționeze pe telefon.
Începeți perioada de probă gratuităVerificat la