JivoChat Geliştiriciler için API

JivoChat geliştiricilere iki tip entegrasyon aracı sunar:

Ziyaretçi tarafı — sohbet penceresi JavaScript API’si ziyaretçiye gösterdiğiniz sohbet penceresini yönetmenize yarar. Ayrıca, sohbet penceresinin bulunduğu sayfadaki ya da oturumdaki herhangi bir bilgiyi, JivoChat temsilci uygulamasına, ziyaretçiyle eşleyerek göndermeye yarar (örneğin, giriş yapmış kullanıcıya dair bilgi sohbet ekranında temsilciye gösterilebilir ve bu bilgi arşive de kaydedilecektir).

Sunucu tarafı — Webhook APIsi, sohbetin başlangıcı ya da bitişi ile ilgili sunucu tarafınıza bildirim alabilmenizi sağlar. Ayrıca Webhooklar, JivoChat temsilci uygulamasında, kullanıcıya dair ekstra bilgiler gösterebilmenize olanak tanır.

Dokümantasyonda herhangi bir hata bulursanız, lütfen bize jivochat.com.tr

JavaScript API

JivoChat, sayfadaki bir olayı bildirebilmek için aşağıda listelenen işlevleri kullanır. Bu işlevlerden herhangi birini sayfada beyan edebilir ve gerçekleşen olayın işlenmesi için bir mantık yürütebilirsiniz. Örneğin, jivo_onIntroduction olayında, bir müşteri tarafından girilen iletişim bilgilerini alabilirsiniz.

Callback fonksiyonları

AlanTipAçıklama
jivo_onLoadCallback function JivoChat sohbet penceresi yüklendiğinde çalışır
jivo_onOpen function Sohbet penceresi açıldığında çalışır
jivo_onMessageSent function Ziyaretçi ilk mesajını gönderdiğinde çalışır
jivo_onAccept function Temsilci yeni sohbet geldiğinde Kabul Et butonuna tıklayarak sohbeti kabul ettiğinde çalışır
jivo_onClose function Sohbet penceresi kapatıldığında çalışır
jivo_onIntroduction function Ziyaretçi iletişim bilgileri formunu doldurduğunda çalışır
jivo_onResizeCallback function Sohbet penceresinin boyutu ziyaretçi tarafından değiştirildiğinde çalışır
jivo_onCallStart function Ziyaretçi telefon çağrısı talep ettğinde ve çağrı başlatıldığında çalışır
jivo_onCallEnd function Ziyaretçinin talep ettiği telefon çağrısı sonlandığında çalışır
jivo_onChangeState function Sohbet penceresinin durum bilgisi değiştiğinde çalışır

JavaScript API - jivo_onCallEnd

Ziyaretçinin talep ettiği telefon çağrısı sonlandığında çalışır.

Değişkenler

AlanTipAçıklama
result opsiyonel object Geri-arama sonucu
 function jivo_onCallEnd(res) {
    if (res.result == 'ok') {
        // call finished successfully
    }
    if (res.result == 'fail') {
        // call finished with errors or can not started
        console.log(res.reason); // reason for the unsuccessfull call
    }
} 

JavaScript API - jivo_onChangeState

Sohbet penceresinin durum bilgisi değiştiğinde çalışır.

Değişkenler

