Business Messages aracıları,
- Dialogflow ES: amaç eşleştirme ve SSS bot'ları
- Dialogflow CX: amaç eşleştirme ve canlı aracı aktarımı
Bir Business Messages aracısını Dialogflow ES veya Dialogflow CX'in diğer özellikleriyle entegre etmek için her ürünün dokümanlarına bakın.
Bir kullanıcı, Dialogflow entegrasyonuna sahip bir temsilciye mesaj gönderdiğinde Business Messages, kullanıcı mesajını Dialogflow'a iletir ve Dialogflow'un mesajı, mesajdialogflowResponse
nesnesine temsilciye gönderir. Temsilcileri, herhangi bir işlem yapmadan kullanıcıya Dialogflow'un yanıtını otomatik olarak gönderecek şekilde yapılandırabilirsiniz. Ayrıntılar için Otomatik yanıtlar bölümüne bakın.
Dialogflow entegrasyonu
Business Messages aracılığıyla Dialogflow tabanlı otomasyondan faydalanmadan önce Dialogflow entegrasyonunu etkinleştirmeniz gerekir.
Ön koşullar
Başlamak için
- Business Messages aracısı
- Kök dili İngilizce olan Global bölgesindeki bir Dialogflow aracısı (en)
Dialogflow aracınız yoksa bir temsilci oluşturun.
Dialogflow ES
Dialogflow ES entegrasyonunu etkinleştirebilmek için Dialogflow aracınızın proje kimliğine ihtiyacınız vardır. Proje kimliğini bulmak için
- Dialogflow Console'a gidin.
- Business Messages'a bağlamak istediğiniz Dialogflow temsilcisini seçin, ardından aracı adının yanındaki dişli simgesini tıklayın.
- Google Project bölümünde Proje Kimliği değerini not edin.
Dialogflow CX
Dialogflow CX entegrasyonunu etkinleştirebilmek için Dialogflow aracınızın proje kimliğine ve aracı kimliğine ihtiyacınız vardır. Bu kimlikleri bulmak için
- Dialogflow CX Console'a gidin.
- Dialogflow projenizi seçin.
- Temsilci seçicide, Dialogflow aracınızın yanındaki taşma menüsünü tıklayın.
- Adı kopyala'yı tıklayın. Temsilcinizin tam adı şu biçimde kopyalanır:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
. - Proje kimliği ve aracı kimliği değerlerini not edin.
Entegrasyonu etkinleştir
- Business Communications Developer Console'da Entegrasyonlar'a gidin.
- Dialogflow için Entegrasyonu etkinleştir'i tıklayın.
- Mevcut modeli bağla'yı tıklayın.
- Dialogflow sürümü için etkinleştirilecek sürümü seçin.
- Dialogflow aracınızın proje kimliğini girin.
- Dialogflow CX'i etkinleştirmek için Dialogflow temsilcinizin aracı kimliğini de girin.
- Business Messages'ın Dialogflow yanıtları ile kullanıcılara otomatik olarak yanıt vermesini istiyorsanız Otomatik yanıtı etkinleştir'i seçin.
- İleri'yi tıklayın.
- Hizmet hesabı e-postasını kopyalayın. Bu hesap, Business Messages ve Dialogflow aracılarınızı birbirine bağlar.
- Google Cloud Console'da Dialogflow projenizi seçin.
- IAM izinlerine gidin.
- Ekle'yi tıklayın ve Yeni ana hesaplar için hizmet hesabı e-posta adresini girin.
- Rol seç bölümünde, Dialogflow Console Aracı Düzenleyici'yi seçin.
- Başka bir rol ekle'yi tıklayıp Dialogflow API İstemcisi'ni seçin.
- Kaydet'i tıklayın.
- İş İletişimi Geliştirici Konsolu'nda İleri'yi tıklayın.
- Entegrasyonu başlat'ı tıklayın.
Business Messages ile Dialogflow'u bağlamak yaklaşık iki dakika sürer.
Entegrasyonu güncelleme
- Business Communications Developer Console'da Entegrasyonlar'a gidin.
- Dialogflow'un yanındaki dişli simgesini tıklayın.
- Business Messages'ın Dialogflow yanıtları ile kullanıcılara otomatik olarak yanıt vermesini isteyip istemediğinize bağlı olarak Otomatik yanıtı etkinleştir ayarını açın.
Dialogflow sürümleri arasında geçiş yapma
Business Messages aracısı aynı anda yalnızca bir Dialogflow entegrasyonunu destekleyebilir. Bir Dialogflow sürümünden diğerine geçmek için yeni entegrasyonu etkinleştirmeden önce mevcut entegrasyonu devre dışı bırakmanız gerekir.
Entegrasyonu devre dışı bırak
- Business Communications Developer Console'da Entegrasyonlar'a gidin.
- Dialogflow'un yanındaki dişli simgesini tıklayın.
- Entegrasyonu devre dışı bırak'ı tıklayın.
- Devre dışı bırak'ı tıklayın.
Mevcut bir Dialogflow entegrasyonunun devre dışı bırakılması yaklaşık bir dakika sürer.
Bu adımları uygulayarak yeni bir Dialogflow entegrasyonunu etkinleştirin.
Intent eşleşme
Bir Business Messages aracısı için Dialogflow entegrasyonunu etkinleştirdikten sonra, temsilciniz kod yazmak zorunda kalmadan kullanıcı sorularını anlamak ve yanıtlamak için Dialogflow projenizin yapılandırılmış amaçlarını kullanabilir. Hedefler hakkında daha fazla bilgi edinmek için Dialogflow ES ve Dialogflow CX dokümanlarına bakın.
Otomasyon aracılığıyla desteklemek istediğiniz her görüşme seçeneği için Dialogflow niyetlerinizi yapılandırın. Business Messages aracıları, kullanıcı mesajlarını anlamak için Dialogflow'a güvenir.
Business Messages, Dialogflow API'lerini çağırırken kullanıcı mesajı yükünü amaçlarınıza ve sipariş karşılama webhook'unuza iletir. Kullanıcı mesajı bir niyetle eşleştiğinde QueryParameters
bu yüke QueryParameters
içindeki business_messages_payload
alanında Struct
biçiminde erişebilirsiniz.
Yük, DialogflowResponse
dışındaki kullanıcı mesajındaki tüm alanları içerir.
Dialogflow CX için Business Messages, amaçlarınıza channel
değerine sahip channel
adlı bir oturum parametresi de iletir. Bu parametreyi aracınızda şu biçimle referans verebilirsiniz: $session.params.channel
.
Bu parametre, aynı Dialogflow aracısında birden fazla kanalı desteklemek amacıyla Dialogflow karşılamalarınıza koşullar eklemek için kullanılabilir.
Sorgu parametreleri hakkında daha fazla bilgi için Dialogflow ES ve Dialogflow CX referanslarına bakın.
Ön koşullar
Dialogflow'da NLU modelleri oluştururken bir amaç için farklı yanıt türleri yapılandırabilirsiniz. Business Messages, aşağıdakileri içerebilecek Varsayılan yanıtı destekler:
- Metin
- Özel yük
- Canlı temsilci aktarımı (yalnızca Dialogflow CX)
Özel yük, geçerli bir Business Messages JSON mesajı yanıt nesnesiyle eşleşmelidir. Bir mesaj için özel yük yanıtları yapılandırırken Business Messages aşağıdaki alanları yoksayar:
name
messageId
representative
Aşağıdaki örnek yanıtlara bakın.
Öneri içeren metin
{
"text": "Hello World!",
"fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
"suggestions": [
{
"reply": {
"text": "Hello",
"postbackData": "hello-formal"
}
},
{
"reply": {
"text": "Hi!",
"postbackData": "hello-informal"
}
}
]
}
Zengin kart
{
"fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
"richCard": {
"standaloneCard": {
"cardContent": {
"title": "Hello, world!",
"description": "Sent with Business Messages.",
"media": {
"height": "TALL",
"contentInfo":{
"altText": "Google logo",
"fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
"forceRefresh": "false"
}
},
"suggestions": [
{
"reply": {
"text": "Suggestion #1",
"postbackData": "suggestion_1"
}
},
{
"reply": {
"text": "Suggestion #2",
"postbackData": "suggestion_2"
}
}
]
}
}
}
}
Zengin Kart bandı
{
"fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
"richCard": {
"carouselCard": {
"cardWidth": "MEDIUM",
"cardContents": [
{
"title": "Card #1",
"description": "The description for card #1",
"suggestions": [
{
"reply": {
"text": "Card #1",
"postbackData": "card_1"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/cute-dog.jpg",
"forceRefresh": false
}
}
},
{
"title": "Card #2",
"description": "The description for card #2",
"suggestions": [
{
"reply": {
"text": "Card #2",
"postbackData": "card_2"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/elephant.jpg",
"forceRefresh": false
}
}
}
]
}
}
}
Canlı müşteri temsilcisinin deviri
{
"metadata": {}
}
SSS bot'ları
Bir Business Messages aracısı için Dialogflow ES entegrasyonunu etkinleştirdikten sonra SSS bot'u oluşturabilirsiniz. Desteklenen bir bilgi dokümanı olarak soruları ve yanıtlarını sağladığınızda Business Messages ve Dialogflow, kod yazmak zorunda kalmadan kullanıcı sorularını anlamak ve yanıtlamak için gerekli bir altyapı oluşturur.
SSS bot'unu çalışırken görmek için Business Messages SSS Bot ile sohbet edin.
Ön koşullar
SSS bot'u oluşturmadan önce soru ve yanıtlarınızın bir bilgi dokümanı (maks. 50 MB) olarak mevcut olması gerekir: Herkese açık bir HTML dosyası veya bir CSV dosyasıdır.
Genellikle bilgi belgeleri
- Yanıtlarda, Zengin metin'de belirtildiği gibi sınırlı Markdown içerebilir.
- Maksimum boyut 50 MB'tır.
- 2.000 soru/yanıt çiftini aşmamalıdır.
- Farklı cevaplar içeren yinelenen soruları desteklemeyin.
HTML dosyaları için,
- Herkese açık URL'lerdeki dosyaların arama dizininde bulunması için, Google arama dizini tarafından taranmış olması gerekir. Bunu Google Search Console ile kontrol edebilirsiniz. Dizine ekleme aracının içeriğinizi güncel tutmadığını unutmayın. Kaynak içeriği değiştiğinde dokümanınızı açık bir şekilde güncellemeniz gerekir.
- Dialogflow, yanıt oluştururken içerikten HTML etiketlerini kaldırır. Bu nedenle, HTML etiketlerinden kaçınmak ve mümkün olduğunda düz metin kullanmak en iyisidir.
- Tek bir soru/yanıt çifti olan dosyalar desteklenmez.
CSV dosyalarında,
- Dosyaların ilk sütunda soruları, ikinci sütunda ise cevapsız, başlıksız olmalıdır.
- Dosyalarda ayırıcı olarak virgül kullanılmalıdır.
SSS bot'u oluşturma
- Business Communications Developer Console'da Entegrasyonlar'a gidin.
- Bilgi tabanı (SSS) bölümünde Bilgi tabanı oluştur'u tıklayın.
- Bilgi tabanı için bir ad girin ve İleri'yi tıklayın.
- Bir MIME türü seçin.
- Bilgi belgesi ekleyin.
- MIME türü için HTML'yi seçtiyseniz SSS sayfanızın herkes tarafından erişilebilen URL'sini URL alanına girin.
- MIME türü için CSV'yi seçerseniz Yükle'yi tıklayın ve CSV dosyanızı seçin.
- Ekle ve bitir'i tıklayın.
SSS bot'una ek doküman eklemek için Doküman ekle düğmesini tıklayın.
Bu adımları uyguladığınızda Business Messages, aracınıza gönderdiği kullanıcı mesajlarına dialogflowResponse
nesnesini ekler. Otomatik yanıt özelliğini etkinleştirirseniz Business Messages kullanıcıya, kullanıcının mesajıyla karşılaştırıldığında en yüksek matchConfidence
puanına sahip soru/yanıt çiftiyle yanıt verir.
Otomatik yanıtlar
Dialogflow entegrasyonu sırasında otomatik yanıt özelliğini etkinleştirirseniz Business Messages, Dialogflow aracılığıyla kullanıcıya otomatik olarak yanıt verir. İşletme Mesaj aracınız en yüksek güven düzeyinde eşleşme ile yanıt verir. Dialogflow ES entegrasyonuyla, hem SSS yanıtı hem de özel amaç için eşleşme varsa Business Messages en yüksek güven düzeyine sahip eşleşmeyle yanıt verir.
Business Messages, otomatik olarak yanıtlanan tüm mesajları BOT
temsilcilerinden geliyor olarak işaretler. Temsilciniz canlı aracıları destekliyorsa Business Messages, REPRESENTATIVE_JOINED
etkinliklerden sonra otomatik yanıtları askıya alır ve REPRESENTATIVE_LEFT
etkinlikten sonra otomatik yanıtları devam ettirir. Bot'tan canlı temsilciye aktarma bölümüne göz atın.
SSS yanıtıyla otomatik yanıt verme
Dialogflow ES entegrasyonunda, SSS yanıtları en yüksek güvenilirlik düzeyine sahip olduğunda Business Messages, cevabı kısa mesajla eşler. İlgili ancak farklı bir yanıt varsa mesajda "Başka bir yanıt görüntüle" önerisi görüntülenir. Aksi takdirde, mesaj bir soru içerir ve önerilen mesaj, kullanıcının kullanıcı isteğini karşılayıp karşılamadığını sorar.
Amaç yanıtıyla otomatik yanıt ver
Amaç yanıtları, aşağıdaki yanıtlardan bir veya daha fazlasını içerebilir.
- Dialogflow ES: Metin, Özel yük
- Dialogflow CX: Metin, Özel yük, Canlı müşteri temsilcisi aktarımı
Amaç yanıtı en yüksek güven düzeyinde eşleşmeye sahipse aşağıdakiler uygulanır.
- Yanıtın en az bir Metin değeri varsa Business Messages bu değeri kısa mesajla eşleştirir.
- Yanıtın geçerli bir Business Messages JSON nesne yapısına sahip en az bir Özel yükü varsa Business Messages, sağlanan JSON nesnesini kullanarak bir mesaj oluşturur.
- Yanıtta en az bir Canlı müşteri temsilcisi aktarımı yanıtı varsa Canlı temsilci isteğiyle otomatik olarak yanıt verme bölümünü inceleyin.
Dialogflow tek bir intent eşleştirmesinde birden fazla yanıt içerebileceği için Business Messages her Metni, Özel yükü veya Canlı temsilciyi aktarma yanıtını ayrı bir mesaj olarak gönderir. Amaç eşleşmesinde birden fazla mesaj varsa ancak bazıları hatalıysa Business Messages geçerli mesajları yalnızca otomatik yanıt olarak gönderir.
Canlı olarak temsilci isteğiyle otomatik yanıt verme
Dialogflow CX Canlı temsilci devir yanıtını destekler. Bu, görüşmenin bir gerçek kişi tarafından temsil edilmesi gerektiği anlamına gelir ve aktarım prosedürünüz için özel meta veriler iletmenize olanak tanır. Amaç yanıtı en yüksek güven düzeyinde eşleşmeye sahipse ve Canlı aracı devri içeriyorsa Business Messages, webhook'unuza canlı temsilci tarafından istenen bir etkinlik gönderir. Bu etkinliği yönetmek için Bot'tan Canlı Müşteri Temsilcisine Aktarma bölümüne göz atın.
Yedek mesajla otomatik yanıt ver
Dialogflow yüksek güven düzeyine sahip bir eşleşme elde etmezse Business Messages yedek bir yanıt gönderir. Yedekler Dialogflow ES ve Dialogflow CX'te farklı şekilde işlenir.
Dialogflow ES
SSS bot'ları için, bir SSS yanıtıyla eşleşmezse Business Messages, cevap bulamadığına dair yedek mesaj gönderir.
Yapılandırılmış niyetler için intent yanıtıyla eşleşmezse Business Messages, yedek intent yanıtı gönderir. Dialogflow tarafından sağlanan yedek metni kullanabilir veya yedeği ek metin ve özel yüklerle yapılandırabilirsiniz.
Webhook'unuzun alabileceği yedek niyet yanıtı örneğini burada bulabilirsiniz:
{
"intentResponses": [
{
"intentName": "projects/df-integration/agent/intents/12345",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "1.0",
"fulfillmentMessages": [
{
"text": "One more time?"
}
]
}
]
}
Dialogflow, intent_name
ve intent_display_name
alanlarını önceden doldurur.
Dialogflow CX
Dialogflow CX, yedek intent yanıtlarını yerleşik etkinlikler olarak işler. Amaç yanıtıyla eşleşmezse Business Messages, Dialogflow'daki "Eşleşmeyen varsayılan" etkinliğinden yedek mesaj gönderir. Dialogflow tarafından sağlanan yedek metni kullanabilir veya yedeki ek metin, özel yük ve canlı aracı aktarma seçenekleriyle yapılandırabilirsiniz.
Webhook'unuzun alabileceği bir yedek intent yanıtı örneğini burada görebilirsiniz:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
Business Messages, intent_name
ve intent_display_name
kodlarını sabit kodlar.
Dialogflow'a özel alanlar
Dialogflow entegrasyonunu etkinleştirdikten sonra, temsilcinin aldığı kullanıcı mesajları dialogflowResponse
nesnesini içerir. Business Messages'ın sizin adınıza mesaja otomatik yanıt verip vermediğine bakılmaksızın tüm kullanıcı mesajları için webhook'unuz yük alır. Otomatik yanıt olup olmadığını kontrol etmek için autoResponded
alanının değerini inceleyin ve kullanıcıya yanıt vermeniz gerekip gerekmediğine karar verin.
Dialogflow ES
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", }], "faqResponse": { "userQuestion": "USER_QUESTION", "answers": [{ "faqQuestion": "FAQ_QUESTION", "faqAnswer": "FAQ_ANSWER", "matchConfidenceLevel": "CONFIDENCE_LEVEL", "matchConfidence": "CONFIDENCE_NUMERIC", }], }, "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
Alan | Açıklama |
---|---|
queryText
|
Orijinal konuşma sorgusu metni. Dialogflow modeli için otomatik yazım düzeltme etkinleştirildiyse queryText , düzeltilen kullanıcı girişini içerir. |
intentName |
Eşleşen niyetin benzersiz tanımlayıcısı. |
intentDisplayName |
Eşleşen niyetin adı. |
intentDetectionConfidence
|
queryText ile intentName arasındaki eşleşmedeki sayısal güven puanı. |
text |
Kısa yanıt. |
jsonPayload
|
Özel yük yanıtı.
Bu dize, Dialogflow'da tanımlanan özel yük ile eşleşir.
Yükün geçerli bir Business Messages JSON nesne yapısı yoksa error sorunu açıklar. |
error |
Amaç karşılama mesajıyla ilgili hatanın açıklaması. |
userQuestion |
Dialogflow tarafından ayrıştırılan şekilde, kullanıcının sorduğu soru. |
faqQuestion |
Dialogflow'dan kullanıcının sorusuyla eşleşen bir soru. |
faqAnswer |
Dialogflow'un, kullanıcının sorusuyla eşleşen yanıtı. |
matchConfidenceLevel
|
userQuestion ile faqQuestion arasındaki eşleşmenin güven düzeyi. |
matchConfidence
|
userQuestion ile faqQuestion arasındaki eşleşmedeki sayısal güven puanı. |
autoResponded
|
Business Messages'ın kullanıcıya Dialogflow'dan yanıt vererek otomatik bir yanıt verip vermediği. |
message |
Otomatik yanıtın yükü. |
responseSource
|
Otomatik yanıtın kaynağı. Bkz.
ResponseSource . |
Dialogflow CX
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", "liveAgentHandoff": { "metadata": {} } }], "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
Alan | Açıklama |
---|---|
queryText
|
Orijinal konuşma sorgusu metni. Dialogflow modeli için otomatik yazım düzeltme etkinleştirildiyse queryText , düzeltilen kullanıcı girişini içerir. |
intentName |
Eşleşen niyetin benzersiz tanımlayıcısı. |
intentDisplayName |
Eşleşen niyetin adı. |
intentDetectionConfidence
|
queryText ile intentName arasındaki eşleşmedeki sayısal güven puanı. |
text |
Kısa yanıt. |
jsonPayload
|
Özel yük yanıtı.
Bu dize, Dialogflow'da tanımlanan özel yük ile eşleşir.
Yükün geçerli bir Business Messages JSON nesne yapısı yoksa error sorunu açıklar. |
error |
Amaç karşılama mesajıyla ilgili hatanın açıklaması. |
liveAgentHandoff |
Canlı olarak temsilciyi devretme prosedürünüz için özel meta veriler. |
autoResponded
|
Business Messages'ın kullanıcıya Dialogflow'dan yanıt vererek otomatik bir yanıt verip vermediği. |
message |
Otomatik yanıtın yükü. |
responseSource
|
Otomatik yanıtın kaynağı. Bkz.
ResponseSource . |