Dashboard

0

Gönderildi

0

Alındı

0

Beklemede

0

Başarısız

Bağlantı Durumu

Durum -
Hesap -
Telefon -

Hızlı İşlemler

WhatsApp QR Kod

QR Kod yükleniyor...

Bağlanma Adımları:

  1. Telefonunuzda WhatsApp'ı açın
  2. Ayarlar → Bağlı Cihazlar bölümüne gidin
  3. "Cihaz Bağla" butonuna dokunun
  4. Yukarıdaki QR kodu telefonunuzla tarayın

Mesaj Gönder

Resim sürükleyin veya tıklayın

PNG, JPG, GIF, WEBP — Maks 16MB

Dosya sürükleyin veya tıklayın

PDF, DOC, XLS, ZIP vb. — Maks 64MB

Toplu Mesaj Gönder

Toplu Mesaj Geçmişi

Yeni Zamanlı Mesaj

Zamanlı Mesajlar

Mesaj Geçmişi

Yön Kişi Tip Mesaj Durum Zaman
Yükleniyor...

Kişiler

Yükleniyor...

Gruplar

Yükleniyor...

Hesap Bilgileri

Ayarlar

API Endpoint'ler

-

Chatbot Kuralları

Gelen mesajlara otomatik yanıt verecek kurallar tanımlayın. Kurallar yukarıdan aşağıya sırayla kontrol edilir, ilk eşleşen kural çalışır.

Yükleniyor...

WhatsApp Instances

Yükleniyor...

API Dokümantasyonu

Kimlik Doğrulama

Tüm API istekleri kimlik doğrulama gerektirir. Token'ınızı Ayarlar sayfasından alabilirsiniz. Her istek belirli bir instance'a yapılmalıdır.

# Query parametresi ile
GET /api/instance/{instanceId}/contacts?token=YOUR_TOKEN

# Authorization header ile
curl -H "Authorization: Bearer YOUR_TOKEN" \
     https://domain.com/api/instance/{instanceId}/contacts
Instance Yönetimi

WhatsApp bağlantılarını (instance) oluşturma, listeleme ve yönetme.

GET /api/instance

Tüm instance'ları ve durumlarını listele

POST /api/instance

Yeni instance oluştur. ID otomatik atanır.

{ "description": "İş Hattı" }

Yanıt: { "success": true, "instanceId": "inst_a1b2c3d4" }

DELETE /api/instance/{instanceId}

Instance'ı ve tüm oturum verilerini sil

GET /api/instance/{instanceId}/status

Bağlantı durumunu kontrol et

Yanıt: { "status": "open", "account": { "id": "...", "name": "...", "phone": "..." } }

GET /api/instance/{instanceId}/qr

QR kodunu al (base64 data URI)

GET /api/instance/{instanceId}/me

Bağlı hesabın bilgilerini al

POST /api/instance/{instanceId}/connect

Bağlantıyı başlat (QR oluşturma için)

POST /api/instance/{instanceId}/restart

Bağlantıyı yeniden başlat

POST /api/instance/{instanceId}/logout

WhatsApp oturumunu kapat

Mesajlar

Metin, resim, dosya, ses, video, konum, kişi kartı, sticker, anket ve tepki gönderme. to alanı telefon numarası (+905xx) veya grup ID'si olabilir.

POST /api/instance/{instanceId}/messages/chat

Metin mesajı gönder

{ "to": "+905xxxxxxxxx", "body": "Merhaba!" }
POST /api/instance/{instanceId}/messages/image

Resim gönder (URL veya Base64 data URI)

{
  "to": "+905xxxxxxxxx",
  "image": "https://example.com/photo.jpg",
  "caption": "Açıklama (opsiyonel)"
}
POST /api/instance/{instanceId}/messages/video

Video gönder

{
  "to": "+905xxxxxxxxx",
  "video": "https://example.com/video.mp4",
  "caption": "Açıklama (opsiyonel)"
}
POST /api/instance/{instanceId}/messages/document

Dosya/döküman gönder

{
  "to": "+905xxxxxxxxx",
  "document": "https://example.com/file.pdf",
  "filename": "rapor.pdf",
  "caption": "Açıklama (opsiyonel)"
}
POST /api/instance/{instanceId}/messages/audio

