Giriş
Kimler için:
- WhatsApp özelliklerini iş sistemlerine entegre eden geliştiriciler için;
- Make, Zapier, N8N, IFTTT veya Pabbly ile iş akışlarını otomatikleştiren low-code kullanıcıları için;
Kullanım senaryoları:
- Yeni müşteriler veya etkinlikler için otomatik grup oluşturma;
- CRM güncellemelerine göre üye ekleme/çıkarma;
- Grup sohbetlerinde duyuru veya hatırlatma gönderme;
- WhatsApp grup sohbetlerine yapay zeka botu bağlama;
Ön koşullar:
- Standart WhatsApp’ta kayıtlı bir numara (Meta’nın Business API’si değil);
- Temel programlama bilgisi veya Make gibi bir low-code platforma erişim;
API ile WhatsApp Gruplarında Neler Yapabilirsiniz
- Gruplara mesaj gönderme: Herhangi bir gruba doğrudan güncelleme, duyuru veya hatırlatma gönderin.
- Yeni WhatsApp grupları oluşturma: Yeni müşteri kaydı veya kurs kaydı gibi olaylara göre otomatik grup oluşturun.
- Gruba üye ekleme: Kişileri gruba programatik olarak, manuel onay olmadan davet edin.
- Üyeleri admin yapma: Seçili katılımcılara admin yetkisi verin veya kaldırın.
- Grup katılımcılarını çekme: Analiz veya CRM senkronizasyonu için tam üye listesini alın.
- Grup olaylarını algılama: Webhook ile mesaj, giriş ve çıkışları takip edin.
- Botları gruplara bağlama: Botların tanımlı mantıkla grup mesajlarını okumasını ve yanıtlamasını sağlayın.
WhatsApp’ınızı Bağlayın ve API’yi Kullanmaya Başlayın
- 1) Panelinize gidin ve Varsayılan Kanalı açın — sizin için zaten oluşturulmuştur.
- 2) 1. adımda bir QR kodu ve talimatlar göreceksiniz.
- 3) Telefonunuzda WhatsApp → Ayarlar → Bağlı Cihazlar → Cihaz Bağla’ya gidin ve QR kodunu okutun.
- 4) Bağlandıktan sonra, kanala kolayca tanıyabilmek için bir isim verin (ör. "Chatbot’um").
- 5) Kanal ayarları ekranına yönlendirileceksiniz, bu adımı atlayıp sonra dönebilirsiniz.




API ile WhatsApp Grup Mesajı Nasıl Gönderilir (Kod Örnekleriyle)
- 1) Önce grup ID’sini alın.
GET /groups
endpoint’i ile WhatsApp gruplarınızın ve benzersiz kimliklerinin listesini alın. Detaylar için: Get groups. - 2) Grup ID’sini aldıktan sonra mesaj gönderebilirsiniz. Yeni müşteri gibi olaylara göre otomatik grup oluşturun.
POST /messages/text
endpoint’ini kullanın,to
parametresine grup ID’sini,body
’ye mesajı yazın. Detaylar için: Send text message.
Grup ID’sini Get groups endpoint’iyle veya son sohbetleri kontrol ederek alabilirsiniz.
- 1) Grup oluştururken, ID API yanıtında gelir. Aşağıda gösteriyoruz;
- 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);
Make veya n8n gibi No-Code Araçlarla Grup Mesajı Nasıl Gönderilir
GET https://gate.whapi.cloud/groups

POST https://gate.whapi.cloud/messages/text
to
: grup ID’si.body
: mesaj içeriği


API ile WhatsApp Grubu Nasıl Oluşturulur
- 1)
POST
metodu vehttps://gate.whapi.cloud/groups
endpoint’i ile yeni grup oluşturun. subject parametresine grup adını, participants parametresine en az bir telefon numarası girin — grup oluşturmak için gereklidir. - 2) Başarılı oluşturma sonrası API, grup ID’si döndürür. Mesaj göndermek için bu kimliğe ihtiyacınız olacak.
- 3) Gruba mesaj göndermek için standart mesaj gönderme metodunu kullanın.
to
parametresine grup ID’sini,body
’ye mesajı yazın.
participants
dizisine eklemeniz önerilir.
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);
No-Code Platformda WhatsApp Grubu Nasıl Oluşturulur
https://gate.whapi.cloud/groups
adresine subject
(grup adı) ve participants
(numara dizisi) ile POST isteği gönderin.{
"participants": [
"498935516106",
"4915155985667"
],
"subject": "SEO Common GmbH"
}

