• 08-10-2025, 05:42:44
    #1
    Selamlar, WhatsApp üzerinden müsterinin alınacağı adresi yazması, gideceği adresi yazması, ve alım zamanını seçip, Google haritalar üzerinden mesafe hesaplattırıp ücretini göstermesi gibi işlemler yapan bir bot yazılabilinir mi?
  • 08-10-2025, 06:37:37
    #2
    Yazılabilir.
    Yol haritası — WhatsApp üzerinden “alım-adres → varış-adres → alım zamanı → Google Maps ile mesafe & süre → ücret göster” botu

    Aşağıda Make.com veya n8n ile inşa edilebilecek, uçtan uca uygulanabilir bir yol haritası ve her platform için adım-adım teknik akış sunuyorum. Her iki seçenek için de temel bileşenler, örnek API çağrıları, mesaj şablonları, doğrulama, hata durumları ve üretime alma notları içeriyor. İster Make kullan ister n8n — mantık aynı, sadece node/modül isimleri değişiyor.


    ---

    1) Mimari & Gereksinimler (yüksek seviye)

    WhatsApp mesajlaşma: Twilio WhatsApp veya Meta (WhatsApp Cloud API / Business API). (Twilio daha kolay entegre edilir; Meta doğrudan üretim için tercih edilen seçenek olabilir.)

    Harita & mesafe: Google Maps APIs — Geocoding API (adres → enlem/boylam), Distance Matrix API (mesafe & süre). Alternatif: HERE, Mapbox.

    Oturum / durum yönetimi: kısa ömürlü sipariş oturumları (DB: Airtable / Google Sheets / PostgreSQL / Firebase) — kullanıcı, adresler ve seçimler oturumda tutulur.

    İş akışı otomasyonu: Make.com veya n8n.

    Depolama / log: müşteri bilgileri, talep zamanları, hesaplanan ücret, Google API yanıtları.

    Güvenlik & KVKK/GDPR: kullanıcı açık rızası, anahtarların güvenli saklanması (Make / n8n credential store), veri şifreleme/anonimleştirme.

    Ops: hata yönetimi, tekrar deneme, kullanıcı bilgilendirme.



    ---

    2) Kullanıcı deneyimi (örnek konuşma akışı)

    1. Müşteri WhatsApp’a “Araç çağır” yazar.


    2. Bot: “Alınacak adresi yazınız (ör. Vatan Cad. No:5, İstanbul).”


    3. Müşteri adresi gönderir → bot Geocoding ile doğrular / mümkünse öneri sunar.


    4. Bot: “Nereye gidiyorsunuz?” → Müşteri varış adresini yazar → doğrula.


    5. Bot: “Alım zamanını seçin: Şimdi veya Tarih & Saat gir” → eğer tarih/saat girerse doğrula zaman formatı.


    6. Bot Google Distance Matrix ile mesafe + süre hesaplar.


    7. Bot: “Mesafe X km, tahmini süre Y dk. Ücret: Z ₺. Onaylıyor musunuz? [Evet] / [Hayır]” (Buton veya yazı ile yanıt)


    8. Onay → rezervasyon kaydı, teyit mesajı (driver ataması opsiyonel).




    ---

    3) Önemli tasarım kararları & kurallar

    Adres doğrulama: Serbest metin → Geocoding API ile enlem/boylam. Eğer sonuç belirsiz ise (confidence düşük veya birden çok sonuç) kullanıcıya alternatifler sun.

    Mesafe kaynağı: Distance Matrix API — sürüş (driving) modunu kullan. distance.value (metre) ve duration.value (saniye) alınır.

    Ücret formülü (örnek): Ücret = Baz + (Km * KmFiyat) + (Dakika * DakikaFiyat)

    Örnek: Baz = 10 ₺, KmFiyat = 3 ₺/km, DakikaFiyat = 0.5 ₺/dk

    Hesaplama decimal; yuvarlama kuralı (örn. en yakın 0.5₺) belirtin.


    Zaman dilimi: Kullanıcıların lokal saatini (Türkiye → Europe/Istanbul) dikkate alın.

    Kötü girişler: Bilinmeyen adres, hatalı tarih formatı, Google API limit aşımı durumlarına geri bildirim.



    ---

    4) Google Maps API — örnek çağrılar ve parse

    1. Geocoding (adres → lat/lng)
    HTTP GET:

    https://maps.googleapis.com/maps/api...y=YOUR_API_KEY

    Cevapta results[0].geometry.location.lat ve .lng. results.length == 0 → adres bulunamadı.


    2. Distance Matrix (iki nokta arası mesafe/süre — driving mode)
    HTTP GET (örnek):

    https://maps.googleapis.com/maps/api...y=YOUR_API_KEY

    Cevapta:

    rows[0].elements[0].distance.value → metre (örn. 12050)

    rows[0].elements[0].distance.text → "12.1 km"

    rows[0].elements[0].duration.value → saniye (örn. 900)

    status alanları kontrol edilmeli (OK, NOT_FOUND, ZERO_RESULTS vb.)



    3. Mesafe → km dönüşümleri: km = distance.value / 1000; dakika = duration.value / 60.




    ---

    5) WhatsApp entegrasyonu (mesaj + butonlar)

    Twilio WhatsApp: kolay; Make ve n8n’de hazır Twilio modülleri var. Interaktif buton desteği sınırlı ama template messages & media gönderilebilir.

    Meta WhatsApp Cloud API: interactive messages (list messages, reply buttons) ve template messages destekler — production için genelde tercih edilir.

    Örnek ilk mesaj (template):

    Merhaba {{1}}! Alınacak adresinizi yazar mısınız?

    Onay butonları: "Evet" / "Hayır" veya "Şimdi" / "Randevu oluştur".


    > Not: WhatsApp Business API ile interaktif mesajlar için önceden onaylanmış şablonlar (templates) gerekir; Make/n8n'de bu template'leri HTTP Request ile çağırarak gönderebilirsiniz.




    ---

    6) Make.com — adım adım akış (detay)

    Aşağıda Make kullanarak tipik bir senaryo:

    1. Trigger: Twilio/WhatsApp incoming message (Make’de Twilio > "Watch Incoming Messages") veya Make Webhook (WhatsApp Cloud gönderirse).


    2. Router 1 — Kullanıcı durumuna göre (state machine):

    new_request → ask_pickup_address

    got_pickup → ask_destination

    got_destination → ask_time

    got_time → calculate_fare



    3. Adres doğrulama: HTTP > Google Geocoding (GET). Eğer birden fazla sonuç → Formatter > create list > Reply user with options (list message).


    4. Varsa kullanıcı seçimi → tekrar geocoding alınan lat/lng ile kaydet.


    5. Mesafe hesaplama: HTTP > Google Distance Matrix. Parse JSON, çıkar distance.value, duration.value.


    6. Ücret hesaplama: Make Formatter veya "Set variable" + math işlemleri (örn. round(distance/1000 * KmFiyat + duration/60 * DakikaFiyat + Baz, 2)).


    7. Kullanıcıya sonuç göster: Twilio Send Message (WhatsApp) ya da HTTP -> WhatsApp Cloud API çağrısı. Gönder: mesafe, süre, ücret, “Onaylıyor musunuz?” butonları.


    8. Onay takibi: Onay gelirse → kaydı veritabanına yaz (Airtable/Google Sheets), sürücü atama işine webhook tetikle. Onay yoksa iptal akışı.


    9. Hata & limit handling: Google API quota hatası → kullanıcıya "şu anda hesaplama yapılamıyor" mesajı, opsiyonel yeniden deneme.



    Make modülleri örnek sırası:

    Twilio > Watch Messages (Trigger)

    Router

    HTTP > Make a request (Geocoding)

    Tools > JSON > Parse JSON (geocoding)

    HTTP > Make a request (Distance Matrix)

    Tools > Math/Formatter > hesaplama

    Twilio > Send WhatsApp message

    Airtable / Google Sheets > Create Record

    Notifications / Slack (opsiyonel log)



    ---

    7) n8n — adım adım akış (detay)

    n8n node akışı benzer, node isimleri:

    1. Webhook (HTTP Request incoming) veya Twilio Trigger node.


    2. Function / Switch node: kullanıcı oturum durumuna göre yönlendir.


    3. HTTP Request (Google Geocode) → JSON parse (n8n otomatik).


    4. If node: eğer birden fazla result → send back options (WhatsApp Cloud HTTP Request).


    5. HTTP Request (Distance Matrix) → Function node ile ücret hesapla (JS):

    const km = items[0].json.distance.value / 1000;
    const minutes = items[0].json.duration.value / 60;
    const fare = 10 + km*3 + minutes*0.5;
    return [{ json: { fare: Math.round(fare*100)/100, km, minutes } }];


    6. WhatsApp send: Twilio node veya HTTP Request node (WhatsApp Cloud).


    7. DB: PostgreSQL, Airtable, Google Sheets node ile kayıt.


    8. Error workflow: n8n’de hata çıkışı ayrı workflow’a bağlanarak loglayın.




    ---

    8) Veri modeli (basit)

    requests tablosu / satırı:

    id

    user_whatsapp_number

    pickup_address_raw

    pickup_lat, pickup_lng

    destination_address_raw

    dest_lat, dest_lng

    pickup_time (ISO string)

    distance_m, duration_s

    fare_calculated

    status (pending, confirmed, canceled, completed)

    created_at, updated_at




    ---

    9) Örnek hesaplama & örnek JSON (Distance Matrix parse)

    Distance Matrix mock response (kısa):

    {
    "rows": [{
    "elements":[
    {
    "distance": {"text":"12.1 km","value":12100},
    "duration": {"text":"15 mins","value":900},
    "status":"OK"
    }
    ]
    }]
    }

    Hesap (örnek):

    km = 12100 / 1000 = 12.1

    dakika = 900 / 60 = 15

    ücret = 10 + 12.13 + 150.5 = 10 + 36.3 + 7.5 = 53.8 → 53.80 ₺



    ---

    10) Mesaj şablon örnekleri (WhatsApp)

    Alım adresi isteği (template):
    Merhaba! Alınacağınız adresi yazar mısınız? (örn. "Vatan Cad. No:5, İstanbul")

    Konum doğrulama:
    Bu adresi kastettiniz mi? [Adres metni] (Evet / Hayır)

    Fiyat teklifi:
    Mesafe: 12.1 km, Tahmini süre: 15 dk. Tahmini ücret: 53.80 ₺. Onaylıyor musunuz? (Buton: Onayla / İptal)



    ---

    11) Hata senaryoları & çözümler

    Adres bulunamadı → kullanıcıya “adres bulunamadı, lütfen daha ayrıntılı yazınız veya konum paylaşın” mesajı.

    Google API limit/timeout → kullanıcıya nazik hata, opsiyonel SMS veya callback seçeneği; teknik ekip için alert (Slack/email).

    Yanlış koordinat → kullanıcıdan tekrar doğrulama (harita linki göster).

    Kullanıcı iptali → oturumu temizle veya status = canceled yap.



    ---

    12) Test & QA

    Unit testler: fare hesaplama (çeşitli mesafeler/süreler).

    Entegrasyon testleri: WhatsApp ↔ Make/n8n ↔ Google API (mock + gerçek).

    Kullanıcı kabul testi: farklı adres türleri (sokak adı, cadde + bina no, landmark).

    Rate limit testi: eşzamanlı istek sayısını test et.



    ---

    13) Üretime alma & izleme

    API anahtarları güvenli saklanmalı; Make/n8n credential store kullanın.

    İzleme: API hata oranı, başarısız hesaplama oranı, ort. yanıt süresi.

    Loglama: her isteğin Google yanıtı, ücret hesaplama sonucu ve kullanıcı onayı saklanmalı.

    Yedekleme: DB snapshot’ları, günlük rapor.



    ---

    14) Opsiyonel iyileştirmeler / ileri seviye

    Gerçek zamanlı sürücü atama (sürüş yönetim sistemi entegrasyonu).

    Fiyat dinamikleri: yoğunluğa göre surge pricing.

    Ön hesaplama için harita trafik verisi: Distance Matrix departure_time parametresi ile tahmini süreyi daha hassas al.

    Kullanıcıya harita önizlemesi gönder (Google Maps link veya statik map image).

    Çoklu durak desteği (multi-destination).



    ---

    15) Hızlı checklist — yapılacaklar (uygulama adımları)

    1. WhatsApp provider seç (Twilio veya Meta Cloud).


    2. Google Cloud hesabı, Maps API (Geocoding, Distance Matrix) etkinleştir, API key alın.


    3. Make.com veya n8n ortamını hazırla; credentials ekle.


    4. Basit akışı kur: incoming WhatsApp → adres al → geocode → distance → hesap → teklif göster → onay → kayıt.


    5. Test et (özellikle adres varyasyonları).


    6. Hata/limit senaryolarını ekle.


    7. Prod domain / webhook ve güvenlik (HTTPS) ayarla.


    8. İzleme & logging ekle.




    ---

    16) Ek: Örnek HTTP Distance Matrix çağrısı (kopyala-yapıştır)

    GET https://maps.googleapis.com/maps/api...ncematrix/json
    ?origins=41.008237,28.978359
    &destinations=41.015137,28.979530
    &mode=driving
    &departure_time=now
    &key=YOUR_API_KEY


    ---
  • 11-10-2025, 22:12:03
    #3
    arap adlı üyeden alıntı: mesajı görüntüle
    Yazılabilir.
    Yol haritası — WhatsApp üzerinden “alım-adres → varış-adres → alım zamanı → Google Maps ile mesafe & süre → ücret göster” botu

    Aşağıda Make.com veya n8n ile inşa edilebilecek, uçtan uca uygulanabilir bir yol haritası ve her platform için adım-adım teknik akış sunuyorum. Her iki seçenek için de temel bileşenler, örnek API çağrıları, mesaj şablonları, doğrulama, hata durumları ve üretime alma notları içeriyor. İster Make kullan ister n8n — mantık aynı, sadece node/modül isimleri değişiyor.


    ---

    1) Mimari & Gereksinimler (yüksek seviye)

    WhatsApp mesajlaşma: Twilio WhatsApp veya Meta (WhatsApp Cloud API / Business API). (Twilio daha kolay entegre edilir; Meta doğrudan üretim için tercih edilen seçenek olabilir.)

    Harita & mesafe: Google Maps APIs — Geocoding API (adres → enlem/boylam), Distance Matrix API (mesafe & süre). Alternatif: HERE, Mapbox.

    Oturum / durum yönetimi: kısa ömürlü sipariş oturumları (DB: Airtable / Google Sheets / PostgreSQL / Firebase) — kullanıcı, adresler ve seçimler oturumda tutulur.

    İş akışı otomasyonu: Make.com veya n8n.

    Depolama / log: müşteri bilgileri, talep zamanları, hesaplanan ücret, Google API yanıtları.

    Güvenlik & KVKK/GDPR: kullanıcı açık rızası, anahtarların güvenli saklanması (Make / n8n credential store), veri şifreleme/anonimleştirme.

    Ops: hata yönetimi, tekrar deneme, kullanıcı bilgilendirme.



    ---

    2) Kullanıcı deneyimi (örnek konuşma akışı)

    1. Müşteri WhatsApp’a “Araç çağır” yazar.


    2. Bot: “Alınacak adresi yazınız (ör. Vatan Cad. No:5, İstanbul).”


    3. Müşteri adresi gönderir → bot Geocoding ile doğrular / mümkünse öneri sunar.


    4. Bot: “Nereye gidiyorsunuz?” → Müşteri varış adresini yazar → doğrula.


    5. Bot: “Alım zamanını seçin: Şimdi veya Tarih & Saat gir” → eğer tarih/saat girerse doğrula zaman formatı.


    6. Bot Google Distance Matrix ile mesafe + süre hesaplar.


    7. Bot: “Mesafe X km, tahmini süre Y dk. Ücret: Z ₺. Onaylıyor musunuz? [Evet] / [Hayır]” (Buton veya yazı ile yanıt)


    8. Onay → rezervasyon kaydı, teyit mesajı (driver ataması opsiyonel).




    ---

    3) Önemli tasarım kararları & kurallar

    Adres doğrulama: Serbest metin → Geocoding API ile enlem/boylam. Eğer sonuç belirsiz ise (confidence düşük veya birden çok sonuç) kullanıcıya alternatifler sun.

    Mesafe kaynağı: Distance Matrix API — sürüş (driving) modunu kullan. distance.value (metre) ve duration.value (saniye) alınır.

    Ücret formülü (örnek): Ücret = Baz + (Km * KmFiyat) + (Dakika * DakikaFiyat)

    Örnek: Baz = 10 ₺, KmFiyat = 3 ₺/km, DakikaFiyat = 0.5 ₺/dk

    Hesaplama decimal; yuvarlama kuralı (örn. en yakın 0.5₺) belirtin.


    Zaman dilimi: Kullanıcıların lokal saatini (Türkiye → Europe/Istanbul) dikkate alın.

    Kötü girişler: Bilinmeyen adres, hatalı tarih formatı, Google API limit aşımı durumlarına geri bildirim.



    ---

    4) Google Maps API — örnek çağrılar ve parse

    1. Geocoding (adres → lat/lng)
    HTTP GET:

    https://maps.googleapis.com/maps/api...y=YOUR_API_KEY

    Cevapta results[0].geometry.location.lat ve .lng. results.length == 0 → adres bulunamadı.


    2. Distance Matrix (iki nokta arası mesafe/süre — driving mode)
    HTTP GET (örnek):

    https://maps.googleapis.com/maps/api...y=YOUR_API_KEY

    Cevapta:

    rows[0].elements[0].distance.value → metre (örn. 12050)

    rows[0].elements[0].distance.text → "12.1 km"

    rows[0].elements[0].duration.value → saniye (örn. 900)

    status alanları kontrol edilmeli (OK, NOT_FOUND, ZERO_RESULTS vb.)



    3. Mesafe → km dönüşümleri: km = distance.value / 1000; dakika = duration.value / 60.




    ---

    5) WhatsApp entegrasyonu (mesaj + butonlar)

    Twilio WhatsApp: kolay; Make ve n8n’de hazır Twilio modülleri var. Interaktif buton desteği sınırlı ama template messages & media gönderilebilir.

    Meta WhatsApp Cloud API: interactive messages (list messages, reply buttons) ve template messages destekler — production için genelde tercih edilir.

    Örnek ilk mesaj (template):

    Merhaba {{1}}! Alınacak adresinizi yazar mısınız?

    Onay butonları: "Evet" / "Hayır" veya "Şimdi" / "Randevu oluştur".


    > Not: WhatsApp Business API ile interaktif mesajlar için önceden onaylanmış şablonlar (templates) gerekir; Make/n8n'de bu template'leri HTTP Request ile çağırarak gönderebilirsiniz.




    ---

    6) Make.com — adım adım akış (detay)

    Aşağıda Make kullanarak tipik bir senaryo:

    1. Trigger: Twilio/WhatsApp incoming message (Make’de Twilio > "Watch Incoming Messages") veya Make Webhook (WhatsApp Cloud gönderirse).


    2. Router 1 — Kullanıcı durumuna göre (state machine):

    new_request → ask_pickup_address

    got_pickup → ask_destination

    got_destination → ask_time

    got_time → calculate_fare



    3. Adres doğrulama: HTTP > Google Geocoding (GET). Eğer birden fazla sonuç → Formatter > create list > Reply user with options (list message).


    4. Varsa kullanıcı seçimi → tekrar geocoding alınan lat/lng ile kaydet.


    5. Mesafe hesaplama: HTTP > Google Distance Matrix. Parse JSON, çıkar distance.value, duration.value.


    6. Ücret hesaplama: Make Formatter veya "Set variable" + math işlemleri (örn. round(distance/1000 * KmFiyat + duration/60 * DakikaFiyat + Baz, 2)).


    7. Kullanıcıya sonuç göster: Twilio Send Message (WhatsApp) ya da HTTP -> WhatsApp Cloud API çağrısı. Gönder: mesafe, süre, ücret, “Onaylıyor musunuz?” butonları.


    8. Onay takibi: Onay gelirse → kaydı veritabanına yaz (Airtable/Google Sheets), sürücü atama işine webhook tetikle. Onay yoksa iptal akışı.


    9. Hata & limit handling: Google API quota hatası → kullanıcıya "şu anda hesaplama yapılamıyor" mesajı, opsiyonel yeniden deneme.



    Make modülleri örnek sırası:

    Twilio > Watch Messages (Trigger)

    Router

    HTTP > Make a request (Geocoding)

    Tools > JSON > Parse JSON (geocoding)

    HTTP > Make a request (Distance Matrix)

    Tools > Math/Formatter > hesaplama

    Twilio > Send WhatsApp message

    Airtable / Google Sheets > Create Record

    Notifications / Slack (opsiyonel log)



    ---

    7) n8n — adım adım akış (detay)

    n8n node akışı benzer, node isimleri:

    1. Webhook (HTTP Request incoming) veya Twilio Trigger node.


    2. Function / Switch node: kullanıcı oturum durumuna göre yönlendir.


    3. HTTP Request (Google Geocode) → JSON parse (n8n otomatik).


    4. If node: eğer birden fazla result → send back options (WhatsApp Cloud HTTP Request).


    5. HTTP Request (Distance Matrix) → Function node ile ücret hesapla (JS):

    const km = items[0].json.distance.value / 1000;
    const minutes = items[0].json.duration.value / 60;
    const fare = 10 + km*3 + minutes*0.5;
    return [{ json: { fare: Math.round(fare*100)/100, km, minutes } }];


    6. WhatsApp send: Twilio node veya HTTP Request node (WhatsApp Cloud).


    7. DB: PostgreSQL, Airtable, Google Sheets node ile kayıt.


    8. Error workflow: n8n’de hata çıkışı ayrı workflow’a bağlanarak loglayın.




    ---

    8) Veri modeli (basit)

    requests tablosu / satırı:

    id

    user_whatsapp_number

    pickup_address_raw

    pickup_lat, pickup_lng

    destination_address_raw

    dest_lat, dest_lng

    pickup_time (ISO string)

    distance_m, duration_s

    fare_calculated

    status (pending, confirmed, canceled, completed)

    created_at, updated_at




    ---

    9) Örnek hesaplama & örnek JSON (Distance Matrix parse)

    Distance Matrix mock response (kısa):

    {
    "rows": [{
    "elements":[
    {
    "distance": {"text":"12.1 km","value":12100},
    "duration": {"text":"15 mins","value":900},
    "status":"OK"
    }
    ]
    }]
    }

    Hesap (örnek):

    km = 12100 / 1000 = 12.1

    dakika = 900 / 60 = 15

    ücret = 10 + 12.13 + 150.5 = 10 + 36.3 + 7.5 = 53.8 → 53.80 ₺



    ---

    10) Mesaj şablon örnekleri (WhatsApp)

    Alım adresi isteği (template):
    Merhaba! Alınacağınız adresi yazar mısınız? (örn. "Vatan Cad. No:5, İstanbul")

    Konum doğrulama:
    Bu adresi kastettiniz mi? [Adres metni] (Evet / Hayır)

    Fiyat teklifi:
    Mesafe: 12.1 km, Tahmini süre: 15 dk. Tahmini ücret: 53.80 ₺. Onaylıyor musunuz? (Buton: Onayla / İptal)



    ---

    11) Hata senaryoları & çözümler

    Adres bulunamadı → kullanıcıya “adres bulunamadı, lütfen daha ayrıntılı yazınız veya konum paylaşın” mesajı.

    Google API limit/timeout → kullanıcıya nazik hata, opsiyonel SMS veya callback seçeneği; teknik ekip için alert (Slack/email).

    Yanlış koordinat → kullanıcıdan tekrar doğrulama (harita linki göster).

    Kullanıcı iptali → oturumu temizle veya status = canceled yap.



    ---

    12) Test & QA

    Unit testler: fare hesaplama (çeşitli mesafeler/süreler).

    Entegrasyon testleri: WhatsApp ↔ Make/n8n ↔ Google API (mock + gerçek).

    Kullanıcı kabul testi: farklı adres türleri (sokak adı, cadde + bina no, landmark).

    Rate limit testi: eşzamanlı istek sayısını test et.



    ---

    13) Üretime alma & izleme

    API anahtarları güvenli saklanmalı; Make/n8n credential store kullanın.

    İzleme: API hata oranı, başarısız hesaplama oranı, ort. yanıt süresi.

    Loglama: her isteğin Google yanıtı, ücret hesaplama sonucu ve kullanıcı onayı saklanmalı.

    Yedekleme: DB snapshot’ları, günlük rapor.



    ---

    14) Opsiyonel iyileştirmeler / ileri seviye

    Gerçek zamanlı sürücü atama (sürüş yönetim sistemi entegrasyonu).

    Fiyat dinamikleri: yoğunluğa göre surge pricing.

    Ön hesaplama için harita trafik verisi: Distance Matrix departure_time parametresi ile tahmini süreyi daha hassas al.

    Kullanıcıya harita önizlemesi gönder (Google Maps link veya statik map image).

    Çoklu durak desteği (multi-destination).



    ---

    15) Hızlı checklist — yapılacaklar (uygulama adımları)

    1. WhatsApp provider seç (Twilio veya Meta Cloud).


    2. Google Cloud hesabı, Maps API (Geocoding, Distance Matrix) etkinleştir, API key alın.


    3. Make.com veya n8n ortamını hazırla; credentials ekle.


    4. Basit akışı kur: incoming WhatsApp → adres al → geocode → distance → hesap → teklif göster → onay → kayıt.


    5. Test et (özellikle adres varyasyonları).


    6. Hata/limit senaryolarını ekle.


    7. Prod domain / webhook ve güvenlik (HTTPS) ayarla.


    8. İzleme & logging ekle.




    ---

    16) Ek: Örnek HTTP Distance Matrix çağrısı (kopyala-yapıştır)

    GET https://maps.googleapis.com/maps/api...ncematrix/json
    ?origins=41.008237,28.978359
    &destinations=41.015137,28.979530
    &mode=driving
    &departure_time=now
    &key=YOUR_API_KEY


    ---
    Bunun maliyeti ne olur