Odoo CRM Entegrasyonu, müşteri iletişiminin ve çok kanallı desteğin yönetildiği Supsis ile kurumsal ERP ve CRM süreçlerinin yürütüldüğü Odoo arasında güvenli ve doğrudan bir veri köprüsü kurar. Bu entegrasyon sayesinde WhatsApp, Instagram, Canlı Destek (WebChat) veya diğer iletişim kanallarından gelen yeni müşteriler, belirlenen kurallara ve aktarım modlarına göre Odoo'da otomatik olarak potansiyel müşteri (Lead), kişi (Partner/Contact) veya Kişi + Fırsat (Opportunity) olarak oluşturulabilir.

Canlı destek temsilcileri sohbet ekranından ayrılmadan müşterinin Odoo'daki partner, lead, fırsat ve aktivite kayıtlarını tek bakışta inceleyebilir; müşteri taleplerine ilişkin Odoo kayıtlarına anlık notlar ekleyebilir. Ayrıca Otomasyon modülündeki Odoo blokları ve SDK fonksiyonları sayesinde iş akışları içerisinden programatik olarak kayıtlar açılıp güncellenebilir.


1- Odoo CRM Entegrasyonuna Genel Bakış

1.a – Odoo CRM Nedir ve Entegrasyonun Amacı

Odoo; satış, CRM, muhasebe, envanter ve operasyon süreçlerini tek bir çatı altında toplayan açık kaynaklı bir ERP/CRM platformudur. Birçok işletme potansiyel müşteri takibini, satış boru hatlarını (pipeline) ve müşteri kartlarını Odoo CRM üzerinde yönetir.

İşletmeler müşteri iletişimini Supsis üzerinden yürütürken satış ve operasyon süreçlerini Odoo üzerinde takip ettiğinde, iki sistem arasında elle veri taşıma ihtiyacı doğar. Temsilcilerin her görüşmeden sonra bilgileri kopyalayıp Odoo'ya girmesi zaman kaybına, mükerrer kayıtlara ve satış fırsatlarının gözden kaçmasına neden olur.

Supsis Odoo CRM Entegrasyonu bu süreci otomatikleştirir:

  1. Supsis → Odoo (Otomatik Kişi/CRM Aktarımı): WhatsApp, Instagram veya WebChat üzerinden yeni bir müşteri mesaj attığında, telefon numarası üzerinden Odoo'da mükerrer kontrolü (dedup) yapılır. Kayıt yoksa seçilen mod doğrultusunda Odoo'da otomatik Lead, Partner veya Kişi + Fırsat oluşturulur.
  2. Odoo → Supsis (Sohbet Ekranı Görünümü): Canlı destek ekranında sağ taraftaki ziyaretçi detay panelinde Odoo Bilgileri sekmesi açılır. Ziyaretçinin Odoo'daki partner kartı, lead kayıtları, açık fırsatları ve planlı aktiviteleri anında listelenir. Temsilciler ilgili kayda tek tıkla Odoo notu (message_post) ekleyebilir.
  3. Otomasyon ve SDK ile Odoo Yönetimi: Otomasyon tasarımcısındaki Odoo aksiyon blokları veya supsis.odoo JavaScript SDK fonksiyonları kullanılarak Odoo üzerinde kayıt arama, oluşturma, güncelleme ve not ekleme işlemleri kurgulanabilir.

Önemli Mimari Not: Webhook ve Akış Yönü

  • Tek Yönlü Akış (Supsis → Odoo): Entegrasyon iki yönlü bir senkronizasyon motoru değildir. Supsis'ten Odoo'ya veri yazılabilir ve Odoo'dan anlık olarak veri okunabilir; ancak Odoo tarafında yapılan değişikliklerin Supsis'e otomatik yansıması (Webhook / Geri Bildirim) bu sürümde desteklenmemektedir.
  • Odoo Custom Plan Zorunluluğu: Odoo External API (harici erişim katmanı) yalnızca Odoo Custom planlarda açıktır. Odoo'nun One App Free veya Standard planlarında harici API erişimi kapalı olduğundan bağlantı sağlanamaz. Bu kısıtlama Odoo'nun kendi lisanslama politikasıdır.

