Logo
Published on

WhatsApp Business API Olmadan Bot Yazma: whatsapp-web.js

Authors

WhatsApp Business API ile uğraşmak istemiyorsun. Onay süreçleri, ücretler, kısıtlamalar... Hepsini unut.

whatsapp-web.js ile botu çat çat yazıyorsun.

Nasıl Çalışıyor?

  1. QR'ı okutuyorsun
  2. Node.js direkt WhatsApp'a bağlanıyor
  3. Gelen/giden her mesaj sende

Bu kadar basit.

Ne Yapabilirsin?

  • Müşteri cevabı - Otomatik yanıtlar
  • Otomatik destek - 7/24 bot desteği
  • Satış akışı - Sipariş takibi
  • Onay kodu - Doğrulama mesajları
  • Hatırlatma - Randevu bildirimleri
  • n8n entegrasyonu - Workflow otomasyonu

Hepsini tek satırda döndürüyorsun resmen.

Kurulum

npm install whatsapp-web.js qrcode-terminal

Basit Bir Bot

const { Client } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');

const client = new Client();

// QR kodu terminalde göster
client.on('qr', (qr) => {
    qrcode.generate(qr, { small: true });
});

// Bağlantı başarılı
client.on('ready', () => {
    console.log('Bot hazır!');
});

// Gelen mesajları dinle
client.on('message', async (message) => {
    console.log(`${message.from}: ${message.body}`);

    // Otomatik yanıt
    if (message.body.toLowerCase() === 'merhaba') {
        await message.reply('Merhaba! Size nasıl yardımcı olabilirim?');
    }

    if (message.body.toLowerCase() === 'fiyat') {
        await message.reply('Fiyat listemiz için: example.com/fiyat');
    }
});

client.initialize();

Mesaj Gönderme

// Belirli bir numaraya mesaj gönder
const chatId = '905551234567@c.us';
await client.sendMessage(chatId, 'Merhaba!');

// Medya gönder
const { MessageMedia } = require('whatsapp-web.js');
const media = await MessageMedia.fromUrl('https://example.com/image.jpg');
await client.sendMessage(chatId, media, { caption: 'Ürün görseli' });

n8n ile Entegrasyon

n8n workflow'unda HTTP Request node'u ile bot'una istek atabilirsin:

const express = require('express');
const app = express();

app.post('/send', async (req, res) => {
    const { phone, message } = req.body;
    await client.sendMessage(`${phone}@c.us`, message);
    res.json({ success: true });
});

app.listen(3000);

Artık n8n'den /send endpoint'ine POST atarak mesaj gönderebilirsin.

Önemli Notlar

  • Tamamen ücretsiz
  • Açık kaynak
  • WhatsApp'ın resmi API'si değil (unofficial)
  • Kişisel veya küçük ölçekli projeler için ideal
  • Büyük ölçekli kullanımda WhatsApp hesabın banlanabilir

Sonuç

"WhatsApp Business API olmadan nasıl bir entegrasyon ile başlarım?" diyorsan → olay tam olarak bu.

Kenara değil, direkt bookmark'a at.

GitHub: whatsapp-web.js


Yeni fikir çıkaracağın zaman geri dön, bu kütüphane işini görecek.