Bu yazımızda “Bulutfon’dan aldığınız VoIP telefon sistemi ile kullandığınız CRM sistemini nasıl entegre edebilirsiniz?” örneklerle cevap vereceğiz. Peki telefon CRM entegrasyonun ile neleri kast ediyoruz;
Gelen giden çağrıları CRM üzerinden görebilmek
Gelen giden çağrıları belirli kişiler veya firmalarla ilişkilendirebilmek
Telefon numarası belirli olmayan çağrıları ayırmak
Cevaplanmayan çağrıları raporlamak
Görüşmeyi hangi kullanıcı yapmış raporlamak
Yukarıda belirtilen telefon CRM entegrasyon özelliğini aktif etmek için Bulutfon santral, webkancaları ve API hizmetlerini kullanacağız. Şimdi kısaca bu ürünlere bakalım.
Telefon CRM Entegrasyonu İçin Kullanacağımız Araçlar
Bulutfon Santral
Bulutfon santral dijital bir santral ürünüdür. Her hangi bir fiziksel kurulum gerektirmeden bulut tabanlı olarak telefon santralinizi yönetmenizi sağlamaktadır. Bulutfon santral ürünü ile firma içindeki çalışanlarınıza birer adet iç hat (=dahili) tanımlayabilirsiniz. Bu dahililerden dış arama yapılırken hangi telefon numarasından çıkış yapacağını belirleyebilirsiniz.
Bu iç hat (dahili) özelliği ile şirket hattına gelen ve giden çağrılarda hangi personelin o görüşmeyi yaptığını tespit edebiliyoruz. Böylece Bulutfon’dan telefon verilerini CRM sistemine aktarırken görüşmeyi hangi personel yapmış bilebiliyoruz.
Webkancaları
Webkancaları Bulutfon santralde bir olay olduğu zaman abonenin belirlediği 3. parti bir webservise bu olayla ilgili bilgilerin aktarılmasına yarayan geliştirme aracıdır. Bu konu biraz teknik bir konu olduğundan örneklerle açıklamak istiyorum;
Örnek 1 – Firmanıza bir faks geldiği zaman webkancaları sizlerin CRM yazılımınıza bunu anlık bildirir.
Örnek 2 – Bir arama başladığı zaman webkancaları hangi numara, hangi numarayı aradığı bilgisini anlık olarak bildirir.
Buradaki önemli olan konu webkancalarının anlık olarak çalışmasıdır. Aşağıdaki resimde Bulutfon webkancalarının hangi olaylarda bildirim yaptığını görebilirsiniz.
Bulutfon Sisteminin Desteklediği Webkancaları
API
Bulutfon 3 parti yazılımlarla özelliklerini ve verilerini paylaşabilmek için API‘ye sahiptir. API ile ilgili dokümanları API sayfamızdan bulabilirsiniz. Ayrıca Bulutfon ile kendi yazılımlarını entegre eden geliştirici topluluğumuzun bulunduğu bir forum sitemiz mevcuttur. Bu forum sitesiyle diğer geliştiricilerle deneyimlerinizi paylaşabilir, onların deneyimlerinden faydalanabilirsiniz.
Peki Bulutfon API’si telefon CRM entegrasyonunda hangi amaçlarla kullanacağız?
Webkancalarından gelen bir çağrının tüm detayını öğrenebiliriz
Çağrının görüşme kaydını dinlemek için API’den stream yapılan URL’i alabiliriz
Olurda webkancalarında Bulutfon’dan veya CRM sisteminden kaynaklı bir hata olursa sağlama yapma amaçlı API’yi kullanabiliriz.
Adım Adım Entegrasyon
Veritabanı Yapısının Kurgulanması
Telefon CRM entegrasyonu için ilk önce veritabanımızı buna göre ayarlamamız gerekmektedir. Bu konuyla ilgili sizlerle aşağıdaki taslak veritabanını şablonunu paylaşıyorum.
Telefon CRM Entegrasyonu Taslak Veritabanı
Yukarıdaki taslak veritabanında user ve contact tabloları hali hazırda CRM yazılımında olması gereken tablolardır. Bu tabloların yanına call ve contact_call_relation tabloları eklenecektir. Telefon CRM entegrasyonu için önerdiğimiz şablon veri tabanı için tabloları tek tek inceleyelim.
Call Tablosu
Alan
Tipi
Açıklama
user_id
int
Aramalar kullanıcılarla ilişkilidir. Aramalar kullanıcılar tarafından başlatılabilir veya cevaplanabilir. (Boş olabilir)
id*
int
Her çağrının sizin veritabanınızdaki tekil IDsi.
uuid*
uuid
Her çağrının Bulutfon tarafından verilen tekil UUIDsi
direction*
enum
Gelen çağrı, giden çağrı, santral içinde
caller*
string
Arayan numara. E164 standartındadır. Örneğin 905431231234 gibi
callee*
string
Aranan numara. E164 standartındadır.
extension
int(4)
İç hat dahili numarası (Boş olabilir.)
call_time*
timestamp
Aranma zamanı
answer_time
timestamp
Cevaplanma zamanı (Boş olabilir.)
hangup_time*
timestamp
Görüşmenin bitme zamanı
call_record
string
Görüşmenin kaydının URL’si (Boş olabilir.)
hangup_cause
string
Görüşme kapanma nedeni (Boş olabilir.)
duration
int
Saniye cinsinden görüşme süresi (Boş olabilir.)
created_at
timestamp
updated_at
timestamp
Call Tablosu
Contact_Call_Relation Tablosu
Alan
Tipi
Açıklama
contact_id
int
Kişi (veya firma) ID’si
call_id
int
Aramanın ID’si
Kişi Arama İlişki Tablosu
Veritabanı yapısı kendi CRM kurallarınıza göre değişiklik gösterebilir. Örneğin rehberinizde kişi ve firmaların telefon bilgileri tekil ise Contact_Call_Relation tablosu yerine bir çağrı sadece bir kişi ile ilişkili olabileceğinden CALL tablosuna contact_id’yi eklemeniz yeterli olacaktır ancak bir çok CRM’de bir telefon numarası birden fazla kişi, firma ile ilişkili olabilir.
Webkancaların Ayarlanması
Veritabanı ayarlandıktan sonra ikinci olarak webkancalarını ayarlamamız gerekiyor. Telefon CRM Entegrasyonu Webkancaları
Yukarıdaki ayar yapılınca, seçilen santral numarası için URL kısmında bulunan webservise gelen ve giden arama başlangıcında aşağıdaki aşağıdaki JSON POST edilmektedir.
Gelişticinin yapması gereken yukarıdaki JSON’ı alıp call ve contact_call_relation tablosuna ilgili verileri yazmaktır. Unutmayalım ki telefon CRM entegrasyonu sadece çağrıları kayıt etmek değil bunlar mevcut rehber ve kullanılarla ilişkilendirmekle ilgilidir. Bu bağlamda burada bulunan verileri ayrıca inceleyelim;
event_type Webkancasının hangi olayı size bildiriğini görürsünüz. call_init çağrı başlama olayıdır.
caller Arama yapan telefon numarasıdır. Gelen bu gelen bir çağrı ise bu numara rehberinizdeki kişi, firmanın iken, giden bir aramada sizin firmanıza aittir.
callee Aranan telefon numarasıdır. Giden çağrıda bu rehberinizdeki kişi veya firma iken, gelen çağrıda firmanıza ait numaradır.
uuid Çağrının tekil ID’sidir. Bu UUID ileride çağrının daha detaylı bilgilerini API’den almanıza yarayacaktır.
direction Çağrı gelen bir çağrı mı, giden bir çağrı mı, santral içinde yapılan bir çağrı mı bunları gösterir.
timestamp Çağrının başladığı zamanı gösterir. Veritabanındaki call_time olarakta düşünebilirsiniz.
İlgili webservisiniz adım adım aşağıdaki işlemleri yapmalıdır.
caller, callee, uuid, direction timestamp (call_time) bilgilerini call tablosuna yazmalıdır.
Eğer çağrı gelen bir çağrı ise (yani direction IN ise) caller’ı (yani arayan numarayı), çağrı giden bir çağrı ise (yani direction OUT ise) callee numarası rehberdeki numaradır. Bu numarayı rehber tablosundan aratıp ilişkili kişileri çağrı ile birlikte contact_call_relation tablosuna yazacağız.
API ile Çağrı Detayına Ulaşılması
Görüşme detayına ulaşmak için API dokümanının ilgili bölümüne göz atabilirsiniz. Burada sizlerin ihtiyaç duyacağı toplam 4 adet parametre vardır.
Parametre
Açıklama
Veri tipi
Örnek
year
Görüşmenin yapıldığı yıl
string
2019
month
Görüşmenin yapıldığı ay
string
05
day
Görüşmenin yapıldığı gün
sting
01
uuid
Çağrıya ait uuid
string
3bfed4b1-1602-4c39-b445-uuid
Bu dört parametreyi API Token ile birlikte https://api.bulutfon.com/v2/cdr/:year/:month/:day/:uuid?apikey=api-token adresine GET yöntemiyle istekte bulunursanız, aşağıdaki şekilde bir JSON’a erişirsiniz. Aşağıdaki JSON verisiyle telefon CRM entegrasyonu için gerekli olan diğer bilgileri bulabilirsiniz.
Yukarıdaki JSON’da dikkat etmeniz gereken bir kaç konuya değinmek istiyorum.
UUID her çağrı için tekildir. Call tablonuzdaki UUID’den bu çağrının call tablosundaki hangi çağrı olduğunu bulabilirsiniz. Eğer yoksa yeni bir çağrı olarak ekleyebilirsiniz.
call_type çağrının tipini gösterir. Bu alan fax ise görüşme değil faks ile ilgili bir veridir. Kayıt edip etmemek size kalmıştır.
caller_extension aramayı başlatan dahili (iç hat) numarasıdır. Gelen çağrılarda boş olur.
callee_extension aramayı en son cevaplayan dahili (iç hat) numarasıdır. Giden numaralarda ve hiç bir dahili telefonu cevaplamadıysa boş olur.
call_record çağrıyla ilgili ses kaydının URL’dir. Buradaki URL güvenlik gerekçesiyle belli bir süre geçerlidir. Her istek yapıldığında yeni bir URL oluşturulmaktadır. O yüzden URL’yi kayıt etmek yerine sadece çağrı kayıdı var yoktu kaydetmek mantıklıdır.
API’ye istek yapıldıktan sonra aşağıdaki işlemler yapılmalıdır.
Çağrıyı başlatan veya sonlandıran dahili bilgisinden hangi kullanıcı olduğu tespit edilmelidir. Bulutfon’da dahililer 1000-1001 gibi dört haneli bir sayıyla temsil edilirler. İsterseniz user tablosuna dahili numarası eklenebilir, isterseniz API üzerinden dahiliyi listeleyerek kullanıcıyı bulabilirsiniz. Call tablosundaki kullanıcı bölümünü güncellemelisiniz.
Yukarıda bahsettiğimiz API, Webkancaları, BulutfonXM vb özellikler Bulutfon santral sisteminin özellikleridir. IP telefon ise sadece bir istemcidir. Bir santral sisteminin sunduğu özellikleri barındırması pek mümkün gözükmüyor.
Şahsi görüşüm bu tarz CRM entegrasyonu vb özellikleri IP telefon tarafında değil santral tarafında çözülmesidir. IP telefonların yazılımının güncellenmesi, değiştirilmesi kolay olmayacaktır.
Bulutfon A.Ş. olarak internet sitemizi geliştirmek, etkili, güvenli ve sizin için daha kullanışlı olmasını sağlamak amacıyla çerezler kullanıyoruz. Sitemizi kullanarak, çerez kullanımına izin vermektesiniz.TamamDetaylı bilgi
Merhaba,
Yealink T48S IP telefonu santral olmadan CRM ile entegre çalıştırabilir miyiz?
Sezgin bey merhaba,
Yukarıda bahsettiğimiz API, Webkancaları, BulutfonXM vb özellikler Bulutfon santral sisteminin özellikleridir. IP telefon ise sadece bir istemcidir. Bir santral sisteminin sunduğu özellikleri barındırması pek mümkün gözükmüyor.
Şahsi görüşüm bu tarz CRM entegrasyonu vb özellikleri IP telefon tarafında değil santral tarafında çözülmesidir. IP telefonların yazılımının güncellenmesi, değiştirilmesi kolay olmayacaktır.
Kolay gelsin.