İleti alma

Business'a kaydolduktan sonra Mesajlar, test temsilciniz adına mesaj alabilirsiniz. Mesaj alabilirsiniz yönettiğiniz markalar için create doğrulama ve lansman aracı olarak kullanabilirsiniz.

Bir müşteri, yönettiğiniz bir temsilciye mesaj gönderdiğinde Business Messages Webhook'unuza çeşitli kimlikler, ileti içeriği ve ve konum bilgileri.

Business Communications Developer Console günlüklerini kullanma sayfa hata ayıklaması yapabilirsiniz.

Gelen mesajları işleme

Temsilcinizin kullanıcılardan gelen mesajları işleme ve yanıtlama biçimi büyük ölçüde bağlıdır mantığınıza göre değişir. Ancak genel olarak, bir kullanıcıya yanıt vermek için atılması gereken adımlar tutarlı olduğundan emin olun.

Mesajı onaylama

Webhook'unuz tarafından alınan bir mesajı onaylamak için geçerli bir HTTP yanıtı döndürün webhook'unuza gönderilen mesajlara ekleyin.

Bir ileti, teslim zaman aşımı, webhook erişilebilirliği ve veya izin sorunları olduğunda Google, iletiyi depolayıp iletirse de 7 gün boyunca veya webhook'unuz tüm bağlantıları kabul edene kadar mesajını alırsınız.

İletinin Google'dan geldiğini doğrulayın

İletiyi işlemeden önce Google'ın iletiyi gönderdiğini doğrulamanız gerekir içerik.

