Introducere
Pentru cine este acest ghid:
- Pentru dezvoltatori care integrează funcții WhatsApp în sisteme de business;
- Pentru utilizatori low-code care automatizează fluxuri cu Make, Zapier, N8N, IFTTT sau Pabbly;
Cazuri de utilizare:
- Crearea automată de grupuri pentru clienți noi sau evenimente;
- Adăugarea/eliminarea membrilor pe baza actualizărilor din CRM;
- Trimiterea de anunțuri sau remindere în chat-uri de grup;
- Conectarea boților AI la conversații de grup WhatsApp;
Cerințe preliminare:
- Un număr înregistrat în WhatsApp standard (nu API-ul Business de la Meta);
- Cunoștințe de bază de programare sau acces la o platformă low-code precum Make;
Ce poți face cu Grupurile WhatsApp prin API
- Trimite mesaje către grupuri: Trimite actualizări, anunțuri sau remindere direct în orice grup.
- Creează grupuri WhatsApp noi: Generează automat grupuri pe baza unor evenimente precum onboarding-ul clienților sau înscrierea la cursuri.
- Adaugă membri într-un grup: Invită contacte în grup programatic, fără aprobare manuală.
- Promovează membri la administratori: Atribuie sau revocă drepturi de admin pentru participanți selectați.
- Preia participanții grupului: Obține lista completă de membri pentru analiză sau sincronizare cu CRM-ul.
- Detectează evenimente în grup: Monitorizează mesaje, intrări și ieșiri folosind webhook-uri.
- Conectează boți la grupuri: Permite boților să citească și să răspundă la mesaje de grup conform logicii definite.
Cum să îți conectezi WhatsApp-ul și să începi să folosești API-ul
- 1) Accesează dashboard-ul și deschide Canalul Implicit — este deja creat pentru tine.
- 2) La Pasul 1 vei vedea un cod QR cu instrucțiuni.
- 3) Pe telefon, deschide WhatsApp → Setări → Dispozitive conectate → Conectează un dispozitiv, apoi scanează codul QR.
- 4) După conectare, dă un nume canalului (ex: "Chatbotul Meu") pentru identificare ușoară.
- 5) Vei fi redirecționat la ecranul de setări al canalului, poți sări acest pas și reveni ulterior.