1.b – İki Katmanlı Yapılandırma Mimarisi

Odoo CRM entegrasyonu iki temel yönetim katmanından oluşur:

Katman Bulunduğu Menü Yolu Görevi ve Kapsamı
1. Odoo Entegrasyon Kanalı Entegrasyonlar > CRM > Odoo CRM Merkezi Odoo bağlantısıdır. Odoo sunucu adresi (URL), API Anahtarı, sürüm API modu (JSON-2 / JSON-RPC), kullanıcı eşlemesi ve kanal görünürlük izinleri burada yönetilir. Site başına yalnızca 1 adet Odoo kanalı oluşturulabilir.
2. Kaynak Kanal Aktarım Ayarı Kanal Detayı > Odoo Aktarımı WhatsApp, Instagram veya WebChat kanallarının her biri için ayrı ayrı yapılandırılır. "Yeni kişileri Odoo'ya aktar" anahtarı, aktarım modu (Lead, Kişi, Kişi + Fırsat), telefon formatı, satış temsilcisi, satış ekibi, aşama ve alan eşlemeleri bu sekmeden belirlenir.

CRM Uygulaması Seçimi

Supsis Odoo Entegrasyon Kartı

Site Başına Tek Kanal Kuralı

Supsis platformunda her site/hesap için yalnızca 1 adet Odoo CRM kanalı oluşturulabilir. İkinci bir kanal eklenmek istendiğinde sistem "Birden fazla Odoo kanalı oluşturamazsınız" uyarısını görüntüler.


1.c – Terimler Sözlüğü

Terim Sistem / Kapsam Açıklama
Odoo ERP/CRM Platformu İşletmelerin satış, müşteri ilişkileri, muhasebe ve operasyonlarını yönettiği açık kaynaklı platform (odoo.com veya On-premise sunucular).
Odoo CRM Odoo Modülü Müşteri ilişkileri, potansiyel müşteriler (lead), fırsatlar (opportunity) ve satış hunilerinin yönetildiği modüldür.
API Key (API Anahtarı) Odoo Kimlik Doğrulama Odoo'da kullanıcı için oluşturulan ve harici uygulamalara güvenli erişim sağlayan gizli anahtardır. OAuth yerine kullanılır.
Persistent Key (Kalıcı Anahtar) Odoo Anahtar Türü Süresi dolmayan API anahtarıdır. Yalnızca Admin (Yönetici) yetkisine sahip kullanıcılarla oluşturulabilir. Standart kullanıcıların anahtarı 3 ay sonra geçerliliğini yitirir.
JSON-2 API Odoo 18.4+ / 19+ Odoo'nun modern sürümlerinde sunduğu Authorization: Bearer <apiKey> standardıyla çalışan yeni nesil REST API katmanıdır.
JSON-RPC (execute_kw) Odoo 14 – 18 Odoo'nun klasik sürümlerinde çalışan, ek olarak veritabanı adı (db) ve kullanıcı adı (login) gerektiren yedek (fallback) API protokolüdür.
Partner (res.partner) Odoo Kaydı Odoo'daki kişi veya kurum kartıdır. Supsis'teki müşteri/ziyaretçi profilinin doğrudan karşılığıdır.
Lead (crm.lead, type='lead') Odoo CRM Nesnesi Henüz niteliklendirilmemiş, satış hattının en başındaki potansiyel müşteri kaydıdır.
Opportunity / Fırsat (crm.lead, type='opportunity') Odoo CRM Nesnesi Nitelikli bir satış fırsatına dönüştürülmüş kayıt. Odoo'da lead ve opportunity aynı modelde yer alır ve type alanı ile ayrışır.
Stage (Aşama) Satış Pipeline Adımı Satış hunisindeki ilerleme adımlarıdır (Örn: Yeni, Nitelikli, Teklif Verildi, Kazanıldı). Yalnızca Kişi + Fırsat modunda seçilir.
Team (Satış Ekibi) crm.team Lead veya fırsatın atandığı yetkili departman / satış grubudur.
Salesperson (Satış Temsilcisi) res.users Odoo tarafında kayıttan sorumlu olan kullanıcıdır.
Activity (Aktivite) mail.activity Kayda bağlı arama, toplantı veya e-posta hatırlatma görevidir. Son teslim tarihi (date_deadline) bulunur.
Note (message_post) Odoo İletişim Notu Partner veya lead kaydının zaman tüneline (mail.message) düşülen açıklamadır. Temsilciler sohbet ekranından bu notu düşebilir.
Telefon Dedup (Mükerrer Önleme) Mükerrer Kontrolü Yeni kişi geldiğinde telefon numarası üzerinden Odoo'da arama yapılarak mükerrer kayıt oluşturulmasının engellenmesi sürecidir.
phone_sanitized Odoo Telefon Formatı Odoo'nun phone_validation modülü tarafından E.164 standardında normalize edilen temiz telefon verisidir.
Field Mapping (Alan Eşleme) Dinamik Alan Bağlama Supsis'teki müşteri alanlarının ({{contact.phone}}, {{contact.name}} vb.) Odoo'daki özel veya standart alanlara eşlenmesidir.
token-invalid Kanal Güvenlik Durumu API anahtarının geçersizleşmesi, yetkisinin kalkması veya süresinin dolması durumudur. Kartta turuncu renkli "Yeniden bağlanın" uyarısı çıkar.

