Özel Kanallar
Özel kanalları kullanarak herhangi bir mesajlaşma platformunu veya iletişim aracını platforma bağlayın. Bu, web sitesi canlı sohbet araçları, e-posta sistemleri, CRM’ler veya diğer herhangi bir hizmet gibi platformlardan gelen mesajları gelen kutunuza getirmenize ve bunlara AI Temsilcinizle yanıt vermenize olanak tanır.
Özel Kanallar Nedir?
Özel kanallar, platformu yerleşik mesajlaşma platformlarının (WhatsApp, SMS, Instagram, Messenger) ötesine taşır. Özel kanallar ile şunları yapabilirsiniz:
- Mesajları alın: Herhangi bir harici platformdan gelen mesajları platformun birleşik gelen kutusuna aktarın.
- Yanıt gönderin: Uygulamadan harici platformunuza otomatik olarak yanıt gönderin.
- AI Temsilcisi kullanın: Herhangi bir kaynaktan gelen mesajları yanıtlamak için bir AI Temsilcisi kullanın.
- Tüm konuşmaları takip edin: Diğer kanallarınızla birlikte tek bir gelen kutusunda tüm konuşmaları izleyin.
Bu, özel iletişim araçları kullanan, özel olarak oluşturulmuş bir platforma sahip olan veya tüm müşteri mesajlarını tek bir yerde toplamak isteyen işletmeler için idealdir.
Not: Özel kanallar biraz teknik kurulum gerektirir. Siz veya ekibiniz teknik entegrasyonlar konusunda rahat değilseniz, bu bölüm için web geliştiricinizden veya BT ekibinizden yardım isteyebilirsiniz.
Nasıl Çalışır
Özel kanallar, harici platformunuz ile platform arasında web kancaları (internet üzerinden sistemler arasında gönderilen otomatik mesajlar) kullanarak mesaj alışverişi yaparak çalışır. İş akışı şu şekildedir:
Your Platform ──(sends message to)──> The App
|
AI Agent responds
Contact saved
Message stored
|
The App ──(sends reply to)──> Your Platform
- Gelen mesajlar: Harici platformunuz, bir web adresine (URL) mesaj gönderir. Bunu, platformunuzun platformun posta kutusuna bir mesaj “göndermesi” olarak düşünebilirsiniz.
- İşleme: Platform, kişiyi oluşturur veya günceller, mesajı saklar ve (etkinse) bir AI Temsilcisinin yanıt oluşturmasını sağlar.
- Giden mesajlar: Platform bir yanıt gönderdiğinde (AI tarafından veya sizin tarafınızdan yazılmış olsun), mesajı platformunuzdaki bir URL’ye gönderir ve sisteminiz bunu son kullanıcıya iletebilir.
Gelen Mesajları Ayarlama (Platformunuzdan Uygulamaya)
Harici platformunuzdan uygulamaya mesaj göndermek için, platformunuzun aşağıdaki URL’ye veri göndermesi gerekir. Geliştiriciniz bunu standart bir POST isteği (bir sistemin internet üzerinden diğerine veri göndermesinin yaygın bir yolu) olarak tanıyacaktır.
Mesajlar Nereye Gönderilmeli
POST https://api.youraiconnector.com/v1/incoming_custom_channel_message?apiKey=YOUR_API_KEY
YOUR_API_KEY kısmını API anahtarınızla (platformun, platformunuzun mesaj göndermesine izin verildiğini kanıtlayan özel bir kod) değiştirin. Bunu Ayarlar → Entegrasyonlar → API Anahtarı altında bulabilir veya oluşturabilirsiniz.
Mesaj Formatı
Mesaj verisini aşağıdaki formatta (JSON) gönderin:
{
"customData": {
"messageSid": "unique-message-id-123",
"fromId": "user-456",
"toId": "your-business-id",
"body": "Hello, I have a question about your service.",
"status": "received",
"channel": "my-live-chat",
"campaignId": "optional-campaign-id",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"mediaUrl": null,
"mediaContentType": null
},
"messageType": "text"
}
Her bir parçanın anlamı:
messageSid- Bu özel mesaj için benzersiz bir kimlik (sisteminiz tarafından oluşturulur). Aynı mesajın iki kez işlenmesini önlemek için kullanılır.fromId- Mesajı kimin gönderdiği (sisteminizdeki bir kullanıcı kimliği, e-posta veya telefon numarası olabilir).toId- İşletme tanımlayıcınız (seçeceğiniz herhangi bir etiket olabilir).body- Mesajın gerçek metni.channel- Mesajın nereden geldiğini tanımlamak için seçtiğiniz bir etiket (örneğin, “website-chat”, “email”).
Tam Alan Referansı
| Alan | Gerekli mi? | Ne İşe Yarar |
|---|---|---|
customData.messageSid veya customData.id |
Evet | Bu mesaj için benzersiz bir kimlik (yinelenenleri önler) |
customData.fromId |
Evet | Mesajı kimin gönderdiğini tanımlar (örneğin, sisteminizden bir kullanıcı kimliği, e-posta veya telefon numarası) |
customData.toId |
Evet | Alıcı tarafı (işletmenizi) tanımlar. Seçtiğiniz herhangi bir metin olabilir. |
customData.body |
Evet | Asıl mesaj metni. Boş olamaz. |
customData.status |
Hayır | Mesaj durumu. Varsayılanı ("received") kullanmak için bunu boş bırakın. |
customData.channel |
Hayır | Kaynak için bir etiket (örneğin, "live-chat", "email", "my-crm"). Mesajların gelen kutunuza nereden geldiğini belirlemenize yardımcı olur. |
customData.campaignId |
Hayır | Bir kampanya/Temsilci kimliği. Bunu, mesajı belirli bir AI yapılandırmasına yönlendirmek için kullanın. |
customData.firstName |
Hayır | Kişinin adı. Yeni bir kişi kaydı oluşturulurken dahil edilir. |
customData.lastName |
Hayır | Kişinin soyadı. Yeni bir kişi kaydı oluşturulurken dahil edilir. |
customData.email |
Hayır | Kişinin e-posta adresi. Yeni bir kişi kaydı oluşturulurken dahil edilir. |
customData.mediaUrl |
Hayır | Ekli bir dosyaya (resim, video, ses veya belge) bağlantı. Ayrıca base64 kodlu bir dosya da olabilir (aşağıya bakın). |
customData.mediaContentType |
Hayır | Dosya türü (örneğin, "image/jpeg", "video/mp4", "audio/ogg", "application/pdf"). mediaUrl dahil ederseniz gereklidir. |
messageType |
Hayır | Mesaj türü. Normal metin için boş bırakın. Emoji tepkileri için "reaction" olarak ayarlayın. |
Emoji Tepkileri
Platformunuz emoji tepkilerini destekliyorsa (örneğin bir mesaja başparmak yukarı işareti), bunları metin mesajı olarak değil, bir tepki olarak gönderin: messageType değerini "reaction" olarak ayarlayın ve customData.body içine yalnızca emojiyi koyun.
{
"messageType": "reaction",
"customData": {
"messageSid": "reaction-123",
"fromId": "user-42",
"toId": "my-business",
"body": "👍"
}
}
Asistan bunu beklediğiniz şekilde işler:
- Asistanın sorduğu bir soruya verilen tepki (örneğin “Perşembe günü uygun mu?”) cevap olarak kabul edilir ve asistan yanıt verir.
- Kapanış mesajına verilen bir tepki (örneğin “Yakında görüşürüz!”) konuşmayı sessizce sonlandırır. Yanıt gönderilmez.
Platformunuz tepkileri “Şununla tepki verildi: 👍” gibi metinlere dönüştürüyorsa, asistan bunu normal bir metin mesajı olarak görür ve yanıt verip vermeyeceğine kendisi karar verir. Tepki türünü göndermek bu durumu önler.
Ne Alırsınız
Başarılı bir istek şunları döndürür:
{
"success": true,
"messageId": "1234567890"
}
Bir şeyler ters giderse, sorunu açıklayan bir hata mesajı alırsınız:
{
"error": "Message body cannot be empty"
}
Durum Kodları
| Kod | Ne Anlama Gelir |
|---|---|
200 |
Başarılı - mesaj alındı ve işleniyor |
400 |
İsteğinizle ilgili bir sorun var - eksik zorunlu alanları veya boş mesaj gövdesini kontrol edin |
401 |
Geçersiz API anahtarı - anahtarı Ayarlar → Entegrasyonlar → API Anahtarı kısmından tekrar kontrol edin |
405 |
Yanlış istek yöntemi - GET değil, POST kullandığınızdan emin olun |
500 |
Platform tarafında bir şeyler ters gitti - birkaç dakika içinde tekrar deneyin |
Eğer
customData.statusayarını yaparsanız, kabul edilen tek değer"received"'dir — başka bir şey göndermek yerine varsayılanı kullanmak için bu alanı tamamen boş bırakın, aksi takdirde400hatası alırsınız.
Medya Ekleri Gönderme (Resimler, Videolar, Dosyalar)
Mesajlarınıza dosya ekleri (resimler, videolar, sesler, belgeler) dahil edebilirsiniz. Bunu yapmanın iki yolu vardır:
Seçenek 1: Dosyaya Bağlantı Verme
Dosya zaten çevrimiçi barındırılıyorsa, platformun onu indirebileceği URL’yi (web adresini) sağlayın:
{
"customData": {
"messageSid": "msg-789",
"fromId": "user-456",
"toId": "business-1",
"body": "Here is a photo of the issue.",
"channel": "support-portal",
"mediaUrl": "https://example.com/uploads/photo.jpg",
"mediaContentType": "image/jpeg"
},
"messageType": "text"
}
Seçenek 2: Dosyayı Doğrudan Gömme (Base64)
Dosya çevrimiçi barındırılmıyorsa, onu doğrudan mesajın içine kodlanmış metin (base64 formatı) olarak gömebilirsiniz. Bu, sisteminizin dosyaları anlık olarak oluşturduğu teknik entegrasyonlarda yaygındır. Platform, dosyayı otomatik olarak çözecek ve saklayacaktır:
{
"customData": {
"messageSid": "msg-790",
"fromId": "user-456",
"toId": "business-1",
"body": "Screenshot attached.",
"channel": "support-portal",
"mediaUrl": "data:image/png;base64,iVBORw0KGgo...",
"mediaContentType": "image/png"
},
"messageType": "text"
}
Not: Dosyaları doğrudan gömmek, ileti verisini çok daha büyük hale getirir. Büyük dosyalar için dosyayı çevrimiçi barındırmak ve bir bağlantı göndermek (Seçenek 1) daha iyidir.
Giden Mesajları Ayarlama (Platformdan Sizin Platformunuza)
Platform özel bir kanalda bir yanıt gönderdiğinde (AI tarafından veya sizin tarafınızdan yazılmış olsun), bu yanıtı otomatik olarak platformunuzdaki bir URL’ye gönderir, böylece sisteminiz bunu son kullanıcıya iletebilir.
Önce webhook URL’sini ayarlayın. Yanıtların iletilebilmesi için özel kanal webhook URL’sini kaydetmeniz gerekir. Hiçbir URL kaydedilmezse, yanıtlar yine de oluşturulur ve saklanır ancak asla gönderilmezler ve “Başarısız” durumu göstermezler, bu nedenle gelen kutunuzda sorunu işaretleyen hiçbir şey olmaz. Yayına girmeden önce her zaman webhook URL’sini yapılandırın.
Uygulamaya Yanıtların Nereye Gönderileceğini Söyleyin
- Sol kenar çubuğunda, en alttaki Ayarlar’a tıklayın.
- Ayarlar sol panelinde, Kanallar altında Kanallar’a tıklayın.
- Sayfanın en altında bulunan Özel kanal kartını bulun (Android SMS Ağ Geçidi, iMessage, web sitesi sohbet aracı, Twilio Hesabı ve Mevzuat uyumluluğunun ötesinde).
- Webhook URL’sini girin — AI’nın giden mesajları göndermesi gereken platformunuzdaki URL (geliştiriciniz bunu yanıtları almak ve işlemek için ayarlar). Bu, herkese açık bir HTTPS URL olmalıdır —
http://adresleri ve herkese açık olmayan ana bilgisayarlar reddedilir. - Kaydet’e tıklayın.
Platform Sizin Platformunuza Ne Gönderir
Platform bir yanıt gönderdiğinde, platformunuz aşağıdaki verileri alır:
{
"contactId": "abc123",
"messageId": "msg-456",
"userId": "your-user-id",
"body": "Thank you for your message! Here is the information you requested...",
"toId": "user-456",
"channel": "my-live-chat"
}
Her Alan Ne Anlama Gelir
| Alan | Ne İçerir |
|---|---|
contactId |
bu kişi için platformun dahili kimliği |
messageId |
Bu mesajın uygulamadaki benzersiz kimliği |
userId |
Kullanıcı kimliğiniz |
body |
Yanıt metni |
toId |
Kişinin platformunuzdaki kimliği (bu, gelen mesajda gönderdiğiniz fromId ile eşleşir) |
channel |
Atadığınız özel kanal etiketi |
Platformunuz bu verileri alır ve yanıtı kendi sisteminiz aracılığıyla son kullanıcıya iletmek için kullanır.
Platform Teslimatı Nasıl İzler
Yanıtı platformunuza gönderdikten sonra, platform mesaj durumunu günceller:
- Gönderildi - Platformunuz mesajı başarıyla aldı.
- Başarısız - Platformunuz bir hata döndürdü veya ulaşılamadı. Platform, sorun giderebilmeniz için hata ayrıntılarını mesajla birlikte saklar.
Sisteminizden Uygulamaya Mesaj Gönderme
Mesaj almanın yanı sıra, kendi sisteminizden doğrudan özel bir kanal aracılığıyla giden mesajlar da gönderebilirsiniz. Bu, bir konuşma başlatmak veya proaktif bir mesaj göndermek istediğinizde kullanışlıdır.
Plan gereksinimi. API aracılığıyla mesaj göndermek ve senkronize etmek, API erişimi ve en az bir mesajlaşma kanalı içeren bir plan gerektirir. Eğer
403“permission denied / feature not enabled” (izin reddedildi / özellik etkinleştirilmedi) hatası alırsanız, mevcut planınız bunu içermiyordur; planınızı yükseltin veya destek ekibiyle iletişime geçin.
Nereye Gönderilir
POST https://api.youraiconnector.com/v1/send_custom_channel_message?apiKey=YOUR_API_KEY
Mesaj Formatı
{
"customData": {
"fromId": "user-456",
"customChannel": "my-live-chat",
"body": "Hello! How can I help you today?",
"campaignId": "optional-campaign-id",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
}
}
Gerekli Alanlar
| Alan | Ne İşe Yarar |
|---|---|
customData.fromId |
Kişinin platformunuzdaki kimliği (ID) |
customData.customChannel |
Özel kanalınızın adı (örneğin, “my-live-chat”) |
customData.body |
Gönderilecek mesaj metni |
İsteğe bağlı alanlar (campaignId, firstName, lastName, email) gelen mesajlardakiyle aynı şekilde çalışır; platformun kişi kaydını oluşturmasına veya güncellemesine yardımcı olurlar.
Ne Alırsınız
{
"success": true,
"messageId": "generated-message-id",
"contactId": "contact-id",
"message": "Message sent successfully"
}
Başka Bir Sistemden Gönderilen Mesajları Kaydetme
Bazen bir kişiye zaten farklı bir araçtan (örneğin, başka bir platformdaki bir iş akışı) bir mesaj göndermiş olabilirsiniz ve AI’nın tam bağlama sahip olması için platformun bunu bilmesini isteyebilirsiniz. Bu, göndermekten farklıdır: platform mesajı kaydeder ancak kişiye yeniden iletmez.
Nereye Gönderilir
POST https://api.youraiconnector.com/v1/sync_custom_channel_message?apiKey=YOUR_API_KEY
customData.fromId (kişinin platformunuzdaki kimliği) ve customData.body (zaten gönderilmiş olan mesaj metni) bilgilerini ekleyin.
Nasıl Davranır
- Mesaj kaydedilir, yeniden gönderilmez. Platform bunu yalnızca bağlam için konuşmada saklar.
- AI, varsayılan olarak o kişide duraklatılır. Bu, botun bir insanın zaten ilgilendiği bir mesajın üzerine yanıt vermesini önler. Botu aktif tutmak için
customData.pauseAi: falsedeğerini iletin. - Yeni kişiler otomatik olarak oluşturulabilir.
customData.customChanneldeğerini dahil edin; kişi henüz mevcut değilse oluşturulacaktır. - Yinelenenler yoksayılır. Aynı
messageSiddeğerini tekrar kullanırsanız, platform mesajın zaten kaydedildiğini tanır ve hiçbir değişiklik yapmaz.
Plan gereksinimi. Mesaj göndermek gibi, API üzerinden mesaj kaydetmek de API erişimini ve en az bir mesajlaşma kanalını içeren bir plan gerektirir.
403“permission denied / feature not enabled” (izin reddedildi / özellik etkinleştirilmedi) hatası, mevcut planınızın bunu içermediği anlamına gelir.
Gerçek Dünya Örnekleri
Web Sitesi Canlı Sohbeti
Web sitenizdeki bir canlı sohbet aracını platforma bağlayın, böylece AI Temsilciniz ziyaretçi sorularını yanıtlayabilir:
- Bir ziyaretçi web sitenizin sohbet penceresine bir mesaj yazar.
- Sohbet pencereniz mesajı platforma gönderir.
- Yapay Zeka Temsilcisi bir yanıt oluşturur.
- Yanıt, ziyaretçiye göstermek üzere sohbet pencerenize geri gönderilir.
Neden faydalıdır: Web sitesi ziyaretçileriniz, sizin çevrimiçi olmanıza gerek kalmadan sorularına anında, yapay zeka destekli yanıtlar alırlar.
E-posta
E-posta görüşmelerini platform üzerinden yönlendirin, böylece Yapay Zeka Temsilciniz e-postalara yanıt verebilir:
- Gelen e-postaları platforma ileten bir sistem kurun (e-posta göndericisinin adresini
fromId, e-posta konusunu ve içeriğinibodyve"email"değerinichannelolarak kullanarak). - Yapay Zeka Temsilcisi e-postayı okur ve bir yanıt oluşturur.
- Yanıt, e-posta sisteminize geri gönderilir ve normal bir e-posta yanıtı olarak iletilir.
Neden faydalıdır: Yaygın e-posta soruları (fiyatlandırma, çalışma saatleri, uygunluk durumu) Yapay Zeka Temsilciniz tarafından anında yanıtlanır.
E-posta sisteminiz IMAP/SMTP veya OAuth destekliyorsa, yerleşik E-posta kanalı özel bir entegrasyondan daha basit olabilir.
CRM Entegrasyonu
Mevcut CRM (müşteri ilişkileri yönetimi) sisteminizi platforma bağlayın:
- Bir potansiyel müşteri CRM’iniz üzerinden mesaj gönderdiğinde, bunu platforma iletin.
- Yapay Zeka Temsilcisi yanıt verir ve görüşmeyi takip eder.
- Yapay Zeka yanıtı, iletilmek üzere CRM’inize geri gönderilir.
- Tüm görüşme geçmişi hem platformda hem de CRM’inizde mevcuttur.
Neden faydalıdır: Satış ekibiniz, CRM’lerinden ayrılmadan potansiyel müşterilere yapay zeka destekli yanıtlar verebilir.
Destek Talebi Sistemi
Platformu müşteri desteği için yapay zeka destekli bir ilk müdahale ekibi olarak kullanın:
- Destek bilet sisteminiz yeni destek taleplerini platforma iletir.
- Yapay Zeka Temsilcisi ilk yanıtı gönderir (örneğin, talebi aldığını onaylar ve açıklayıcı sorular sorar).
- Yanıt, destek sisteminizdeki ilgili bilete eklenir.
- Destek ekibiniz, Yapay Zeka’nın ne söylediğini inceleyebilir ve gerektiğinde kontrolü devralabilir.
Neden faydalıdır: Müşteriler, mesai saatleri dışında bile anında onay ve ilk yardımı alırlar.
Sorun Giderme
Platform Tarafından Alınmayan Mesajlar
- API anahtarınızın doğru ve etkin olduğunu doğrulayın (Ayarlar → Entegrasyonlar → API Anahtarı bölümünü kontrol edin).
- GET değil, POST isteği gönderdiğinizden emin olun. Yazılımcınız aradaki farkı bilecektir.
customData.bodyalanının boş veya sadece boşluk karakterlerinden oluşmadığını kontrol edin.customData.fromIdalanının dahil edildiğini doğrulayın.- Belirli hata ayrıntıları için yanıt mesajını okuyun.
Platformunuza Ulaşmayan Yanıtlar
- Platformunuzun URL’sini Kanallar sayfasındaki Özel kanal kartına girdiğinizden emin olun. Hiçbir URL kaydedilmezse, yanıtlar oluşturulur ve saklanır ancak asla gönderilmez; ayrıca bunlar “Başarısız” olarak işaretlenmeyecektir, bu yüzden önce bunu kontrol edin.
- URL’nin herkese açık erişilebilir olduğunu (bir giriş ekranı veya güvenlik duvarı arkasında olmadığını) ve başarılı bir yanıt döndürdüğünü doğrulayın.
- URL’nize yalnızca yanıtlar (giden mesajlar) gönderilir; gelen mesajlar bunu tetiklemez.
- Gelen kutunuzdaki mesajda hata ayrıntılarını kontrol edin.
Oluşturulmayan Kişiler
fromIddeğerinin, aynı kullanıcı için tüm mesajlarında tutarlı olduğundan emin olun. Platform, kişileri tanımlamak için bu değeri kullanır; mesajlar arasında değişirse, platform her seferinde yeni bir kişi oluşturur.- Eksiksiz bir kişi kaydı oluşturmak için yeni bir kişiden gelen ilk mesaja
firstName,lastNameveemaildeğerlerini ekleyin.
Çalışmayan Medya Ekleri
- Dosya bağlantıları (URL’ler) için dosyanın herkese açık olarak erişilebilir olduğundan emin olun (erişmek için oturum açma gerekmemelidir).
mediaUrldahil ettiğinizde her zamanmediaContentTypebilgisini de ekleyin.- Gömülü dosyalar (base64) için formatın
data:MIME_TYPE;base64,ENCODED_DATAolduğunu doğrulayın. - Belirttiğiniz dosya türünün gerçek dosya içeriğiyle eşleştiğinden emin olun.
En İyi Uygulamalar
- Tutarlı
fromIddeğerleri kullanın. Platformunuzdaki her kullanıcının her zaman aynıfromIddeğerine sahip olması gerekir. Bu, platformun tüm mesajlarını mükerrer kişiler oluşturmak yerine tek bir görüşmede gruplandırmasını sağlar. - Net bir
channeladı seçin. Gelen kutunuzu görüntülerken mesajların nereden geldiğini kolayca anlayabilmek için"website-chat","email"veya"zendesk"gibi açıklayıcı bir isim seçin. - İletişim bilgilerini (
firstName,lastName,email) yeni bir kişiden gelen ilk mesaja dahil edin. Bu, hemen eksiksiz ve kullanışlı bir kişi kaydı oluşturur. - Yeniden deneme mantığı oluşturun. Platformunuz ilk denemede yanıt vermezse, platformunuzun mesaj göndermeyi tekrar denemesini sağlayın (ağ kesintileri olabilir).
- Her mesaj için benzersiz
messageSiddeğerleri kullanın. Bu, sisteminiz aynı mesajı birden fazla kez gönderirse, aynı mesajın iki kez işlenmesini önler. - Birden fazla kullanım durumunuz olduğunda (örneğin, satış soruları ile destek soruları gibi) mesajları farklı Yapay Zeka Temsilcilerine yönlendirmek için
campaignIdkullanın. - Canlıya geçmeden önce test edin. Gerçek kullanıcılara sunmadan önce her iki yönde de test mesajları gönderin ve kişilerin, görüşmelerin ve Yapay Zeka yanıtlarının doğru çalıştığını doğrulayın.