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ı
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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.
jivo_api.getVisitorNumber(function(err, visitor_number){
console.log(visitor_number);
});
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
Alan | Tip | Açıklama |
---|---|---|
name | string | Ziyaretçinin adı |
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
Alan | Tip | Açıklama |
---|---|---|
fields | array | Sohbete ek bilgilerin listesi |
field
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
name | string | Ziyaretçinin adı |
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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
id | int | Temsilci numarası |
name | string | Temsilci adı |
string | Temsilci epostası | |
phone opsiyonel | string | Temsilci telefonu |
department
Alan | Tip | Açıklama |
---|---|---|
id | number | Departman numarası |
name | string | Departman adı |
session
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
call
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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": 8470,
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"agent": {
"id": "3586",
"name": "Thomas Anderson",
"email": "agent@jivosite.com",
"phone": "+14083682346"
},
"department": {
"id": 266,
"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"
},
"analytics": {}
}
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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
id | int | Temsilci numarası |
name | string | Temsilci adı |
string | Temsilci epostası | |
phone opsiyonel | string | Temsilci telefonu |
department
Alan | Tip | Açıklama |
---|---|---|
id | number | Departman numarası |
name | string | Departman adı |
session
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
geoip
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
title | string | Özelleştirilmiş alanın başlığı |
content | string | Özelleştirilmiş alanın içeriği |
contact_info
Alan | Tip | Açıklama |
---|---|---|
name | string | Ziyaretçinin adı |
phone opsiyonel | string | Ziyaretçinin telefonu |
email opsiyonel | string | Ziyaretçinin e-postası |
page
Alan | Tip | Açı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": 5125,
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"agent": {
"id": "3586",
"name": "Thomas Anderson",
"email": "agent@jivosite.com",
"phone": "+14083682346"
},
"department": {
"id": 266,
"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"
},
"analytics": {}
}
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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
id | int | Temsilci numarası |
name | string | Temsilci adı |
string | Temsilci epostası | |
phone opsiyonel | string | Temsilci telefonu |
department
Alan | Tip | Açıklama |
---|---|---|
id | number | Departman numarası |
name | string | Departman adı |
session
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
geoip
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
result | string | Sonuca dair metin ("OK" veya "FAILURE"). |
İstek aşağıdaki gibi yapıdadır:
{
"event_name": "chat_assigned",
"chat_id": 3417,
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"agent": {
"id": "3586",
"name": "Thomas Anderson",
"email": "agent@jivosite.com",
"phone": "+14083682346"
},
"department": {
"id": 266,
"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"
},
"analytics": {}
}
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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
id | int | Temsilci numarası |
name | string | Temsilci adı |
string | Temsilci epostası | |
phone opsiyonel | string | Temsilci telefonu |
department
Alan | Tip | Açıklama |
---|---|---|
id | number | Departman numarası |
name | string | Departman adı |
chat
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
message
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
result | string | Sonuca dair metin ("OK" veya "FAILURE"). |
İstek aşağıdaki gibi yapıdadır:
{
"event_name": "chat_finished",
"chat_id": 7063,
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"agents": [
{
"id": "3586",
"name": "Thomas Anderson",
"email": "agent@jivosite.com",
"phone": "+14083682346"
}
],
"department": {
"id": 266,
"name": "Sales"
},
"chat": {
"messages": [
{
"timestamp": 1431955090,
"type": "agent",
"agent_id": 3953,
"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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
id | int | Temsilci numarası |
name | string | Temsilci adı |
string | Temsilci epostası | |
phone opsiyonel | string | Temsilci telefonu |
department
Alan | Tip | Açıklama |
---|---|---|
id | number | Departman numarası |
name | string | Departman adı |
session
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
geoip
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
result | string | Sonuca dair metin ("OK" veya "FAILURE"). |
İstek aşağıdaki gibi yapıdadır:
{
"event_name": "chat_updated",
"chat_id": 4148,
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"agent": {
"id": "3586",
"name": "Thomas Anderson",
"email": "agent@jivosite.com",
"phone": "+14083682346"
},
"department": {
"id": 266,
"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"
},
"analytics": {}
}
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
Alan | Tip | Açı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 |
analytics opsiyonel | object | Analitiği |
visitor
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
url | string | Ziyaretçinin bulunduğu URL adresi |
title opsiyonel | string | Ziyaretçinin bulunduğu sayfanın başlığı |
geoip
Alan | Tip | Açı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
Alan | Tip | Açı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
Alan | Tip | Açıklama |
---|---|---|
result | string | Sonuca dair metin ("OK" veya "FAILURE"). |
İstek aşağıdaki gibi yapıdadır:
{
"event_name": "offline_message",
"widget_id": "2631",
"visitor": {
"name": "John Smith",
"email": "email@example.com",
"phone": "+14084987855",
"number": "2002",
"description": "Description text",
"social": {},
"chats_count": 2
},
"offline_message_id": "2312",
"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"
},
"analytics": {}
}
Cevap aşağıdaki JSON yapısındadır:
{
"result": "ok"
}