Aldığınız mesajın Google tarafından gönderildiğini doğrulamak için

  1. İletinin X-Goog-Signature üstbilgisini ayrıştır. Bu karma, İleti gövdesi yükünün base64 kodlu kopyası.
  2. İstemci jetonunuzu ( web kancası) tıklayın. anahtar olarak, ileti yükü baytlarının SHA512 HMAC'sini oluşturun ve sonucu base64 olarak kodlayın.

  3. X-Goog-Signature karmasını, oluşturduğunuz karmayla karşılaştırın.

    • Karmalar eşleşiyorsa iletiyi Google'ın gönderdiğini onaylamış olursunuz.
    • Karmalar eşleşmezse, karma oluşturma sürecinizi bilinen iyi bir mesajını alırsınız. Karma oluşturma süreciniz doğru şekilde çalışıyorsa ve hileli şekilde gönderilmiş olduğunu düşündüğünüz bir mesaj varsa . bize ulaşın (Google Ads'te imzalamanız Business Messages Google hesabı ile oturum açın).

Echo Bot'lar için GitHub depolarındaki ileti doğrulama örneğine bakın Java'da Node.js Python gibi.

Yerel ayarı belirleme

Kullanıcılar birçok yerden ve birçok dilde iletişim kurar. Business Messages temsil eden dil tercihlerinin resolvedLocale ve Cihazlarına dayalı olarak userDeviceLocale alanları yerel ayarlar. Yerelleştirme ve yerel ayarlar.

Mümkün olduğunda, kullanıcıların özelliklerine göre iletileri yönlendirin ve yanıtlar oluşturun dil tercihler.

İletiyi bağlamına göre yönlendir

İleti bağlamı, kullanıcının ne tür bilgiler arıyor olabileceği hakkında bilgi verir. Örneğin, bir kullanıcı placeId belirli bir konuma (placeId tarafından tanımlanır) mesaj gönderdiler ve konuma özgü sorular sorması muhtemeldir. Benzer şekilde, bir iletide Kullanıcının yakınlarındaki bir konumu tanımlayan nearPlaceId değeri (kullanıcının konuma özgü bilgileri bilmek istiyor ancak temsilcinin Kullanıcının sohbete başlamadan önce sohbet etmek istediği konum.

İletinin bağlam bilgileriyle birlikte iletiyi en uygun konuma yönlendirin şu soruları yanıtlayın:

  • İleti yeni bir ileti dizisindeyse ve yaygın olarak sorulan bir soruysa otomasyonla cevap verebilirler.
  • Otomasyon soruyu yanıtlayamıyorsa soruyu canlı bir temsilciye yönlendirin.
  • İletinin yerel ayarı aracınızın varsayılan yerel ayarıyla eşleşmiyorsa destek alabileceğiniz canlı temsilciye mesaj gönderin.
  • Soru belirli bir konumla ilgiliyse şu kişiye yönlendirin: emin olmanız gerekir.
  • Mesaj devam eden bir görüşmedeyse canlı temsilciye yönlendirin. konuşmaya katılmalısınız.

Kullanıcının gönderdiği mesajın türünü tanımlama

Kullanıcılar üç tür mesaj gönderebilir:

  • Kısa mesajlar serbest biçimli yanıtlardır.
  • Resim iletilerde, kullanıcının bir resminin imzalı URL'si bulunur yüklendi.
  • Öneri mesajları, geri gönderme verilerini ve kullanıcının dokunduğu önerilen işlem veya önerilen yanıt.

İleti içeriğini işleme

Temsilciniz otomasyon kullanıyorsa kullanıcı mesajının içeriği konuşmadaki bir sonraki yanıtı anlamanıza yardımcı olur.

Kullanıcının amacını belirlemenin en kolay yolu, önerilen yanıt veya önerilen işlem. İlgili metinden bağımsız olarak, geri gönderme verileri makine tarafından okunabilir.

Bir kullanıcı kısa mesaj gönderirse temsilciniz yanıtı doğal dil anlama özelliğini kullanın (örneğin, Dialogflow entegrasyon kullanıcının mesajını işleme ve ileri bir yol belirleme.

Temsilciniz kullanıcının mesajına nasıl yanıt vereceğini bilmiyorsa bir hata durumuyla yanıt verip konuşmaya bir giriş isteyerek kullanıcıdan ek bilgi istemesini veya görüşmeyi canlı müşteri temsilcisine devredebilirsiniz.

Kullanıcıya yanıt verme

Temsilci doğru yanıtı belirledikten sonra: bir canlı müşteri temsilcisi gönderir. mesaj ve kullanıcıyla konuşmayı sürdürür.

Bir yanıt oluştururken kullanıcının yerel ayarını göz önünde bulundurun. Ayrıca her bir userInfo nesnesinden değerler alarak yanıtları özelleştirin almak anlamına gelir.

Mesaj türleri

Aşağıdaki kod, temsilcinizin mesajları nasıl aldığını gösterir.

Biçimlendirme ve değer bilgileri için bkz. UserMessage.

Metin

Kullanıcıların yanıt vermeleri için en sık kullanılan yöntem düz metin kullanmaktır. Kısa mesajlarda aşağıdaki biçimdedir.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "message": {
    "messageId": "MESSAGE_ID",
    "name": "conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "text": "MESSAGE_TEXT",
    "createTime": "MESSAGE_CREATE_TIME",
  },
  "dialogflowResponse": {
    "autoResponded": "BOOLEAN",
    "faqResponse": {
      "userQuestion": "USER_QUESTION",
      "answers": [{
        "faqQuestion": "FAQ_QUESTION",
        "faqAnswer": "FAQ_ANSWER",
        "matchConfidenceLevel": "CONFIDENCE_LEVEL",
        "matchConfidence": "CONFIDENCE_NUMERIC",
      }],
    },
  },
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

Biçimlendirme ve değer seçenekleri için bkz. Message.

Resim

Kullanıcılar, temsilcinize kısa mesaj göndermenin yanı sıra mesaj olarak da resim gönderebilir. Business Messages, paylaşılan resimleri 7 gün boyunca imzalı URL'ler ve bu URL'leri ileti yükünün text alanına ekler.

Temsilciniz otomasyon kullanıyorsa otomasyonun nasıl yanıt vereceğini bildiğinden emin olun. Kullanıcı bir resim paylaştığında. Canlı müşteri temsilcileri için görüntülerin veya bu URL'lerin tıklanabilir olmasını sağlar.

...
"message": {
    "text": "https://storage.googleapis.com/business-messages-us/936640919331/jzsu6cdguNGsBhmGJGuLs1DS?x-goog-algorithm\u003dGOOG4-RSA-SHA256\u0026x-goog-credential\u003duranium%40rcs-uranium.iam.gserviceaccount.com%2F20190826%2Fauto%2Fstorage%2Fgoog4_request\u0026x-goog-date\u003d20190826T201038Z\u0026x-goog-expires\u003d604800\u0026x-goog-signedheaders\u003dhost\u0026x-goog-signature\u003d89dbf7a74d21ab42ad25be071b37840a544a43d68e67270382054e1442d375b0b53d15496dbba12896b9d88a6501cac03b5cfca45d789da3e0cae75b050a89d8f54c1ffb27e467bd6ba1d146b7d42e30504c295c5c372a46e44728f554ba74b7b99bd9c6d3ed45f18588ed1b04522af1a47330cff73a711a6a8c65bb15e3289f480486f6695127e1014727cac949e284a7f74afd8220840159c589d48dddef1cc97b248dfc34802570448242eac4d7190b1b10a008404a330b4ff6f9656fa84e87f9a18ab59dc9b91e54ad11ffdc0ad1dc9d1ccc7855c0d263d93fce6f999971ec79879f922b582cf3bb196a1fedc3eefa226bb412e49af7dfd91cc072608e98"
  }
...

Biçimlendirme ve değer seçenekleri için bkz. Message.

Öneri

Önerilen yanıtlar ve önerilen işlemler, kullanıcıların yanıt vermesine veya işlem yapmasına olanak tanır işlemleri tek bir dokunuşla yapın. Kullanıcı bir öneriye dokunduğunda aracı bir yük alır geri gönderme verileriyle birlikte kullanabilirsiniz.

Öneri mesajları aşağıdaki biçimdedir.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "suggestionResponse": {
    "message": "conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "postbackData": "POSTBACK_DATA",
    "createTime": "RESPONSE_CREATE_TIME",
    "text": "SUGGESTION_TEXT",
    "suggestionType": "SUGGESTION_TYPE",
  }
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

Biçimlendirme ve değer seçenekleri için bkz. SuggestionResponse.

Kimlik doğrulama isteği

Kimlik doğrulama isteği önerisi, kullanıcıların OAuth ile oturum açmasına izin verir kimlik bilgilerini temsilciyle paylaşmasını veya temsilcinin kullanıcıların, bu kullanıcıların anlamına gelir. Daha fazla bilgi için Şununla kimlik doğrulaması yapın: OAuth değerleridir.

Bir kullanıcı, belirtilen OAuth sağlayıcısıyla başarıyla oturum açarsa aracı, Alma işlemi, yetkilendirme kodunu içeren bir yük alır. Kullanıcı aracı, hata ayrıntılarının bulunduğu bir yük alır.

Kimlik doğrulama isteği mesajları aşağıdaki biçimdedir.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "authenticationResponse": {
    "code": "AUTHORIZATION_CODE",
    "redirect_uri": "REDIRECT_URI",
    "errorDetails": {
      "error": "ERROR",
      "errorDescription": "ERROR_DESCRIPTION",
    },
  }
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

Biçimlendirme ve değer seçenekleri için bkz. AuthenticationResponse.

Mesaj bağlamı

Her ileti, iletinin kaynağıyla ilgili bağlam bilgilerini içerir.

...
  "context": {
    "customContext": "CUSTOM_CONTEXT",
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "nearPlaceId": "NEARBY_LOCATION_PLACE_ID",
    "deflectedPhoneNumber": "DEFLECTED_PHONE_NUMBER",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
    "widget": {
      "url": "WEBSITE_URL",
      "widgetContext": "WIDGET_CONTEXT",
    },
  },
...
Alan Açıklama
customContext İş ortağı tarafından belirtilen bağlam verileri.
entryPoint Tanımlandığı şekilde, kullanıcının görüşmeyi başlattığı mesajlaşma yüzeyi EntryPoint tarafından yönetilir.
placeId Konum için Google Rehber veritabanındaki benzersiz bir tanımlayıcı kullanıcının mesaj gönderdiğini görebilirsiniz. Yalnızca konuma özel olarak gönderilen iletilerde görünür giriş noktalarından yararlanın.
nearPlaceId Google Rehber veritabanından ilki için benzersiz bir tanımlayıcı bir yerel Paket'teki konumu. Kullanıcıların sohbet etmek istediği konumları onaylayın nearPlaceId değerleri.
deflectedPhoneNumber Business Messages'ın kullanıcıyı aramaya yönlendirdiği telefon numarası görüşmenin başlangıcında belirlemeniz gerekir.
resolvedLocale

Kullanıcının yerel ayarının hesaplanan en iyi eşleşme (raporlanan) userDeviceLocale) ve temsilcinin desteklediği yerel ayarlar (belirtilen konuşma ayarlarına göre belirlenir). Görüntüleyin Yerelleştirme ve Başlangıç gerekli bilgileri sağlar.

Yerel ayar değeri iyi biçimlendirilmiş bir IETF BCP 47 dil etiketidir.

userInfo.displayName Mesajı gönderen kullanıcının adı. Kullanıcı, Bu alan boş bırakılır.
userInfo.userDeviceLocale Kullanıcının cihazı tarafından bildirilen yerel ayarı ve uygun biçimde IETF BCP 47 dil etiketi.
widget.url Sohbet yüzeyinin kullanıma sunulduğu web sitesinin URL'si.
widget.widgetContext Kullanılan widget'ın data-bm-widget-context özellik değeri başlatın.

Görüşme geçmişi

Google, sohbet geçmişlerini sağlamaz. Kendi geçmişinizi koruyun gizlilik politikanıza ve en iyi uygulamalarınıza uygun şekilde, Böylece, gelecekte kullanıcılardan gelecek mesajlara bilinçli yanıtlar gönderebilirsiniz.