AlanTipAçıklama
state string Current state of the widget
 function jivo_onChangeState(state) {
    if (state == 'chat') {
        // widget is in the chat state
    }
    if (state == 'call' || state == 'chat/call') {
        // callback form is opened
    if (state == 'label' || state == 'chat/min'){
        // widget is minimized
    }
} 

JavaScript API - open

Bu yöntem ile sohbet penceresini açabilirsiniz.

jivo_api.open({start: 'call'}): formu geri-arama için bir telefon numarası girme alanı ile açar

JavaScript API - close

Bu yöntem ile sohbet penceresini kapatabilirsiniz.

JavaScript API - chatMode

Bu yöntem ile anlık sohbet durumunu (çevrimiçi/çevrimdışı) alabilirsiniz.

JavaScript API - getContactInfo

İletişim bilgileri formuna ziyaretçinin bıraktığı bilgiyi contact_info yapısı ile okuyabilirsiniz.

JavaScript API - getVisitorNumber

JivoChat’tin ziyaretçiye atadığı eşsiz numarayı almak için asenkronize fonksiyon. Ziyaretçiler, kanalınız için, sıralı bir şekilde numaralanır: 1,2,3 vb. Ziyaretçi numarası, temsilci iletişim bilgisi bırakmadığında, temsilci uygulamasında gözükecektir ve daha sonra arşivde ilgili ziyaretçiyi numarası ile bulabilirsiniz. Ayrıca CRM verinizle bu veriyi bağlayabilirsiniz.

JavaScript API - setContactInfo

Ziyaretçinin iletişim bilgilerini ayarlar. Atayacağınız iletişim bilgisi, tıpkı ziyaretçi bırakmışçasına, temsilci uygulamasında temsilciler tarafından görülebilecektir. Eğer sitenize giriş yapılabiliyorsa, giriş ardından oturumdaki ziyaretçi bilgisini, bu yöntemle JivoChat’e gönderebilir, bu sayede temsilcilerinizi kiminle konuştuğu hakkında bilgilendirebilirsiniz.

Değişkenler

AlanTipAçıklama
name string Ziyaretçinin adı
email string Ziyaretçinin e-posta adresi
phone string Ziyaretçinin telefon numarası
description string Ziyaretçiye dair ek bilgiler
 jivo_api.setContactInfo({
    "name": "John Smith",
    "email": "email@example.com",
    "phone": "+14084987855",
    "description": "Description text"
 }); 

JavaScript API - setCustomData

Bu yöntemi kullanarak, müşteri hakkında herhangi bir ek bilgiyi temsilci uygulamasına gönderebilirsiniz. Bu bilgi, temsilci uygulamasında sohbet ekranının sağ tarafında bulunan bilgi panelinde gösterilecektir. Yöntem, istediğiniz kadar çok çağrılabilir. Sohbet esnasında, temsilci uygulamasındaki bilgiler gerçek zamanlı olarak güncellenir. Alanlar, 'fields' dizisindeki ile aynı sırada gösterilecektir.

setCustomData yöntemi, temsilci uygulamasına ziyaretçi hakkında ek bilgi göndermenin en kolay yoludur. Ancak, temsilciye aktarılan verilerin güvenilir olup olamayacağını aklınızda bulundurmanız gerekir - tarayıcı hata ayıklama araçlarını kullanan bir saldırgan bu bilgileri manipüle edebilir.

Güvenliği güvence altına almanız gerektiğinde daha güvenli bilgi aktarımı düzenlemek için setUserToken yöntemini ve Webhooksları kullanın.

Temsilciye gönderilen kimlik avı bağlantılarının olasılığını önlemek için, uygulamada Yönet – İlgili kanal altındaki Ayarlar butonu – Geliştiriciler için Entegrasyon Ayarları bölümünde “Güvenli URL” ayarlamanız gerekir ve bu sayede başka alanlara bağlantılar engellenir, temsilci bu zararlı bağlantıları görmez.

Veriler başarılı bir şekilde ayarlandıysa, yöntem {result: 'ok'} değerini döner ya da ayarlanamadıysa{result: 'fail', reason: Custom data must be array.'} değerini döner.

Değişkenler

AlanTipAçıklama
fields array Sohbete ek bilgilerin listesi

field

AlanTipAçıklama
content string Veri alanının içeriği
title string Veri alanı üstünde gösterilecek başlık
link string Veri alanına tıklandığında açılacak URL adresi
key string Veri alanının anahtarı, kolondan önceki kalın yazı
 jivo_api.setCustomData([
    {
        "title": "Actions",
        "content": "Add contact",
        "link": "..."
    },
    {
        "content": "Open customer profile",
        "link": "..."
    }
 ]); 

JavaScript API - setRules

Bu yöntemi kullanarak, tetikleyicilerin koşullarını transfer edilen koşullar ile değiştirebilirsiniz. Bu tür bir nesnenin örneğini, kanal ayarlarınızda tetikleyiciler bölümünde bulabilirsiniz, orada JSON yapısı düğmesine basın.

Değişkenler

AlanTipAçıklama
rules object Tetikleyici koşullarının JSON formatı
 jivo_api.setRules(rules); 

JavaScript API - setUserToken

Ziyaretçi kimliğini ayarlar. JivoChat bu tanımlayıcıyı herhangi bir şekilde işlemez, ancak her Webhooks etkinliğinde iletir. Bu şekilde, Webhook'ları işlerken bir site ziyaretçisini tanımlayabilirsiniz. Sahtekarlık olasılığını ortadan kaldırmak için tahmin edilmesi zor bir tanımlayıcı kullanmanızı öneririz.

Token ayarlandığında {result: 'ok', token: userToken} döner, ayarlanamadığında ise {result: 'fail', token: userToken || false};

Değişkenler

AlanTipAçıklama
token string Ziyaretçi numarası

JavaScript API - showProactiveInvitation

İstediğiniz anda özel tetikleyici metnini içeren sohbet penceresini açmak için bu yöntemi kullanın. Örneğin, müşteri çevrimiçi mağazanızdaki ürünleri ekledikten sonra tetikleyici metnini göstermek istiyorsanız bu yararlı olabilir. Sayfa açıldığında hemen davetiyeyi göstermek istiyorsanız, jivo_onLoadCallback içinde showProactiveInvitation işlevini çağırmanız gerekir (hepsini doğru sırayla başlatmak için).

Değişkenler

AlanTipAçıklama
invitation_text string Tetikleyici metni
department_id number Departman numarası (eğer kullanıyorsanız)
 jivo_api.showProactiveInvitation("How can I help you?"); 

JavaScript API - startCall

Yöntem, istediğiniz numaraya bir çağrı başlatmanıza izin verir (Geri-arama özelliği kurulu ve arama bakiyeniz yeterli ise).

Telefon numarası doğru biçimde ise ve aramayı başlatma isteği yapıldıysa yöntem {result: 'ok'} döndürür. Aksi takdirde, {result: 'fail', reason: 'Callback disabled’} döner.

Değişkenler

AlanTipAçıklama
phone string Aranacak numara
 jivo_api.startCall('+14084987855') 

JavaScript API - isCallbackEnabled

Çağrılar için müsait olunup olunmadığı bilgisini döner. Bu yöntem ile, geri-arama formunu açmadan önce geri-arama kanalının müsait olup olmadığını kontrol edebilirsiniz.

Yöntemin cevapları:
{result: 'fail', reason: 'Callback disabled'} – geri-aramalar devredışı.
{result: 'fail', 'Callback unavaiable'} – geri-arama diğer sebeplerle kullanılamıyor (mesai gün ya da saatleri dışı, zaten bir çağrıda).
{result: 'ok'} – geri-arama kanalı müsait.

Değişkenler

AlanTipAçıklama
callback function Sitede geri-aramaların uygunluğunu kontrol eden yöntem.
 jivo_api.isCallbackEnabled(function(res){
    console.log('isCallbackEnabled', res);

    if (res.result == 'ok') {
        jivo_api.open({start: 'call'});
    }
}); 

JavaScript API - sendOfflineMessage

Bu yöntem ile, kendinize direkt olarak bir çevrimdışı mesaj gönderebilirsiniz. Eğer değişkenler doğru tanımlandıysa {result: 'ok'} döner.

Hata durumunda {result: 'fail', error: errReason} döner, errReason gönderdiğiniz parametrelere dair hata mesajıdır, ya da neden çevrimdışı mesajın iletilemediğidir.

Değişkenler

AlanTipAçıklama
name string Ziyaretçinin adı
email string Ziyaretçinin e-posta adresi
phone string Ziyaretçinin telefon numarası
description string Ziyaretçiye dair ek açıklama
message string Çevrimdışı mesajın metni
 jivo_api.sendOfflineMessage(({
    "name": "John Smith",
    "email": "email@example.com",
    "phone": "+14084987855",
    "description": "Description text",
    "message": "Offline message"
 }); 

Webhooks

JivoChat sisteminde ziyaretçiler ile ilgili çeşitli etkinlikler hakkında bildirim almak için Webhookları (Web Kancaları) kullanın. Uygulamanızda, ilgili kanal ayarlarında, Geliştiriciler için Entegrasyon Ayarları kısmında, bir olay gerçekleştiğinde istek göndermek için bir HTTP(S) URL'si belirleyebilirsiniz.

POST isteği, JSON nesnesindeki olay bilgileriyle birlikte bir gövde olarak belirtilen URL'ye gönderilir.

Olay türü, 'event' yapısının event_name alanında belirtilir. Olaya bağlı olarak diğer bazı alanlar da iletilir.

Bazı olay türlerinde, sohbeti kabul eden temsilciye görüntülenecek veriler de gönderebilirsiniz. Bu, CRM bağlantıları için elzemdir.

Webhooks - call_event

Temsilcilere yeni arama geldiğinde veya mevcut aramada değişiklik olduğunda gönderilir.

Değişkenler

AlanTipAçıklama
event_name string Olay türü, varsayılan: call_event
chat_id number Sohbetin numarası
widget_id string Sohbetin geldiği kanalın sohbet penceresi numarası. Sohbet kodunda bulunabilir
visitor object Ziyaretçi hakkında bilgi içeren obje
agent object Temsilci hakkında bilgi içeren obje
department opsiyonel object Ziyaretçinin seçtiği departman hakkında bilgi içeren obje
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi
call object Çağrı hakkında bilgi içeren obje

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

agent

AlanTipAçıklama
id string Temsilci numarası
name string Temsilci adı
email string Temsilci epostası
phone opsiyonel string Temsilci telefonu

department

AlanTipAçıklama
id number Departman numarası
name string Departman adı

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

call

AlanTipAçıklama
type string Çağrı tipi: callback, incoming, outgoing (geri-arama, gelen, giden)
phone string Ziyaretçinin telefonu
status string Çağrı durumu: start, end, agent_connected, client_connected, error (başladı, bitti, temsilci bağlandı, ziyaretçi bağlandı, hata)
reason opsiyonel string Hata sebebi (eğer hata varsa)
record_url opsiyonel string Çağrının mp3 kaydına link (eğer çağrı bitmişse)

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "call_event",
    "chat_id": 8082,
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "agent": {
        "id": "2878",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "department": {
        "id": 260,
        "name": "Sales"
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    },
    "call": {
        "type": "callback",
        "phone": "+14084987855",
        "status": "end",
        "record_url": "http://example.com/record.mp3"
    }
} 

Webhooks - chat_accepted

Temsilci gelen sohbet talebinde ‘Kabul Et’e bastığında iletilir. Ziyaretçi hakkında bilinen tüm bilgi ve bazı temsilci bilgileri değişkenler ile iletilir. Ayrıca jivo_api.setUserToken kullanılırsa, atanmış ziyaretçi numarası da iletilir.

Eğer chat_accepted olayı contact_info içerirse, bu veri temsilciye tıpkı ziyaretçi iletişim formunu doldurmuşçasına gösterilir. Ayrıca bu iletişim bilgileri arşive sohbet kayıtları ile birlikte kaydedilir.

Değişkenler

AlanTipAçıklama
event_name string Olay türü, varsayılan: chat_accepted
chat_id number Sohbetin numarası
widget_id string Sohbetin geldiği kanalın sohbet penceresi numarası. Sohbet kodunda bulunabilir
visitor object Ziyaretçi hakkında bilgi içeren obje
agent object Temsilci hakkında bilgi içeren obje
department opsiyonel object Ziyaretçinin seçtiği departman hakkında bilgi içeren obje
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

agent

AlanTipAçıklama
id string Temsilci numarası
name string Temsilci adı
email string Temsilci epostası
phone opsiyonel string Temsilci telefonu

department

AlanTipAçıklama
id number Departman numarası
name string Departman adı

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

Cevap

AlanTipAçıklama
result string Sonuça dair açıklama. Eğer değer “OK” değilse, veri temsilciye iletilmez
custom_data array Ek veri alanları, setCustomData ile benzer
contact_info object İletişim bilgileri alanları, setContactInfo ile benzer
enable_assign boolean Ziyaretçiyi CRM'de kaydetmek için temsilciye buton gösterilip gösterilmeyeceğini belirleyen bayrak. Düğme, custom_data’da tüm alanların önünde görüntülenir.
crm_link string Ziyaretçinin CRM’deki kartının linki. Temsilciye custom_data’da tüm alanların altında ayrı bir buton olarak gösterilir.
page object Talebin oluştuğu sayfanın URLsi

custom_data

AlanTipAçıklama
title string Özelleştirilmiş alanın başlığı
content string Özelleştirilmiş alanın içeriği

contact_info

AlanTipAçıklama
name string Ziyaretçinin adı
phone opsiyonel string Ziyaretçinin telefonu
email opsiyonel string Ziyaretçinin e-postası

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "chat_accepted",
    "chat_id": 7861,
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "agent": {
        "id": "2878",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "department": {
        "id": 260,
        "name": "Sales"
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Cevap aşağıdaki JSON yapısındadır:

 {
    "result": "ok",
    "custom_data": [
        {
            "title": "Title",
            "content": "Content text"
        }
    ],
    "contact_info": {
        "name": "John Smith",
        "phone": "+14084987855",
        "email": "email@example.com"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Webhooks - chat_assigned

Temsilci sohbeti kabul ettikten sonra chat_accepted Webhook’u ile iletilmiş "crm_link" ile ziyaretçiyi CRM’e bağladığında gönderilen olay. Ziyaretçi hakkında bilinen tüm bilgi ve bazı temsilci bilgileri değişkenler ile iletilir. Ayrıca jivo_api.setUserToken kullanılırsa, atanmış ziyaretçi numarası da iletilir.

Cevap olarak sadece {"result": "ok ya da bir hata mesajı"} beklenir.

Değişkenler

AlanTipAçıklama
event_name string Olay türü, varsayılan: chat_assigned
chat_id number Sohbetin numarası
widget_id string Sohbetin geldiği kanalın sohbet penceresi numarası. Sohbet kodunda bulunabilir
visitor object Ziyaretçi hakkında bilgi içeren obje
agent object Temsilci hakkında bilgi içeren obje
department opsiyonel object Ziyaretçinin seçtiği departman hakkında bilgi içeren obje
assign_to string CRM bağlantı linki, chat_accepted ile iletilmiş
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

agent

AlanTipAçıklama
id string Temsilci numarası
name string Temsilci adı
email string Temsilci epostası
phone opsiyonel string Temsilci telefonu

department

AlanTipAçıklama
id number Departman numarası
name string Departman adı

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

Cevap

AlanTipAçıklama
result string Sonuca dair metin ("OK" veya "FAILURE").

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "chat_assigned",
    "chat_id": 3006,
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "agent": {
        "id": "2878",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "department": {
        "id": 260,
        "name": "Sales"
    },
    "assign_to": "...",
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Cevap aşağıdaki JSON yapısındadır:

 {
    "result": "ok"
} 

Webhooks - chat_finished

Temsilci, uygulama sohbeti terkettiğinde gönderilen olay. Ziyaretçi hakkında bilinen tüm bilgi ve bazı temsilci bilgileri değişkenler ile iletilir. Ayrıca jivo_api.setUserToken kullanılırsa, atanmış ziyaretçi numarası da iletilir.

Cevap olarak sadece {"result": "ok ya da bir hata mesajı"} beklenir.

Değişkenler

AlanTipAçıklama
event_name string Olay tipi, varsayılan: chat_finished
chat_id number Sohbetin numarası
widget_id string Sohbetin geldiği kanalın sohbet penceresi numarası. Sohbet kodunda bulunabilir
visitor object Ziyaretçi hakkında bilgi içeren obje
agents array Sohbete dahil olmuş temsilciler hakkında bilgi içeren dizi, agent objelerini içerir
department opsiyonel object Ziyaretçinin seçtiği departman hakkında bilgi içeren obje
chat object Tamamlanmış sohbet hakkında bilgi
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

agent

AlanTipAçıklama
id string Temsilci numarası
name string Temsilci adı
email string Temsilci epostası
phone opsiyonel string Temsilci telefonu

department

AlanTipAçıklama
id number Departman numarası
name string Departman adı

chat

AlanTipAçıklama
messages array Sohbet mesajlarını içeren dizi, message objelerini içerir
rate string Ziyaretçinin puanlaması: positive | negative | null (pozitif, negatif, puanlamamış)
blacklisted boolean Ziyaretçinin kara listeye eklenip eklenmediği

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

message

AlanTipAçıklama
timestamp number Alınan mesajın zaman damgası
type string Mesaj tipi (visitor – mesaj ziyaretçiden, agent – mesaj temsilciden)
agent_id number Mesajı gönderen temsilcinin numarası (eğer type = agent ise)
blacklisted opsiyonel boolean Ziyaretçinin kara listeye eklenip eklenmediği

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

Cevap

AlanTipAçıklama
result string Sonuca dair metin ("OK" veya "FAILURE").

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "chat_finished",
    "chat_id": 9230,
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "agents": [
        {
            "id": "2878",
            "name": "Thomas Anderson",
            "email": "agent@jivosite.com",
            "phone": "+14083682346"
        }
    ],
    "department": {
        "id": 260,
        "name": "Sales"
    },
    "chat": {
        "messages": [
            {
                "timestamp": 1431955090,
                "type": "agent",
                "agent_id": 1351,
                "blacklisted": false
            }
        ]
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Cevap aşağıdaki JSON yapısındadır:

 {
    "result": "ok"
} 

Webhooks - chat_updated

Ziyaretçinin iletişim bilgileri güncellendiğinde gönderilecek olay – örneğin ziyaretçi sohbet esnasında iletişim bilgileri formunu doldurursa. Ziyaretçi hakkında bilinen tüm bilgi ve bazı temsilci bilgileri değişkenler ile iletilir. Ayrıca jivo_api.setUserToken kullanılırsa, atanmış ziyaretçi numarası da iletilir.

Cevap olarak sadece {"result": "ok ya da bir hata mesajı"} beklenir.

Değişkenler

AlanTipAçıklama
event_name string Olay türü, varsayılan: chat_assigned
chat_id number Sohbetin numarası
widget_id string Sohbetin geldiği kanalın sohbet penceresi numarası. Sohbet kodunda bulunabilir
visitor object Ziyaretçi hakkında bilgi içeren obje
agent object Temsilci hakkında bilgi içeren obje
department opsiyonel object Ziyaretçinin seçtiği departman hakkında bilgi içeren obje
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

agent

AlanTipAçıklama
id string Temsilci numarası
name string Temsilci adı
email string Temsilci epostası
phone opsiyonel string Temsilci telefonu

department

AlanTipAçıklama
id number Departman numarası
name string Departman adı

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

Cevap

AlanTipAçıklama
result string Sonuca dair metin ("OK" veya "FAILURE").

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "chat_updated",
    "chat_id": 3295,
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "agent": {
        "id": "2878",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "department": {
        "id": 260,
        "name": "Sales"
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Cevap aşağıdaki JSON yapısındadır:

 {
    "result": "ok"
} 

Webhooks - offline_message

Ziyaretçi çevrimdışı iletişim formu ile bir mesaj gönderdiğinde gönderilecek olay. Ziyaretçi hakkında bilinen tüm bilgi ve bazı temsilci bilgileri değişkenler ile iletilir. Ayrıca jivo_api.setUserToken kullanılırsa, atanmış ziyaretçi numarası da iletilir.

Cevap olarak sadece {"result": "ok ya da bir hata mesajı"} beklenir.

Değişkenler

AlanTipAçıklama
event_name string Olay tipi, varsayılan: offline_messages
widget_id string Talebin oluştuğu sayfanın URLsi
visitor object Ziyaretçi hakkında bilgi içeren obje
offline_message_id string Çevrimdışı mesajın numarası
message string Çevrimdışı mesaj
session object Ziyaretçi oturumu hakkında bilgi içeren obje
page object Talebin oluştuğu sayfanın URLsi

visitor

AlanTipAçıklama
name opsiyonel string Ad
email opsiyonel string Eposta
phone opsiyonel string Telefon
number string Ziyaretçinin numarası
description string Ziyaretçi hakkında ek bilgi
social opsiyonel object Ziyaretçinin sosyal ağ profilleri bilgisi
chats_count number Ziyaretçinin mesajlarının sayısı

session

AlanTipAçıklama
geoip object Coğrafi IP verisi
utm string (artık kullanılmıyor, utm_json’ı kullanın)
utm_json object UTM parametreleri verisini içeren obje
ip_addr string Ziyaretçinin IP adresi
user_agent string Ziyaretçinin tarayıcı bilgisi

page

AlanTipAçıklama
url string Ziyaretçinin bulunduğu URL adresi
title opsiyonel string Ziyaretçinin bulunduğu sayfanın başlığı

geoip

AlanTipAçıklama
region_code string Bölge kodu
country string Ülke adı
country_code string ISO ülke kodu
region string Bölge
city string Şehir
region string Bölge
latitude string Enlem
longitude string Boylam
organization string Şirket adı

utm_json

AlanTipAçıklama
source opsiyonel string utm_source değeri
campaign opsiyonel string utm_campaign değeri
content opsiyonel string utm_content değeri
medium opsiyonel string utm_medium değeri
term opsiyonel string utm_term değeri

Cevap

AlanTipAçıklama
result string Sonuca dair metin ("OK" veya "FAILURE").

İstek aşağıdaki gibi yapıdadır:

 {
    "event_name": "offline_message",
    "widget_id": "2309",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "3403",
        "description": "Description text",
        "social": {},
        "chats_count": 9
    },
    "offline_message_id": "3364",
    "message": "Message text",
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "source=google|medium=cpc|content=banner|campaign=campaign_name",
        "utm_json": {
            "source": "google",
            "campaign": "campaign_name",
            "content": "banner",
            "medium": "cpc",
            "term": "..."
        },
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Cevap aşağıdaki JSON yapısındadır:

 {
    "result": "ok"
}