İleti alma

RBM temsilcileri, webhook aracılığıyla mesaj ve etkinlik alır. Bir kullanıcı temsilcinize mesaj gönderdiğinde Google'ın RBM hizmeti, mesajı yapılandırılmış webhook'unuza gönderir. Temsilciniz daha sonra mesajın kodunu çözebilir, mesajı işleyebilir ve kullanıcıya yanıt verebilir.

Kullanıcı, ajana mesaj gönderir.

Kullanıcılar, RCS istemcilerinin izin verdiği metinleri, konumları veya dosyaları gönderebilir. Aracınız, kullanıcının gönderebileceği tüm metinleri, konumları veya dosyaları ve bu mesajların tetikleyebileceği tüm hata durumlarını işlemelidir.

Aracınızın teslimat makbuzlarını, okundu bilgilerini ve yazma göstergelerini nasıl işleyebileceğini öğrenmek için Etkinlikleri alma başlıklı makaleyi inceleyin.

Gelen iletileri yönetme

Ajanınızın kullanıcılardan gelen mesajları nasıl ele alacağı ve yanıtlayacağı, büyük ölçüde iş mantığınıza bağlıdır. Ancak genel olarak, kullanıcı mesajlarına yanıt verme adımları tutarlıdır.

1. adım: Kullanıcının gönderdiği mesajın türünü belirleyin

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

  • Metin mesajları serbest biçimli yanıtlardır.
  • Öneri mesajları, geri gönderme verilerini ve kullanıcının dokunduğu önerilen eylemin veya önerilen yanıtın metnini içerir.
  • Konum mesajları enlem ve boylam değerlerini içerir.

  • Dosya mesajları, bir dosyanın URI'sini ve ilişkili verileri içerir.

2. adım: İleti içeriğini işleme

Kullanıcı mesajının içeriği, görüşmedeki aracınızın mantığını ve bir sonraki yanıtını yönlendirmelidir.

Kullanıcı niyetini belirlemenin en kolay yolu, önerilen yanıttan veya önerilen işlemden gelen geri gönderme verileridir. Öneriye ilişkin metinden bağımsız olarak, geri gönderme verileri makine tarafından okunabilir.

Bir kullanıcı kısa mesaj gönderirse aracınız, yanıtı desteklenen anahtar kelimeler için ayrıştırabilir veya kullanıcının mesajını işlemek ve ilerleme yolunu belirlemek için doğal dil işleme (ör. Dialogflow) kullanabilir.

Konum ve dosya mesajları metin veya geri gönderme verilerini içermediğinden, temsilciniz yanıt vermeden önce görüşmenin bağlamını ve son mesajları dikkate almalıdır.

Temsilciniz kullanıcının mesajına nasıl yanıt vereceğini bilmiyorsa hata durumuyla yanıt vermeli ve kullanıcıdan ek bilgi istemek, farklı bir şekilde giriş yapmasını istemek veya temsilcinin nasıl yanıt vereceğini bildiği yanıt ve işlem önerileri sunmak gibi yöntemlerle sohbete devam etmeye çalışmalıdır.

3. adım: Etkileşim için iş mantığını yerine getirin

Temsilciniz, kullanıcının mesajına doğru yanıtı belirledikten sonra altyapınızdan gerekli bilgileri toplar ve etkileşimin iş mantığını yerine getirmek için gerektiğinde diğer sistemlerle etkileşime geçer.

4. adım: Kullanıcıya yanıt verin

Ajan, etkileşimle ilgili işletme mantığını yerine getirdikten sonra başka bir mesaj gönderir ve kullanıcıyla görüşmeye devam eder.

Örnekler

Aşağıdaki kodda, aracınızın mesajları nasıl aldığı gösterilmektedir. Biçimlendirme ve değer bilgileri için UserMessage bölümüne bakın.

Destek uzmanı metni alır

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "text": "Hello, world!"
}

Ajan, öneriden mesaj alır

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "suggestionResponse": {
    "postbackData": "suggestion_1",
    "text": "Suggestion #1"
  }
}

Ajan bir konum alıyor

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "location": {
    "latitude": 37.422000,
    "longitude": -122.084056
  }
}

Destek uzmanı dosya alır

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "userFile": {
    "thumbnail": {
      "mimeType": "image/jpeg",
      "fileSizeBytes": 1280,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8",
      "fileName": "4_animated.jpeg"
    },
    "payload": {
      "mimeType": "image/gif",
      "fileSizeBytes": 127806,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9",
      "fileName": "4_animated.gif"
    }
  }
}