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

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.
Gelen mesajları işleme
Temsilcinizin 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 işlemin 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ı amacını 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önderdiğinde aracınız, yanıtı desteklenen anahtar kelimeler için ayrıştırabilir veya kullanıcının mesajını işlemek ve ilerlenecek bir yol belirlemek için doğal dil işleme (ör. Dialogflow) kullanabilir.
Konum ve dosya mesajları metin veya geri gönderme verilerini içermediğinden, yanıt vermeden önce temsilciniz 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
Temsilci, 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.
Not: ABD trafiği için kullanıcı mesajları ve önerilen işlemlere dokunma, ABD faturalandırma modeli sınıflandırmalarına tabidir. Aracınız bu etkinlikleri aldığında, faturalandırılabilir etkinlik türünü belirleyen richMessageClassification alanını içerir. Sınıflandırma ayrıntıları için ABD faturalandırma modeli kılavuzuna bakın.
Destek uzmanı metin alır
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"text": "Hello, world!"
}Temsilci, öneriden gelen bir 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"
}
}Temsilci bir konum alır
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"location": {
"latitude": 37.422000,
"longitude": -122.084056
}
}Temsilci 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" } } }
Gelen etkinlikleri işleme
Temsilciniz, kullanıcılara gönderdiği mesajlar teslim edildiğinde ve okunduğunda bildirim alır.
Aşağıdaki kodda, aracınızın mesajları nasıl aldığı gösterilmektedir. Biçimlendirme ve değer bilgileri için UserEvent başlıklı makaleyi inceleyin.
İleti kullanıcıya teslim edildi
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "DELIVERED"
}Mesaj kullanıcı tarafından okundu
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "READ"
}Kullanıcı yazıyor
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"agentId": "AGENT_ID"
}