2- Odoo'da API Anahtarı (API Key) Nasıl Oluşturulur?

Odoo entegrasyonu OAuth onay ekranı yerine kullanıcı tarafından üretilen bir API Anahtarı (API Key) ile çalışır.

Odoo Account Security API Key Oluşturma Ekranı

API anahtarını oluşturmak için aşağıdaki adımları takip edin:

  1. Odoo panelinize bir Admin (Yönetici) kullanıcısı ile giriş yapın.
  2. Sağ üst köşedeki profil simgenize tıklayarak Tercihler (Preferences) veya Ayarlar → Kullanıcılar → Güvenlik (Account Security) sayfasını açın.
  3. API Keys bölümünde New API Key (Yeni API Anahtarı) butonuna tıklayın.
  4. Açılan pencerede anahtara açıklayıcı bir isim verin (Örn: Supsis AI CRM).
  5. Kapsam (Scope) olarak RPC seçeneğini ve anahtar tipi olarak Persistent Key (Kalıcı Anahtar) türünü işaretleyin.
  6. Generate Key butonuna bastığınızda ekranda beliren API anahtarını kopyalayın.

Odoo API Key Üretim Detayları ve Uyarılar

Kritik Güvenlik ve Süreklilik Uyarıları

  • Admin Yetkisi Zorunluluğu: API anahtarını mutlaka Admin yetkisine sahip bir kullanıcı üzerinden oluşturun. Standart personellerin oluşturduğu anahtarlar Odoo güvenlik politikası gereği 3 ay sonra otomatik olarak geçersiz kalır ve bağlantı kopar.
  • Anahtarı Güvenli Saklayın: Odoo, API anahtarını oluşturulduğu an yalnızca bir kez gösterir. Sayfayı kapattıktan sonra anahtarı tekrar görüntüleyemezsiniz.
  • HTTPS Protokolü: Supsis yalnızca güvenli https:// protokolü üzerinden çalışan Odoo adreslerini kabul eder. http:// bağlantıları reddedilir.

3- Supsis'e Odoo CRM Bağlantısı Nasıl Eklenir?

Odoo CRM kanalınızı bağlamak için:

  1. Supsis panelinizde sol menüden Entegrasyonlar sayfasına gidin ve CRM grubundaki Odoo CRM kartına tıklayın.
  2. Açılan kanallar listesinde sağ üstteki + Kanal Ekle butonuna basın.