Bir WhatsApp Grubuna Katılımcı Nasıl Eklenir
- 1) Katılımcı eklemek istediğiniz grubun ID’sini alın. Bu zorunlu bir parametredir. Grup ID’si alma yukarıda anlatıldı.
- 2)
POST
isteğinihttps://gate.whapi.cloud/groups/{GroupID}/participants
adresine gönderin. URL’de grup ID’sini belirtin ve eklemek istediğiniz katılımcıların numaralarını bir dizi olarak iletin.
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);
No-Code Araçlarla Gruba Katılımcı Nasıl Eklenir
https://gate.whapi.cloud/groups/[email protected]/participants
.@
yerine %40
kullanmak gibi.{
"participants": [
"373983445541",
"373983445542",
"373983445543"
]
}
API ile WhatsApp Grubu Katılımcıları Nasıl Alınır
- 1) Erişmek istediğiniz grubun üyesi olduğunuzdan emin olun. Üye olmadan katılımcı listesi alınamaz.
- 2) WhatsApp hesabınıza bağlı tüm grupları almak için Get Groups API metodunu kullanın. Grup ID’sini biliyorsanız, doğrudan Get group endpoint’ini çağırın.
- 3) Yanıtta, her grup için ID, isim ve katılımcı listesini içeren participants alanı bulunur. Örnek yanıt:
{
"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);
No-Code ile WhatsApp Grup Üyeleri Nasıl Alınır
GET https://gate.whapi.cloud/groups
isteği gönderin.GET https://gate.whapi.cloud/groups/{GroupID}
ile o gruba ait verileri çekebilirsiniz.Bir Bota WhatsApp Grubu Nasıl Bağlanır
- Node.js ile WhatsApp Botu Oluşturma;
- Python ile WhatsApp Botu Oluşturma;
- PHP ile WhatsApp Botu Oluşturma;
- Java ile WhatsApp Botu Oluşturma;
chat_id
(ör: [email protected]
) ile ayırt edebilirsiniz; from
alanı ise mesajı gönderen kişinin numarasını gösterir.İpuçları, Sınırlamalar ve En İyi Uygulamalar
- Kullanıcıları gruba izinsiz eklemeyin. Gizliliğe saygı gösterin ve istenmeyen davetlerden kaçının;
- Spam veya istenmeyen içerik göndermeyin, hesabınız engellenebilir veya kalıcı olarak yasaklanabilir;
- Katı hız limitleri olmasa da, insan gibi davranın: saniyede onlarca grup oluşturmayın veya mesaj göndermeyin. İşlemler arasında kasıtlı gecikmeler bırakın;
Promote to Group Admin
endpoint’iyle admin yapabilirsiniz. Detaylar için: burada.Sorun Giderme
Bot Gelen Mesajlara Yanıt Vermiyor
- Botun çalıştırıldığı numaraya, başka bir telefondan mesaj gönderdiğinizden emin olun. Bot, aynı numaradan gönderilen mesajlara yanıt veremez.
- Eğer bot diğer numaralardan gelen mesajlara yanıt vermiyorsa, web kancalarının çalışıp çalışmadığını kontrol edin. Örneğin, Webhook.site gibi web kancası simülasyon servislerini kullanarak, geri çağırma isteklerinin hangi yoldan geldiğini doğrulayın. Daha sonra, yolun yapılandırmanızda belirttiğiniz yola uyup uymadığını kontrol edin. Ayrıca, sunucunuzun 200Ok yanıtı verdiğinden de emin olun.
Bot Durmaksızın Mesaj Gönderiyor
Kullanıcı Gruba Eklenemiyor mu?
- Grup admini olmalısınız. Sadece adminler yeni üye ekleyebilir.
- Kullanıcı, gizlilik ayarlarında grup davetlerini kısıtlamış olabilir. Bu durumda API ile otomatik eklenemez.
- Grup, 1024 katılımcı sınırına ulaşmış olabilir. Bu durumda, pasif üyeleri çıkarın veya yeni grup oluşturun.
- WhatsApp’ın anti-spam politikaları, bazı numaraların eklenmesini engelleyebilir — özellikle kişi kaydedilmemişse veya sizinle etkileşimi yoksa. Google Contacts API entegrasyonu ile kişileri senkronize etmeyi deneyebilirsiniz, ancak WhatsApp’ın iç filtreleri nedeniyle bu da garanti değildir.
Mesaj Teslim Edilmedi mi?
- Grup ID’sini tekrar kontrol edin — yanlış veya süresi dolmuş ID’ler teslimat hatasına yol açar.
- Mesaj gönderildi ama grupta görünmüyorsa, formatı kontrol edin. Örneğin, WhatsApp grupları bazı içerik türlerini (webp görseller, etkileşimli butonlar) göstermeyebilir.
Erişim Reddedildi mi?
- Numaranız grup admini olarak tanınmıyor.
- API, admin durumunuzu veya numaranızı doğru şekilde senkronize etmemiş olabilir. Bu durumda, izinleri ve meta verileri yenilemek için API kanalınızı tekrar yetkilendirin.
Grup Üyeleri Görünmüyor mu?
GET /groups
veya GET /group
isteğini yaptıktan sonra, grup verileri senkronizasyon kuyruğuna alınır.Katılımcı Listesinde @lid Ne Anlama Geliyor?
Dağıtım ve Sunucuları Kullanma
Firebase
- Firebase Console'da bir proje oluşturun;
- talimatları takip ederek Firebase CLI yükleyin;
- Proje dizininizde firebase init komutu ile Firebase'i başlatın;
- Botunuzu firebase deploy --only functions komutu kullanarak dağıtın.
AWS (Amazon Web Services)
- AWS Yönetim Konsolu'na kaydolun veya giriş yapın;
- AWS konsolu üzerinden API Gateway tetikleyici olarak seçilerek yeni bir Lambda fonksiyonu oluşturun;
- Botunuzun kodunu Lambda fonksiyonuna yükleyin;
- Botunuzun dış dünya ile etkileşimde bulunması için API Gateway'i yapılandırın.
Heroku
- Heroku'da bir hesap oluşturun;
- Heroku CLI yükleyin ve sisteme giriş yapın;
- Konsol üzerinden veya heroku create komutunu kullanarak Heroku'da yeni bir uygulama oluşturun;
- Git reposunu Heroku ile ilişkilendirin ve git push heroku master komutları ile dağıtım yapın;
- Heroku tarafından sağlanan web kancası URL'sini ayarlayın.