Cum să trimiți mesaje către grupuri WhatsApp prin API (cu exemple de cod)
- 1) Mai întâi, obține ID-ul grupului. Folosește endpoint-ul
GET /groups
pentru a prelua lista grupurilor WhatsApp cu identificatorii lor unici. Pentru detalii complete, vezi documentația: Get groups. - 2) Odată ce ai ID-ul grupului, poți trimite un mesaj. Generează grupuri automat pe baza unor evenimente precum onboarding-ul clienților. Folosește endpoint-ul
POST /messages/text
, specificând ID-ul grupului în parametrulto
și conținutul mesajului înbody
. Pentru detalii, vezi: Send text message.
Poți obține ID-ul grupului folosind endpoint-ul Get groups sau verificând conversațiile recente prin endpoint-ul chats.
- 1) La crearea unui grup, ID-ul va fi specificat în răspunsul API. Mai jos arătăm cum;
- 2) Endpoint Get a list of groups;
- 3) Endpoint Get a list of all chats;
curl --request POST \
--url https://gate.whapi.cloud/messages/text \
--header 'accept: application/json' \
--header 'authorization: Bearer YOUR_API_TOKEN' \
--header 'content-type: application/json' \
--data '
{
"to": "[email protected]",
"body": "Hello, this message was sent via API!"
}
'
// composer require guzzlehttp/guzzle
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://gate.whapi.cloud/messages/text', [
'body' => '{"to":"[email protected]","body":"Hello, this message was sent via API!"}',
'headers' => [
'accept' => 'application/json',
'authorization' => 'Bearer YOUR_API_TOKEN',
'content-type' => 'application/json',
],
]);
echo $response->getBody();
# python -m pip install requests
import requests
url = "https://gate.whapi.cloud/messages/text"
payload = {
"to": "[email protected]",
"body": "Hello, this message was sent via API!"
}
headers = {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
// npm install axios --save
import axios from 'axios';
const options = {
method: 'POST',
url: 'https://gate.whapi.cloud/messages/text',
headers: {
accept: 'application/json',
'content-type': 'application/json',
authorization: 'Bearer YOUR_API_TOKEN'
},
data: {to: '[email protected]', body: 'Hello, this message was sent via API!'}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"to\":\"[email protected]\",\"body\":\"Hello, this message was sent via API!\"}");
Request request = new Request.Builder()
.url("https://gate.whapi.cloud/messages/text")
.post(body)
.addHeader("accept", "application/json")
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer YOUR_API_TOKEN")
.build();
Response response = client.newCall(request).execute();
//dotnet add package RestSharp
using RestSharp;
var options = new RestClientOptions("https://gate.whapi.cloud/messages/text");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer YOUR_API_TOKEN");
request.AddJsonBody("{\"to\":\"[email protected]\",\"body\":\"Hello, this message was sent via API!\"}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
Cum să trimiți mesaje către grupuri folosind instrumente no-code precum Make sau n8n
GET https://gate.whapi.cloud/groups

POST https://gate.whapi.cloud/messages/text
to
: ID-ul grupului.body
: conținutul mesajului


Cum să creezi un grup WhatsApp prin API
- 1) Folosește metoda
POST
cu endpoint-ulhttps://gate.whapi.cloud/groups
pentru a crea un grup nou. Furnizează numele grupului în parametrul subject și include cel puțin un număr în parametrul participants — acest lucru este necesar pentru crearea cu succes a grupului. - 2) După crearea cu succes, API-ul va returna un ID de grup. Vei avea nevoie de acest identificator pentru a trimite mesaje către grup.
- 3) Pentru a trimite un mesaj către grup, folosește metoda standard de trimitere a mesajelor. Specifică ID-ul grupului în parametrul
to
și conținutul înbody
.
participants
pentru a asigura crearea cu succes.
curl --request POST \
--url https://gate.whapi.cloud/groups \
--header 'accept: application/json' \
--header 'authorization: Bearer Your_Token' \
--header 'content-type: application/json' \
--data '
{
"participants": [
"498935516106",
"4915155985667"
],
"subject": "SEO Common GmbH"
}
'
// composer require guzzlehttp/guzzle
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://gate.whapi.cloud/groups', [
'body' => '{"participants":["498935516106","4915155985667"],"subject":"SEO Common GmbH"}',
'headers' => [
'accept' => 'application/json',
'authorization' => 'Bearer Your_Token',
'content-type' => 'application/json',
],
]);
echo $response->getBody();
# python -m pip install requests
import requests
url = "https://gate.whapi.cloud/groups"
payload = {
"participants": ["498935516106", "4915155985667"],
"subject": "SEO Common GmbH"
}
headers = {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer Your_Token"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
// npm install axios --save
import axios from 'axios';
const options = {
method: 'POST',
url: 'https://gate.whapi.cloud/groups',
headers: {
accept: 'application/json',
'content-type': 'application/json',
authorization: 'Bearer Your_Token'
},
data: {participants: ['498935516106', '4915155985667'], subject: 'SEO Common GmbH'}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"participants\":[\"498935516106\",\"4915155985667\"],\"subject\":\"SEO Common GmbH\"}");
Request request = new Request.Builder()
.url("https://gate.whapi.cloud/groups")
.post(body)
.addHeader("accept", "application/json")
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer Your_Token")
.build();
Response response = client.newCall(request).execute();
//dotnet add package RestSharp
using RestSharp;
var options = new RestClientOptions("https://gate.whapi.cloud/groups");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
request.AddJsonBody("{\"participants\":[\"498935516106\",\"4915155985667\"],\"subject\":\"SEO Common GmbH\"}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
Cum să creezi un grup WhatsApp folosind o platformă no-code
POST
către https://gate.whapi.cloud/groups
cu subject
(numele grupului) și participants
(array de numere).{
"participants": [
"498935516106",
"4915155985667"
],
"subject": "SEO Common GmbH"
}

Cum să adaugi participanți într-un grup WhatsApp
- 1) Asigură-te că ai ID-ul grupului în care vrei să adaugi membri. Acesta este un parametru obligatoriu. Am explicat mai sus cum să obții ID-ul.
- 2) Trimite o cerere
POST
cătrehttps://gate.whapi.cloud/groups/{GroupID}/participants
pentru a adăuga membri noi. Trebuie să incluzi ID-ul grupului în URL și să furnizezi un array de numere de telefon pentru participanții pe care vrei să îi adaugi.
curl --request POST \
--url https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants \
--header 'accept: application/json' \
--header 'authorization: Bearer Your_Token' \
--header 'content-type: application/json' \
--data '
{
"participants": [
"373983445541",
"373983445542",
"373983445543"
]
}
'
// composer require guzzlehttp/guzzle
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants', [
'body' => '{"participants":["373983445541","373983445542","373983445543"]}',
'headers' => [
'accept' => 'application/json',
'authorization' => 'Bearer Your_Token',
'content-type' => 'application/json',
],
]);
echo $response->getBody();
# python -m pip install requests
import requests
url = "https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants"
payload = { "participants": ["373983445541", "373983445542", "373983445543"] }
headers = {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer Your_Token"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
// npm install axios --save
import axios from 'axios';
const options = {
method: 'POST',
url: 'https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants',
headers: {
accept: 'application/json',
'content-type': 'application/json',
authorization: 'Bearer Your_Token'
},
data: {participants: ['373983445541', '373983445542', '373983445543']}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"participants\":[\"373983445541\",\"373983445542\",\"373983445543\"]}");
Request request = new Request.Builder()
.url("https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants")
.post(body)
.addHeader("accept", "application/json")
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer Your_Token")
.build();
Response response = client.newCall(request).execute();
//dotnet add package RestSharp
using RestSharp;
var options = new RestClientOptions("https://gate.whapi.cloud/groups/120367831625595066%40g.us/participants");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
request.AddJsonBody("{\"participants\":[\"373983445541\",\"373983445542\",\"373983445543\"]}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
Cum să adaugi participanți într-un grup folosind instrumente no-code
https://gate.whapi.cloud/groups/[email protected]/participants
.@
cu %40
.{
"participants": [
"373983445541",
"373983445542",
"373983445543"
]
}
Cum să preiei participanții unui grup WhatsApp prin API
- 1) Asigură-te că ești membru al grupului pe care vrei să-l accesezi. Fără acest lucru, nu vei putea prelua lista de participanți.
- 2) Folosește metoda API Get Groups pentru a prelua toate grupurile asociate contului tău WhatsApp. Dacă știi deja ID-ul grupului dorit, consultă-l direct folosind endpoint-ul Get group.
- 3) Răspunsul va include un array de obiecte grup, fiecare conținând informații precum ID-ul, numele și un câmp participants cu lista membrilor. Exemplu de răspuns:
{
"id": "[email protected]",
"name": "A group of researchers",
"participants": [
{ "id": "972558557032", "rank": "member" },
{ "id": "14409416972", "rank": "creator" },
{ "id": "905589461962", "rank": "member" }
]
}
curl --request GET \
--url 'https://gate.whapi.cloud/groups?count=100' \
--header 'accept: application/json' \
--header 'authorization: Bearer Your_Token'
// composer require guzzlehttp/guzzle
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://gate.whapi.cloud/groups?count=100', [
'headers' => [
'accept' => 'application/json',
'authorization' => 'Bearer Your_Token',
],
]);
echo $response->getBody();
# python -m pip install requests
import requests
url = "https://gate.whapi.cloud/groups?count=100"
headers = {
"accept": "application/json",
"authorization": "Bearer Your_Token"
}
response = requests.get(url, headers=headers)
print(response.text)
// npm install axios --save
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://gate.whapi.cloud/groups?count=100',
headers: {accept: 'application/json', authorization: 'Bearer Your_Token'}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://gate.whapi.cloud/groups?count=100")
.get()
.addHeader("accept", "application/json")
.addHeader("authorization", "Bearer Your_Token")
.build();
Response response = client.newCall(request).execute();
//dotnet add package RestSharp
using RestSharp;
var options = new RestClientOptions("https://gate.whapi.cloud/groups?count=100");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
Cum să preiei membrii unui grup WhatsApp prin no-code
GET
către https://gate.whapi.cloud/groups
pentru a prelua toate grupurile din care faci parte, cu detalii despre fiecare — inclusiv informații despre participanți.GET https://gate.whapi.cloud/groups/{GroupID}
pentru a prelua datele unui grup specific.Cum să conectezi un bot la un grup WhatsApp
- Creează un bot WhatsApp în Node.js;
- Creează un bot WhatsApp în Python;
- Creează un bot WhatsApp în PHP;
- Creează un bot WhatsApp în Java;
chat_id
, care va avea formatul [email protected]
(spre deosebire de un număr de telefon în chat-uri private). Câmpul from
va indica numărul expeditorului din grup.Sfaturi, limitări și bune practici
- Nu adăuga utilizatori în grupuri fără consimțământul lor. Respectă confidențialitatea și evită invitațiile nesolicitate;
- Evită trimiterea de spam sau conținut nedorit, deoarece contul tău poate fi marcat sau blocat permanent;
- Deși nu există limite stricte, recomandăm să imiți comportamentul uman: nu crea zeci de grupuri și nu trimite multe mesaje pe secundă. Adaugă pauze și folosește întârzieri rezonabile între acțiuni la automatizarea sarcinilor de grup;
Promote to Group Admin
. Pentru detalii de implementare, vezi documentația aici.Depanarea problemelor
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.
Botul trimite mesaje fără oprire
Nu poți adăuga un utilizator în grup?
- Trebuie să fii administratorul grupului. Doar adminii pot adăuga membri noi.
- Utilizatorul poate avea restricții de invitație în setările de confidențialitate. Dacă este cazul, nu poate fi adăugat automat prin API.
- Grupul poate fi la limita maximă de 1024 participanți. În acest caz, elimină membri inactivi sau creează un grup nou.
- Politicile anti-spam WhatsApp pot bloca anumite numere — mai ales dacă contactul nu este salvat sau nu a interacționat cu tine. Poți încerca sincronizarea contactelor prin integrarea Google Contacts, dar chiar și așa WhatsApp poate bloca din cauza filtrelor interne.
Mesaj nedelivrat?
- Verifică ID-ul grupului — ID-uri incorecte sau expirate vor duce la eșecul livrării.
- Dacă mesajul este trimis dar nu apare în grup, verifică formatul. De exemplu, grupurile WhatsApp pot să nu afișeze anumite tipuri de conținut, precum imagini webp sau butoane interactive.
Permisiune refuzată?
- Numărul tău nu este recunoscut ca admin al grupului.
- API-ul poate să nu fi sincronizat corect statutul tău de admin sau numărul. În acest caz, încearcă să reautorizezi canalul API pentru a actualiza permisiunile și metadatele.
Membrii grupului nu sunt afișați?
GET /groups
sau GET /group
, datele grupului sunt puse în coadă pentru sincronizare.Ce înseamnă @lid în lista de participanți?
Implementare și utilizarea serverelor
Firebase
- 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)
- Î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
- 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.