Supsis Odoo Kanal Listesi Ekranı

  1. Açılan form penceresinde bağlantı bilgilerini doldurun:
  2. Kanal Adı: Entegrasyon için tanımlayıcı bir ad girin (Örn: Odoo Ana CRM).
  3. Odoo URL: Odoo sunucunuzun kök adresini girin (Örn: https://sirketiniz.odoo.com veya On-premise alan adınız).
  4. API Anahtarı: Odoo'dan aldığınız API anahtarını yapıştırın.

Supsis Kanal Oluşturma Modalı

Otomatik Çift Mod Algılama (JSON-2 & JSON-RPC)

Supsis, girilen sunucu adresine göre Odoo sürümünü otomatik analiz eder: * İlk olarak modern JSON-2 API protokolünü (Authorization: Bearer <key>) dener. Odoo sürümünüz 18.4 veya üzeri ise bağlantı bu modda doğrudan kurulur. * Sunucu eski bir sürüme sahipse (Odoo 14 – 18 arası), sistem Gelişmiş Seçenekler altındaki Veritabanı Adı (Database) ve Kullanıcı Adı (Login) bilgilerini kullanarak JSON-RPC (execute_kw) moduna otomatik geçiş yapar. * Her iki yöntem de doğrulanamazsa sistem "Odoo 18.4 öncesi sürümler için kullanıcı adı ve veritabanı adı gerekli" uyarısını verir.

Odoo CRM Kanal Detay Sayfası

Kanal Detay Sekmeleri

Bağlantı kurulduktan sonra kanal yönetim ekranında sol menüde 3 temel sekme yer alır:

a. Detay Sekmesi

Entegrasyonun temel kimlik ve bağlantı bilgilerinin yönetildiği ekrandır. * Kanal Adı: Kanal için tanımlanan başlığı güncelleyebilirsiniz. * Odoo URL: Odoo sunucu adresi görüntülenir. * API Anahtarı: Güvenlik gereği maskelenmiş olarak gösterilir. Anahtar yenilemek veya değiştirmek istediğinizde yeni anahtarı bu alandan girip kaydedebilirsiniz. * Gelişmiş Seçenekler: JSON-RPC modunda kullanılan veritabanı ve kullanıcı adı alanları yer alır.

b. Kullanıcı Eşleme (User Mapping) Sekmesi

Supsis temsilcileri ile Odoo kullanıcılarının eşleştirildiği yönetim alanıdır. * Eşleşme Mantığı: Supsis kullanıcıları ile Odoo personelleri e-posta adresleri üzerinden otomatik olarak eşleştirilir. * Salt Okunur Yapı: Bu tablo otomatik oluşturulur; düzenleme yapılamaz. Eşleşen kullanıcılar "Email" etiketiyle, Odoo'da hesabı bulunmayanlar ise - işaretiyle listelenir. * Sahiplik Yönetimi: Sohbette konuşma sahibi değiştiğinde Odoo tarafındaki kaydın sahibinin doğru atanması bu eşleme tablosu üzerinden sağlanır.

Odoo Kullanıcı Eşleme Sekmesi

c. Görünürlük Sekmesi

Bu Odoo CRM kanalına hangi ekiplerin ve müşteri temsilcilerinin erişebileceğini belirler. * İhtiyacınıza göre kanalı Tüm Temsilciler, belirli Departmanlar veya seçilen Özel Temsilciler ile sınırlandırabilirsiniz.

Odoo Entegrasyonu Görünürlük Sekmesi

Webhook Sekmesi Yoktur

Odoo CRM entegrasyonu tek yönlü (Supsis → Odoo) çalıştığı için kanal detayında Webhook sekmesi yer almaz.


4- Gelen Kişileri Odoo'ya Otomatik Aktarma (CRM Forward)

Entegrasyonun en kritik işlevi, müşteri mesaj attığı anda Supsis'te oluşan kişi kartını anında Odoo CRM'e aktarmaktır.

Ayarın Yapıldığı Yer

Odoo aktarım ayarları Odoo kanalının detayından değil, mesajlaşmanın gerçekleştiği kaynak kanalın (WhatsApp Business API, Instagram, Canlı Sohbet vb.) detay sayfasındaki Odoo Aktarımı sekmesinden yapılandırılır!

4.a – Aktarım Modları

Kaynak kanal detayındaki Odoo Aktarımı sekmesini açıp "Yeni kişileri Odoo'ya aktar" anahtarını aktif hale getirin:

WhatsApp Kanalı Odoo Aktarımı Sekmesi

  1. Lead Modu: Yeni kişi Odoo'da bir crm.lead (type='lead') olarak oluşturulur. Henüz nitelendirilmemiş potansiyel talepleri satış boru hattının girişinde toplamak için kullanılır.
  2. Kişi (Partner) Modu: Yeni kişi doğrudan bir res.partner (Contact) kartı olarak açılır. Kurumsal adres defterinde kişi/kurum kartı oluşturur.
  3. Kişi + Fırsat (Contact + Opportunity) Modu: Sistem önce bir res.partner oluşturur; ardından bu partnere bağlı bir crm.lead (type='opportunity') kaydı açar. Bu modda satış fırsatının başlayacağı Aşama (Stage) seçimi zorunludur.

4.b – Yapılandırma Parametreleri

  • Telefon Formatı: Telefon numaralarının Odoo'ya hangi biçimde kaydedileceğini belirler.
  • E.164 (+): Başında artı işaretiyle (Örn: +905551234567).
  • E.164: Artı işareti olmadan (Örn: 905551234567).
  • Satış Temsilcisi (Salesperson): Oluşturulan kayda Odoo tarafında otomatik atanacak sorumlu personel.
  • Satış Ekibi (Sales Team): Kaydın bağlanacağı satış departmanı / grubu.
  • Aşama (Stage): Sadece Kişi + Fırsat modunda açılır. Fırsatın hangi satış aşamasında (Örn: Yeni, Nitelikli) başlayacağını belirler. Aşamalar seçilen satış ekibine göre dinamik filtrelenir.
  • Etiketler (Tags): Odoo CRM etiketleri üzerinden çoklu seçim yapılarak kayda etiket atanabilir.
  • Alan Eşleme (Field Mapping): Supsis kişi özniteliklerinin Odoo alanlarıyla eşlenmesini sağlar. {{contact.name}}, {{contact.phone}}, {{contact.email}} gibi şablon değişkenleri kullanılabilir. İlişkili (Relation) alanlarda doğrudan listeden seçim yapılır ve sistem kayıt kimliğini (ID) otomatik bağlar.

5- Telefon Numarası ile Mükerrer Kayıt Önleme (Dedup)

Supsis, Odoo'da aynı müşteriye ait birden fazla kart açılmasını önlemek amacıyla gelişmiş bir mükerrer kontrol mekanizması işletir.

Yeni bir müşteri mesaj gönderdiğinde sistem öncelikle telefon numarasını Odoo veritabanında sorgular: * phone alanı * mobile alanı * phone_sanitized alanı (Odoo'nun phone_validation modülü aktifse hem + işaretli hem işaretsiz biçimleri kontrol edilir) * Lead modunda ayrıca partner_phone alanı

Eşleşen bir kayıt bulunursa yeni bir kart oluşturulmaz, var olan Odoo kaydı kullanılır.

Telefon Formatı Uyumu

Telefon eşleşmesi tam eşitlik mantığıyla sorgulandığından, Supsis üzerindeki telefon formatı ayarının Odoo'da mevcut kayıtlarınızda kullandığınız biçimle birebir aynı seçilmesi mükerrer kayıt oluşmasını engellemek açısından kritiktir.


6- Sohbet Ekranında Odoo Müşteri Widget'ı

Canlı destek ekranında bir temsilci ziyaretçiyle yazışırken, sağ taraftaki bilgi panelinde yer alan Odoo Bilgileri sekmesi üzerinden müşterinin kurumsal CRM geçmişini anında görüntüler.

Supsis Sohbet Ekranında Kişinin Odoo Kaydı

Sekme altında şu bölümler listelenir: * Partnerler: Ziyaretçinin telefon veya e-posta adresiyle eşleşen Odoo kişi kartları. * Lead'ler: Müşteriye ait açık veya geçmiş lead talepleri. * Fırsatlar: Müşterinin ilişkili olduğu satış fırsatları, aşama durumu ve tahmini gelir bilgileri. * Aktiviteler: Müşteri kaydına bağlı planlanmış telefon aramaları, toplantılar ve görevler.

Odoo Kaydedilen Kişi Görünümü

Sohbet İçerisinden Odoo'ya Not Ekleme

Temsilci, lead veya fırsat kaydının üzerine tıklayarak detay penceresini açabilir. Detay penceresindeki Not Ekle alanına müşteriyle yapılan görüşmenin kritik detaylarını yazıp kaydettiğinde, bu not Odoo üzerinde ilgili kaydın zaman tüneline (message_post / mail.message) anlık olarak işlenir.

Odoo Kaydedilen Kişi Detaylı Bilgi ve Not Ekleme


7- Otomasyon ile Odoo Yönetimi (Odoo Actions)

Otomasyon kurgularında Odoo süreçlerini kod yazmadan yönetebilmeniz için blok paletine Odoo Aksiyonları (Odoo Actions) grubu eklenmiştir:

  1. Odoo Telefon ile Partner Bul: Belirtilen telefon numarasıyla Odoo'da partner veya lead arar. Bulunan kayıt ID'si sonraki adımlara aktarılır.
  2. Odoo Kayıt Oluştur: Yeni bir partner, lead, fırsat veya aktivite oluşturur. Şablon değişkenleri ({{contact.name}} vb.) ile dinamik alanlar doldurulabilir.
  3. Odoo Kayıt Güncelle: Mevcut bir Odoo kaydının aşamasını, sahibini veya alanlarını günceller.
  4. Odoo Not Ekle: İlgili partner veya lead kaydına otomatik iç not düşer.

8- Otomasyon JavaScript SDK (supsis.odoo)

Gelişmiş entegrasyon senaryoları için JavaScript kod bloğunda doğrudan kullanılabilen supsis.odoo fonksiyonları sunulur:

// Örnek 1: Telefonla Partner Arama ve Yeni Lead Oluşturma
const partner = await supsis.odoo.searchPartnerByPhone(contact.phone);

if (!partner) {
  const newLead = await supsis.odoo.createLead({
    name: "Web Talep: " + contact.name,
    contact_name: contact.name,
    email_from: contact.email,
    phone: contact.phone,
    description: "Ziyaretçi chatbot üzerinden teklif istedi."
  });
  console.log("Oluşturulan Lead ID:", newLead.id);
}

// Örnek 2: Kayda Otomatik Not Ekleme
if (contact.odooInfo?.leadId) {
  await supsis.odoo.addNote("crm.lead", contact.odooInfo.leadId, "Müşteri teklifi kabul etti, sözleşme iletilecek.");
}

// Örnek 3: Generic ORM Erişimi (İstenen Model ve Metodu Çağırma)
const customData = await supsis.odoo.execute("sale.order", "search_read", {
  domain: [["partner_id", "=", contact.odooInfo.partnerId]],
  fields: ["name", "amount_total", "state"]
});

9- Sıkça Sorulan Sorular ve Kontrol Notları

Odoo'da yapılan değişiklikler Supsis paneline anında yansır mı?

Hayır. Bu sürümde Odoo'dan Supsis'e otomatik webhook bildirimi bulunmamaktadır. Sohbet ekranındaki Odoo widget'ı sayfa açıldığında veya yenilendiğinde en güncel veriyi Odoo API'sinden anlık sorgular.

Kanal kartında 'Yeniden bağlanın' (token-invalid) uyarısı alıyorum, ne yapmalıyım?

Odoo üzerinde oluşturulan API anahtarı silinmiş, süresi dolmuş veya kullanıcının yetkileri değiştirilmiş olabilir. Odoo'da admin kullanıcısıyla yeni bir Persistent Key oluşturup Supsis kanal detayındaki Detay sekmesinden yeni anahtarı kaydederek bağlantıyı yenileyebilirsiniz.

Odoo'da müşteriye atanan temsilci Supsis'te nasıl belirlenir?

Kanal detayındaki Kullanıcı Eşleme sekmesinde Supsis temsilcilerinin e-posta adresleri Odoo kullanıcıları ile otomatik eşleştirilir. Kaynak kanal ayarlarında belirlenen satış temsilcisi varsayılan olarak atanır; ayrıca sahiplik değişiklikleri e-posta uyumu üzerinden Odoo'ya iletilir.