\u00d6rnekleri Y\u00f6netme
Bir \u00f6rnek (instance), Wappfy’ye ba\u011fl\u0131 tek bir WhatsApp numaras\u0131n\u0131 temsil eder. Her \u00f6rnek bir ya\u015fam d\u00f6ng\u00fcs\u00fcnden ge\u00e7er: olu\u015fturma, ba\u011flanma, QR tarama, kullan\u0131m ve nihayetinde ba\u011flant\u0131y\u0131 kesme veya silme.
\u00d6rnek T\u00fcrleri
Wappfy iki sa\u011flay\u0131c\u0131y\u0131 destekler:
| T\u00fcr | A\u00e7\u0131klama |
|---|
waha | WAHA Plus \u00fczerinden kendi sunucunuzda bar\u0131nd\u0131r\u0131lan WhatsApp Web API. Gruplar, etiketler ve ki\u015filer dahil tam \u00f6zellik deste\u011fi. |
cloud_api | Meta’n\u0131n resmi WhatsApp Business Cloud API’si. Meta Business hesab\u0131 gerektirir. |
\u00d6rnek Durum De\u011ferleri
Ya\u015fam d\u00f6ng\u00fcs\u00fc boyunca bir \u00f6rnek \u015fu durumlar aras\u0131nda ge\u00e7i\u015f yapar:
| Durum | A\u00e7\u0131klama |
|---|
created | \u00d6rnek kayd\u0131 mevcut ancak hen\u00fcz ba\u015flat\u0131lmad\u0131. |
starting | \u00d6rnek ba\u015flat\u0131l\u0131yor ve WhatsApp oturumu ba\u015flat\u0131l\u0131yor. |
scan_qr | \u00d6rnek, telefonunuzla QR kodu taraman\u0131z\u0131 bekliyor. |
connected | WhatsApp oturumu aktif ve mesaj g\u00f6ndermeye/almaya haz\u0131r. |
disconnected | Oturum durduruldu veya ba\u011flant\u0131 kesildi. Yeniden ba\u011flanabilir. |
failed | \u00d6rnek, ba\u015flatma veya ba\u011flanma s\u0131ras\u0131nda bir hatayla kar\u015f\u0131la\u015ft\u0131. |
Ya\u015fam D\u00f6ng\u00fcs\u00fcne Genel Bak\u0131\u015f
\u00d6rnek Olu\u015fturma
Hesab\u0131n\u0131za ba\u011fl\u0131 yeni bir WhatsApp \u00f6rne\u011fi olu\u015fturun.
curl -X POST https://api.wappfy.io/api/instances \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My WhatsApp",
"type": "waha"
}'
Yan\u0131t:
{
"data": {
"id": "inst_abc123",
"name": "My WhatsApp",
"type": "waha",
"status": "created",
"created_at": "2026-02-10T12:00:00Z"
}
}
\u00d6rne\u011fi Ba\u011flama
WhatsApp oturumunu ba\u015flat\u0131n. \u00d6rnek \u00f6nce starting durumuna, ard\u0131ndan scan_qr durumuna ge\u00e7ecektir.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/connect \
-H "X-Api-Key: YOUR_API_KEY"
Yan\u0131t:
{
"data": {
"id": "inst_abc123",
"status": "starting"
}
}
QR Kodu Alma
\u00d6rnek scan_qr durumuna ula\u015ft\u0131\u011f\u0131nda, telefonunuzla taramak i\u00e7in QR kodu al\u0131n.
curl https://api.wappfy.io/api/instances/inst_abc123/qr \
-H "X-Api-Key: YOUR_API_KEY"
Yan\u0131t:
{
"data": {
"qr": "data:image/png;base64,iVBORw0KGgo..."
}
}
QR kod yakla\u015f\u0131k 60 saniye sonra ge\u00e7erlili\u011fini yitirir. Taramadan \u00f6nce s\u00fcresi dolarsa, yeni bir kod almak i\u00e7in ucu noktay\u0131 tekrar \u00e7a\u011f\u0131r\u0131n.
QR kod g\u00f6rselini a\u00e7\u0131n ve telefonunuzdan WhatsApp > Ba\u011fl\u0131 Cihazlar > Bir Cihaz Ba\u011fla ile taray\u0131n. Tarad\u0131ktan sonra \u00f6rne\u011fin durumu connected olarak de\u011fi\u015fecektir.
\u00d6rnek Durumunu Kontrol Etme
\u00d6rne\u011fin ne zaman haz\u0131r olaca\u011f\u0131n\u0131 \u00f6\u011frenmek i\u00e7in durum ucu noktas\u0131n\u0131 sorgulayabilirsiniz.
curl https://api.wappfy.io/api/instances/inst_abc123/status \
-H "X-Api-Key: YOUR_API_KEY"
Yan\u0131t:
{
"data": {
"id": "inst_abc123",
"status": "connected",
"phone_number": "5511999998888"
}
}
S\u00fcrekli sorgulamak yerine, ger\u00e7ek zamanl\u0131 bildirim almak i\u00e7in instance.connected ve instance.qr olaylar\u0131 i\u00e7in bir webhook olu\u015fturun.
T\u00fcm \u00d6rnekleri Listeleme
Hesab\u0131n\u0131zdaki t\u00fcm \u00f6rnekleri al\u0131n.
curl https://api.wappfy.io/api/instances \
-H "X-Api-Key: YOUR_API_KEY"
Yan\u0131t:
{
"data": [
{
"id": "inst_abc123",
"name": "My WhatsApp",
"type": "waha",
"status": "connected"
},
{
"id": "inst_def456",
"name": "Support Line",
"type": "waha",
"status": "disconnected"
}
]
}
\u00d6rne\u011fin Ba\u011flant\u0131s\u0131n\u0131 Kesme
\u00d6rne\u011fi silmeden WhatsApp oturumunu durdurun. Daha sonra yeniden ba\u011flanabilirsiniz.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/disconnect \
-H "X-Api-Key: YOUR_API_KEY"
\u00d6rne\u011fi Yeniden Ba\u015flatma
WhatsApp oturumunu yeniden ba\u015flat\u0131n. \u00d6rnek failed durumundaysa veya beklenmedik \u015fekilde davran\u0131yorsa kullan\u0131\u015fl\u0131d\u0131r.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/restart \
-H "X-Api-Key: YOUR_API_KEY"
Yeniden ba\u015flatma, ba\u011fl\u0131 WhatsApp oturumunu korur. QR kodu tekrar taraman\u0131z gerekmez.
\u00d6rnekten \u00c7\u0131k\u0131\u015f Yapma
WhatsApp’tan tamamen \u00e7\u0131k\u0131\u015f yap\u0131n. Bu i\u015flem telefonu oturumdan ay\u0131r\u0131r. Yeniden ba\u011flanmak i\u00e7in QR kodu tekrar taraman\u0131z gerekecektir.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/logout \
-H "X-Api-Key: YOUR_API_KEY"
\u00c7\u0131k\u0131\u015f, WhatsApp ba\u011flant\u0131s\u0131n\u0131 tamamen kald\u0131r\u0131r. Ba\u011flant\u0131y\u0131 kesmeden farkl\u0131 olarak, bu \u00f6rne\u011fi tekrar kullanmak i\u00e7in yeni bir QR kodu taramal\u0131s\u0131n\u0131z.
\u00d6rne\u011fi Silme
Bir \u00f6rne\u011fi ve t\u00fcm ili\u015fkili verilerini kal\u0131c\u0131 olarak silin.
curl -X DELETE https://api.wappfy.io/api/instances/inst_abc123 \
-H "X-Api-Key: YOUR_API_KEY"
Bu i\u015flem geri al\u0131namaz. Bu \u00f6rnekle ili\u015fkili t\u00fcm mesajlar, webhook’lar ve yap\u0131land\u0131rma kal\u0131c\u0131 olarak silinecektir.
Tam Ya\u015fam D\u00f6ng\u00fcs\u00fc \u00d6rne\u011fi
A\u015fa\u011f\u0131da bir \u00f6rnek olu\u015fturan, ba\u011flayan ve QR kodu sorgulayan eksiksiz bir \u00f6rnek verilmi\u015ftir:
# 1. \u00d6rne\u011fi olu\u015fturun
INSTANCE=$(curl -s -X POST https://api.wappfy.io/api/instances \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Production", "type": "waha"}')
INSTANCE_ID=$(echo $INSTANCE | jq -r '.data.id')
echo "Created instance: $INSTANCE_ID"
# 2. \u00d6rne\u011fi ba\u011flay\u0131n
curl -s -X POST "https://api.wappfy.io/api/instances/$INSTANCE_ID/connect" \
-H "X-Api-Key: YOUR_API_KEY"
# 3. Biraz bekleyin, ard\u0131ndan QR kodu al\u0131n
sleep 3
QR=$(curl -s "https://api.wappfy.io/api/instances/$INSTANCE_ID/qr" \
-H "X-Api-Key: YOUR_API_KEY")
echo $QR | jq -r '.data.qr' > qr-code.png
echo "QR code saved to qr-code.png — scan it with your phone"
# 4. Ba\u011fl\u0131 durumunu bekleyin
while true; do
STATUS=$(curl -s "https://api.wappfy.io/api/instances/$INSTANCE_ID/status" \
-H "X-Api-Key: YOUR_API_KEY" | jq -r '.data.status')
echo "Status: $STATUS"
if [ "$STATUS" = "connected" ]; then
echo "Instance is connected and ready!"
break
fi
sleep 2
done
Hata Y\u00f6netimi
| Durum Kodu | A\u00e7\u0131klama |
|---|
404 | \u00d6rnek bulunamad\u0131 veya hesab\u0131n\u0131za ait de\u011fil. |
409 | \u00d6rnek zaten istenen durumda (orn. zaten ba\u011fl\u0131). |
422 | Ge\u00e7ersiz istek g\u00f6vdesi (orn. eksik name veya ge\u00e7ersiz type). |
429 | H\u0131z s\u0131n\u0131r\u0131 a\u015f\u0131ld\u0131. H\u0131z S\u0131n\u0131rlar\u0131 sayfas\u0131na bak\u0131n. |