Ses dosyası gönder

{ "to": "+905xxxxxxxxx", "audio": "https://example.com/audio.mp3" }
POST /api/instance/{instanceId}/messages/voice

Sesli mesaj (PTT) gönder

{ "to": "+905xxxxxxxxx", "audio": "https://example.com/voice.ogg" }
POST /api/instance/{instanceId}/messages/location

Konum gönder

{
  "to": "+905xxxxxxxxx",
  "lat": 41.0082,
  "lng": 28.9784,
  "name": "İstanbul",
  "address": "Sultanahmet (opsiyonel)"
}
POST /api/instance/{instanceId}/messages/contact

Kişi kartı gönder

{
  "to": "+905xxxxxxxxx",
  "contact_name": "Ahmet Yılmaz",
  "contact_phone": "905xxxxxxxxx"
}
POST /api/instance/{instanceId}/messages/sticker

Sticker gönder (WebP formatı)

{ "to": "+905xxxxxxxxx", "sticker": "https://example.com/sticker.webp" }
POST /api/instance/{instanceId}/messages/poll

Anket gönder

{
  "to": "+905xxxxxxxxx",
  "name": "Toplantı ne zaman olsun?",
  "values": ["Pazartesi", "Çarşamba", "Cuma"],
  "selectableCount": 1
}
ParametreAçıklama
nameAnket sorusu
valuesSeçenek dizisi (2-12 arası)
selectableCount0 = çoklu seçim, 1 = tekli seçim
POST /api/instance/{instanceId}/messages/reaction

Mesaja emoji tepkisi gönder

{ "to": "+905xxxxxxxxx", "msgId": "MESSAGE_ID", "emoji": "👍" }
POST /api/instance/{instanceId}/messages/delete

Gönderilmiş mesajı sil (herkesten)

{ "to": "+905xxxxxxxxx", "msgId": "MESSAGE_ID" }
GET /api/instance/{instanceId}/messages

Mesaj geçmişini al

QueryAçıklama
limitSayfa başına mesaj (varsayılan: 100)
pageSayfa numarası
statusFiltre: sent, received, pending, failed
chatIdBelirli sohbete göre filtrele
GET /api/instance/{instanceId}/messages/statistics

Mesaj istatistiklerini al (toplam, gönderilen, alınan, bekleyen, başarısız)

POST /api/instance/{instanceId}/messages/clear

Tüm mesaj geçmişini temizle

Kişiler
GET /api/instance/{instanceId}/contacts

Tüm kişileri listele

GET /api/instance/{instanceId}/contacts/contact?phone=905xx

Belirli bir kişinin bilgilerini al

GET /api/instance/{instanceId}/contacts/check?phone=905xx

Numaranın WhatsApp'ta kayıtlı olup olmadığını kontrol et

Yanıt: { "exists": true, "jid": "905xx@s.whatsapp.net" }

GET /api/instance/{instanceId}/contacts/image?phone=905xx

Kişinin profil fotoğrafı URL'ini al

POST /api/instance/{instanceId}/contacts/block

Kişiyi engelle

{ "phone": "905xxxxxxxxx" }
POST /api/instance/{instanceId}/contacts/unblock

Kişinin engelini kaldır

{ "phone": "905xxxxxxxxx" }
Gruplar
GET /api/instance/{instanceId}/groups

Tüm grupları listele (isim, katılımcı sayısı, açıklama)

GET /api/instance/{instanceId}/groups/group?groupId=ID

Grup detaylarını al (katılımcılar, admin bilgisi)

Sohbetler
GET /api/instance/{instanceId}/chats

Tüm sohbetleri listele

GET /api/instance/{instanceId}/chats/messages?chatId=ID&limit=50

Belirli sohbetin mesajlarını al

POST /api/instance/{instanceId}/chats/read

Sohbeti okundu olarak işaretle

{ "chatId": "905xx@s.whatsapp.net" }
POST /api/instance/{instanceId}/chats/archive

Sohbeti arşivle

{ "chatId": "905xx@s.whatsapp.net" }
Toplu Mesaj

Birden fazla alıcıya aynı mesajı gecikmeyle gönderin. İşlem arka planda çalışır.

POST /api/instance/{instanceId}/bulk

Yeni toplu mesaj işi başlat

