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.
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.
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 |
Contact_Call_Relation Tablosu
Alan | Tipi | Açıklama |
---|---|---|
contact_id | int | Kişi (veya firma) ID’si |
call_id | int | Aramanın ID’si |
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. 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; İlgili webservisiniz adım adım aşağıdaki işlemleri yapmalıdır. 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. Bu dört parametreyi API Token ile birlikte Yukarıdaki JSON’da dikkat etmeniz gereken bir kaç konuya değinmek istiyorum. API’ye istek yapıldıktan sonra aşağıdaki işlemler yapılmalıdır. Bu makalede aşağıdaki konulara değindik ve önerilerde bulunduk. Bundan sonraki blog yazımızda elimizi kirletip bir kaç örnek kod yazacağız.{
"event_type": "call_init",
"caller": 90532000000,
"callee": 908508850000,
"uuid": "f615986c-2001-11e5-bdee-6599352d46ce",
"direction": "IN",
"timestamp": 1435762851086820
}
call_init
çağrı başlama olayıdır.contact_call_relation
tablosuna yazacağız.API ile Çağrı Detayına Ulaşılması
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 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.{
"uuid":"3bfed4b1-1602-4c39-b445-uuid",
"call_type":"voice",
"direction":"OUT",
"caller":"902165990599",
"callee":"905320000000",
"duration":21,
"caller_extension":"1011",
"callee_extension":null,
"call_time":"2020-10-12T18:08:17.000Z",
"answer_time":null,
"hangup_time":"2020-10-12T18:08:38.000Z",
"call_record":"https://docker1.bulutfon.com/bulutfon-production/recordings/2/2020/10/12/3bfed4b1-1602-4c39-b445-uuid&token-etc",
"hangup_cause":"ORIGINATOR_CANCEL"
}
Telefon CRM Entegrasyonu Makalesinin Sonucu
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.