folder Tahribat.com Forumları
linefolder Sosyal Ağlar
linefolder Whatsapp Business API Hk.



Whatsapp Business API Hk.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Whatsapp Business API ile mesaj gönderip aynı zamanda webhook üzerinden mesajları dinlemeye çalışıyorum. Gerçekten Meta tarafındaki yapı inanılmaz karmaşık; günlerdir saçma sapan problemlerle uğraşıyorum. AI ile çözmeye çalıştım ama durum tam anlamıyla saç baş yoldurmalık.

    Sorunum şu:

    https://business.facebook.com/ tarafında “Numaralar” bölümünde ilgili telefon numaram görünüyor. Ancak https://developers.facebook.com/ tarafında numara görünmüyor.

    Biraz araştırınca aşağıdaki endpoint üzerinden kontrol ettim: GET: https://graph.facebook.com/v25.0/xx/phone_numbers?access_token=xx bu servisten aşağıdaki cevabı alıyorum.

    Bu durumu yaşayan ya da çözebilen oldu mu? Açıkçası whatsapp-web.js veya Baileys gibi unofficial çözümler kullanmak istemiyorum; hesap riskine girmek istemiyorum. Bu süreçle uğraşmış olan varsa yardımcı olabilir mi?

     

    {
        "data": [
            {
                "verified_name": "xxxx",
                "code_verification_status": "NOT_VERIFIED",
                "display_phone_number": "+90 xxx xxx xx xx",
                "quality_rating": "UNKNOWN",
                "platform_type": "ON_PREMISE",
                "throughput": {
                    "level": "NOT_APPLICABLE"
                },
                "id": "xxx"
            }
        ],
        "paging": {
            "cursors": {
                "before": "aaaa",
                "after": "bbbb"
            }
        }
    }




    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Silvanus
    Silvanus's avatar
    Kayıt Tarihi: 28/Nisan/2020
    Erkek

    https://github.com/rmyndharis/OpenWA
    bu işini görmez mi hocam, kullanmazsan bile ai a okut belki ilham gelir. 

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    shock56
    shock56's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    https://business.facebook.com/latest/settings/business_info/

    Bu sayfadaki bilgileri kontrol eder misin?

     

    İşletme doğrulaması durumu
    Doğrulanmış
     
    Access verification status
    Doğrulanmış
     
    bunlar var mı?
     
    Bu sayfaya Hesap Araçları menüsü altında Telefon Numaraları menüsü var. 
    Burda durum bağlandı diyor mu
    (Bu menüde ayarlar kısmında profil, otomasyon, mesaj ayarları gibi menüler de var)
     
    Token Almak İçin 
    Burda ilgili kullanıcıya tıkla
    Varlık Ata dedikten sonra whatsapp hesabını varlık olarak ata
    sonra 
    Burdan ilgili kullanıcıyı seçtikten sonra Jeton Oluştur diyoruz. Bu bizim sonsuz süreli tokenimiz olacak. 
     
    Bu arada whatsapp api ile mesaj gönderirken 24 saat kuralı var. 24 saat içinde biri sana mesaj yazmışsa ona 24 saat içinde serbest mesaj atabilirsin. Ancak ilk konuşmayı sen başlatacaksan veya 24 saat dolmuşsa o zaman sadece mesaj şablonlarından mesaj atabilirsin. 
    Şablonlara da burdan ulaşabilirsin
     
    Benim çalışan kodlarımdan yapay zeka ya örnek bir kod üret dedim bunu verdi. Test için de kullanabilirsin
    hello_world şablonu varsayılan olarak gelir. Bu nedenle örneği bu şablon üzerinden verdim
     
    // Program.cs
    // Varsayılan "hello_world" template gönderme örneği (Cloud API)
    
    using System.Net.Http.Headers;
    using System.Text;
    using System.Text.Json;
    
    // Meta'dan alacağı bilgiler
    const string accessToken = "BURAYA_ACCESS_TOKEN";
    const string phoneNumberId = "BURAYA_PHONE_NUMBER_ID";
    const string to = "9053XXXXXXX"; // + olmadan, ülke koduyla
    
    using var http = new HttpClient();
    http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
    
    var url = $"https://graph.facebook.com/v25.0/{phoneNumberId}/messages";
    
    var payload = new
    {
        messaging_product = "whatsapp",
        to = to,
        type = "template",
        template = new
        {
            name = "hello_world",
            language = new
            {
                code = "en_US"
            }
        }
    };
    
    var json = JsonSerializer.Serialize(payload);
    var content = new StringContent(json, Encoding.UTF8, "application/json");
    
    var resp = await http.PostAsync(url, content);
    var respBody = await resp.Content.ReadAsStringAsync();
    
    Console.WriteLine($"HTTP {(int)resp.StatusCode}");
    Console.WriteLine(respBody);
     
    Sana mesaj gelebilmesi için de önce url doğrulaman lazım. 
     
    Onun için de 
    Burada oluşturduğun app e gidip
    Whatsapp -- Yapılandırma menüsüne gitmen lazım. Burda url onayı alman lazım. 
    Örnek url doğrulama kodunu da veriyorum. (localhost ta url onayı için ngrok kullanabilirsin)
     
    // Program.cs
    // Webhook verify + gelen mesaj (POST) örneği
    
    using System.Text.Json;
    
    var builder = WebApplication.CreateBuilder(args);
    var app = builder.Build();
    
    const string verifyToken = "BURAYA_VERIFY_TOKEN";
    
    // 1) URL doğrulama
    app.MapGet("/webhook", (HttpRequest req) =>
    {
        var mode = req.Query["hub.mode"].ToString();
        var token = req.Query["hub.verify_token"].ToString();
        var challenge = req.Query["hub.challenge"].ToString();
    
        if (mode == "subscribe" && token == verifyToken)
            return Results.Ok(challenge);
    
        return Results.Forbid();
    });
    
    // 2) Gelen mesajları dinleme
    app.MapPost("/webhook", async (HttpRequest req, ILoggerFactory lf) =>
    {
        var logger = lf.CreateLogger("WhatsappWebhook");
    
        using var doc = await JsonDocument.ParseAsync(req.Body);
    
        try
        {
            var value = doc.RootElement
                .GetProperty("entry")[0]
                .GetProperty("changes")[0]
                .GetProperty("value");
    
            // Mesaj durumu event'i (sent/delivered/read/failed)
            if (value.TryGetProperty("statuses", out var statuses))
            {
                var s = statuses[0];
                var status = s.GetProperty("status").GetString();
                var msgId = s.GetProperty("id").GetString();
    
                logger.LogInformation("Status event -> id:{id}, status:{status}", msgId, status);
                return Results.Ok();
            }
    
            // Gelen mesaj event'i
            if (value.TryGetProperty("messages", out var messages))
            {
                var m = messages[0];
                var type = m.GetProperty("type").GetString();
                var from = m.GetProperty("from").GetString();
                var timestamp = m.GetProperty("timestamp").GetString();
    
                string textBody = "";
                if (type == "text" &&
                    m.TryGetProperty("text", out var textObj) &&
                    textObj.TryGetProperty("body", out var body))
                {
                    textBody = body.GetString() ?? "";
                }
    
                logger.LogInformation(
                    "Incoming message -> from:{from}, type:{type}, ts:{ts}, text:{text}",
                    from, type, timestamp, textBody);
    
                return Results.Ok();
            }
    
            logger.LogInformation("Webhook geldi ama messages/statuses yok.");
            return Results.Ok();
        }
        catch (Exception ex)
        {
            logger.LogError(ex, "Webhook parse hatası");
            return Results.Ok(); // Meta retry flood olmasın
        }
    });
    
    app.Run("http://0.0.0.0:5000");
     
     
     
     
     
     
     

     

    shock56 tarafından 19/May/26 00:39 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @Silvanus hocam bunlar her 3rd party çözümler. Hesaplar kapanırsa sıkıntı olur direkt hizmet verdiğim müşterilerim kendileri. Bu sebeple bu yöntem pek sağlıklı değil.

    @shock56 hocam doğrulamalar yapılmış zaten Telefon Numaraları bölümünde numaranın üzerinde Çevrimdışı yazıyor. Bknz https://imgur.com/a/3bJCX4Z Sorun da burda zaten. Bu numarayı kullanamıyorum sanırım sebebini anlamadım. Detayları çekince de telefon numarası ON_PREMISE olarak görünüyor bu sorunu çözmem gerekiyor. Whatsapp support mail attım da pek döneceklerini sanmıyorum.

    İşin garibi bu numarayı silemiyorum da. Sil seçeneği yok yani.

    EDİT: Yaptığım araştırmalarda API + Whatsapp Business APP Kullanılamıyormuş :D :D :D Neden böyle bir saçmalık var garip açıkcası. Baileys kullanmayı düşünüyorum ama sıkıntı olur mu emin değilim. Çok fazla mesaj gönderimi olmayacak sadece gelen mesajlara cevap verilecek. Reklam vb. şeyler yok ama cloud dışında kullandığım için numara ban yerse büyük sorun. Emin değilim kafam karıştı bu işi başka yollarla çözen yok mu?

     

    MhmdAlmz tarafından 19/May/26 09:45 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    esinti
    esinti's avatar
    Kayıt Tarihi: 27/Ağustos/2015
    Erkek
    MhmdAlmz bunu yazdı

    @Silvanus hocam bunlar her 3rd party çözümler. Hesaplar kapanırsa sıkıntı olur direkt hizmet verdiğim müşterilerim kendileri. Bu sebeple bu yöntem pek sağlıklı değil.

    @shock56 hocam doğrulamalar yapılmış zaten Telefon Numaraları bölümünde numaranın üzerinde Çevrimdışı yazıyor. Bknz https://imgur.com/a/3bJCX4Z Sorun da burda zaten. Bu numarayı kullanamıyorum sanırım sebebini anlamadım. Detayları çekince de telefon numarası ON_PREMISE olarak görünüyor bu sorunu çözmem gerekiyor. Whatsapp support mail attım da pek döneceklerini sanmıyorum.

    İşin garibi bu numarayı silemiyorum da. Sil seçeneği yok yani.

    EDİT: Yaptığım araştırmalarda API + Whatsapp Business APP Kullanılamıyormuş :D :D :D Neden böyle bir saçmalık var garip açıkcası. Baileys kullanmayı düşünüyorum ama sıkıntı olur mu emin değilim. Çok fazla mesaj gönderimi olmayacak sadece gelen mesajlara cevap verilecek. Reklam vb. şeyler yok ama cloud dışında kullandığım için numara ban yerse büyük sorun. Emin değilim kafam karıştı bu işi başka yollarla çözen yok mu?

     

    Baileys veya diğer hiç farketmez kişilere gönderimde whatsapp ın ticari modeli var ve anında 24 saat ban atıyor.
    Ama sen mesaj yazanlara göndereceğini söylüyorsun. Bu durumu değiştirebilir.
    Benim testlerimde hep reklam tarzı mesajlar attım ve en fazla 59 kişiye atabildim. Sonrasında ban yedim.
    https://github.com/tulir/whatsmeow şu repoda güzel. Go ile yazıldığı için biraz daha performanslı gibi.



  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @esinti hocam Ai entegrasyonu yapacağım aslında. Gelen mesaja ai cevap verecek. Yani bir mesaj girdisi olmak zorunda. Sohbet direkt biz tarafından başlamayacak. Bu durum sorun yaratır mı bilemiyorum. Metanın bu politikası aşırı saçmaymış. 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    esinti
    esinti's avatar
    Kayıt Tarihi: 27/Ağustos/2015
    Erkek
    MhmdAlmz bunu yazdı

    @esinti hocam Ai entegrasyonu yapacağım aslında. Gelen mesaja ai cevap verecek. Yani bir mesaj girdisi olmak zorunda. Sohbet direkt biz tarafından başlamayacak. Bu durum sorun yaratır mı bilemiyorum. Metanın bu politikası aşırı saçmaymış. 

    Saçma değil hocam ticari modeli var adamın sana bedava ekmek yedirir mi?
    Aşağıdakini de çok kullandım ben. webhook desteği de var. bir numara için ücretsiz kullanabilirsin. fazlası gerekirse ayrı ayrı dockerda ayağa kaldırırsın.
    https://waha.devlike.pro/

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    esinti bunu yazdı
    MhmdAlmz bunu yazdı

    @esinti hocam Ai entegrasyonu yapacağım aslında. Gelen mesaja ai cevap verecek. Yani bir mesaj girdisi olmak zorunda. Sohbet direkt biz tarafından başlamayacak. Bu durum sorun yaratır mı bilemiyorum. Metanın bu politikası aşırı saçmaymış. 

    Saçma değil hocam ticari modeli var adamın sana bedava ekmek yedirir mi?
    Aşağıdakini de çok kullandım ben. webhook desteği de var. bir numara için ücretsiz kullanabilirsin. fazlası gerekirse ayrı ayrı dockerda ayağa kaldırırsın.
    https://waha.devlike.pro/

    Saçma olan şu; Mesaj başına ödeme yapmak önemli değil. Cloud kullanınca uygulamayı kullanamamak saçma. Yoksa mesaj başına 0.005$ pek büyük bir para değil. 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    Vibe code ile baileys üzerinden yazdırdığım bir botum var. Bir yere takılmıyordu. Sıfırdan yazdırıp, eski baileys botlarının pluginlerini verip bunları implement et diyorum, benim bota uygun hale getiriyordu.

    n8n ile de https://waha.devlike.pro/ şunu kullanıyordum


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Headhunterz
    Headhunterz's avatar
    Kayıt Tarihi: 17/Ocak/2009
    Erkek

    Hocam baileys i bir ara vardiya shift amiri olarak kullandım personele spam a düşmeyecek aralıklarla giriş çıkış yapmadıklarını hatırlatan admine de günde de 3 sefer toplu bilgi veren bir bot yazdırmıştım 2 ay bir fiil çalıştı ban yemedi sonra de aktif ettim farklı mücbir sebeplerden. 

Toplam Hit: 567 Toplam Mesaj: 10
whatsapp api