{
  "recipients": [
    { "id": "905xx@s.whatsapp.net", "name": "Ali" },
    { "id": "905yy@s.whatsapp.net", "name": "Veli" }
  ],
  "messageType": "text",
  "body": "Herkese merhaba!",
  "delay": 3
}
ParametreAçıklama
recipientsAlıcı dizisi (id ve opsiyonel name)
messageTypetext, image veya document
bodyMesaj metni veya açıklama
mediaUrlResim/dosya URL'i (image/document tipleri için)
delayGönderimler arası bekleme süresi (saniye, varsayılan: 3)
GET /api/instance/{instanceId}/bulk

Toplu mesaj işlerini listele

GET /api/instance/{instanceId}/bulk/{jobId}

İş detayını ve alıcı durumlarını al

POST /api/instance/{instanceId}/bulk/{jobId}/cancel

Çalışan toplu mesaj işini iptal et

Zamanlı Mesajlar

İleri tarihli mesajlar zamanlayın. Sistem her 30 saniyede zamanı gelen mesajları otomatik gönderir.

POST /api/instance/{instanceId}/scheduled

Yeni zamanlı mesaj oluştur

{
  "recipient": "+905xxxxxxxxx",
  "messageType": "text",
  "body": "Bu mesaj ileri tarihte gönderilecek",
  "scheduledAt": "2026-04-01T10:00:00"
}
ParametreAçıklama
recipientTelefon numarası veya grup ID
messageTypetext, image veya document
bodyMesaj metni
mediaUrlMedya URL'i (opsiyonel)
scheduledAtISO 8601 tarih (gelecekte olmalı)
GET /api/instance/{instanceId}/scheduled

Zamanlı mesajları listele

QueryAçıklama
statusFiltre: pending, sent, failed
DELETE /api/instance/{instanceId}/scheduled/{id}

Bekleyen zamanlı mesajı iptal et ve sil

Chatbot

Gelen mesajlara otomatik yanıt kuralları tanımlayın.

GET /api/instance/{instanceId}/chatbot/rules

Tüm chatbot kurallarını listele

POST /api/instance/{instanceId}/chatbot/rules

Yeni kural oluştur veya güncelle

{
  "match_type": "contains",
  "trigger_text": "fiyat",
  "response": "Fiyat listemiz için: example.com/fiyat",
  "delay": 2,
  "enabled": true,
  "priority": 0
}
ParametreAçıklama
match_typeexact, contains, startswith veya regex
trigger_textTetikleyici metin veya regex pattern
responseOtomatik yanıt. Değişkenler: {name}, {phone}, {time}
delayYanıt gecikmesi (saniye)
priorityKural önceliği (düşük = önce)
DELETE /api/instance/{instanceId}/chatbot/rules/{id}

Chatbot kuralını sil

POST /api/instance/{instanceId}/chatbot/toggle

Chatbot'u aç/kapat

{ "enabled": true }
Ayarlar
GET /api/instance/{instanceId}/settings

Instance ayarlarını al (webhook URL, durum)

POST /api/instance/{instanceId}/settings

Instance ayarlarını güncelle

{
  "webhookUrl": "https://yoursite.com/webhook",
  "webhookEnabled": true
}
Webhook Olayları

Webhook URL tanımlarsanız aşağıdaki olaylar otomatik olarak POST edilir.

# message_received — Yeni mesaj geldiğinde
{
  "event": "message_received",
  "data": {
    "id": "MSG_ID", "from": "905xx@s.whatsapp.net",
    "body": "Merhaba", "type": "chat",
    "timestamp": 1711100000, "fromMe": false
  }
}

# message_ack — Mesaj durumu değiştiğinde
{
  "event": "message_ack",
  "data": { "id": "MSG_ID", "status": "read" }
}

# connection_status — Bağlantı durumu değiştiğinde
{
  "event": "connection_status",
  "data": { "status": "connected", "account": {...} }
}
Hata Kodları
KodAçıklama
400Eksik veya geçersiz parametre
401Geçersiz veya eksik API token
404Instance bulunamadı
409Kaynak zaten mevcut (duplicate)
500Sunucu hatası (bağlantı sorunu vb.)

Tüm hatalar { "error": "Hata mesajı" } formatında döner.