Temsilciniz, RBM platformundan webhook etkinlikleri alır. Bu etkinlikler hem kullanıcı etkileşimleri hem de platform düzeyindeki güncellemeler hakkında sizi bilgilendirir.
Bu etkinlikler, kaynaklarına göre kategorize edilir:
- Kullanıcı etkinlikleri: Kullanıcının cihazından temsilcinize gönderilen ve temsilcinizle veya mesajlarıyla etkileşimi işaret eden bildirimler.
- Platform etkinlikleri: RBM platformu tarafından gönderilen, temsilci lansman durumu değişiklikleri ve mesajların süresinin dolmasıyla ilgili bildirimler.
Aracınızın kullanıcının cihazına gönderdiği durum etkinlikleriyle ilgili ayrıntılar için Etkinlik gönderme başlıklı makaleyi inceleyin.
Kullanıcı etkinlikleri
Kullanıcı etkinlikleri, kullanıcının cihazından gelen ve ileti durumunu veya abonelik değişikliklerini (ör. kullanıcının Google Mesajlar'da aboneliğini iptal etmesi veya yeniden abone olması) bildiren bildirimlerdir.
Biçimlendirme ve değer seçeneklerinin tam listesi için UserEvent referansına bakın.
Kullanıcı, temsilci mesajını alır
Bu etkinlik, bir iletinin kullanıcının cihazına başarıyla teslim edildiğini gösterir.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "DELIVERED",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}Kullanıcı, temsilci mesajını okur
Bu etkinlik, bir iletinin açıldığını veya onaylandığını gösterir.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "READ",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}Kullanıcı yazmaya başladığında
Bu etkinlik, kullanıcının yanıt yazdığını gösterir.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Kullanıcı kısa mesaj gönderir
{
"senderPhoneNumber": "PHONE_NUMBER",
"text": "Hi",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Kullanıcı dosya gönderir
{ "senderPhoneNumber": "PHONE_NUMBER", "userFile": { "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } }, "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Kullanıcı, önerilen bir yanıta dokunur.
Kullanıcı, önerilen bir yanıta dokunduğunda temsilciniz, yanıtın geri gönderme verileri ve metniyle birlikte bir etkinlik alır.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID",
"suggestionResponse": {
"postbackData": "postback_1234",
"text": "Hello there!"
}
}Kullanıcı, önerilen bir eyleme dokunduğunda
Kullanıcı, önerilen bir işleme dokunduğunda aracınız, işlemin geri gönderme verilerini içeren bir etkinlik alır.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID",
"suggestionResponse": {
"postbackData": "postback_1234"
}
}Kullanıcı, ileti dizisinden e-posta listesinden çıkarılırsa
Bu etkinlik, kullanıcının temsilcinizden ve temsil ettiği işletmeden promosyon gibi gerekli olmayan mesajları almayı iptal ettiğini gösterir. Kullanıcılar, Google Mesajlar'da RBM görüşmesinden çıkarak bu etkinliği tetikler.
JSON yükü örneğini aşağıda bulabilirsiniz:
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "UNSUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Abonelikten çıkma özelliğinin işleyiş şekli
- Sohbet menüsünde her zaman E-posta listesinden çık seçeneği bulunur. Tanıtım amaçlı ve çok kullanımlı temsilciler için bu seçenek, belirli sayıda okunmamış mesajdan sonra doğrudan sohbette de gösterilir (ülkeye göre farklı kurallar geçerlidir).
Abonelikten çık'ı seçtiğinizde iki işlem aynı anda tetiklenir: Google Mesajlar, temsilcinize ülkeye özgü bir anahtar kelime (örneğin, "DUR") gönderir ve RBM platformu, webhook'unuza bir
UNSUBSCRIBEetkinliği gönderir.Anahtar kelime, kullanıcının telefon numarasının iki harfli ülke koduyla belirlenir. Aşağıdaki tabloda, desteklenen her ülke için anahtar kelimeler listelenmektedir.
Ülke (ülke kodu) Abonelikten çıkma anahtar kelimesi ABD (US), Hindistan (IN), Birleşik Krallık (GB), Almanya (DE) DURDUR İspanya (ES), Meksika (MX) BAJA Fransa (FR) DURDUR Brezilya (BR) parar Kullanıcı e-posta listesinden çıktıktan sonra, spam olarak bildirilmediği sürece ileti dizisi gelen kutusunda kalır. Spam olarak bildirilirse Spam ve engellenenler klasörüne taşınır.
Google, politika ve iş kuralı ihlallerini belirlemek için kullanıcının e-posta listesinden çıkmasının ardından mesaj kalıplarını izler.
İş kuralları
- Bu görüşmeyi yöneten RBM iş ortağı olarak, kullanıcının e-posta listesinden çıkma isteğine uymak sizin sorumluluğunuzdadır.
- Abonelikten çıkma işlemini ileti dizisinde gerçekleştiremiyorsanız kullanıcıların abonelik tercihlerini yönetebileceği web sitesine veya uygulamaya doğrudan bağlantı içeren bir onay mesajını hemen göndermeniz gerekir.
- Kullanıcı abonelikten çıktıktan sonra gerekli olmayan mesajlar göndermek yasaktır.
- Önemli mesajlara izin verilmeye devam edilir. Bunlardan bazıları:
- Tek kullanımlık şifreler (OTP'ler) gibi kimlik doğrulamalar
- Kullanıcının istediği ve izin verdiği belirli bir hizmetle ilgili bildirimler
- Kullanıcının e-posta listesinden çıkma isteğinin onaylanması ve iletişim tercihlerini daha ayrıntılı yönetmeyle ilgili bilgiler
Örnek
Bir kullanıcı, kullanım alanı çoklu kullanım olan bir hava yolu şirketinin e-posta listesinden çıkarsa pazarlama iletileri göndermeyi durdurmanız gerekir. Ancak, kullanıcı söz konusu uçuşla ilgili güncellemeleri almayı açıkça kabul ettiyse uçuş güncellemeleri gönderebilirsiniz.
Abonelikten çıkma nedenleri
Kullanıcılar, temsilcinizin e-posta listesinden çıkarken aşağıdaki seçeneklerden birini belirleyebilir:
- Spam
- Hiç kaydolmadım
- Çok sayıda mesaj
- Artık ilgimi çekmiyor
- Diğer
Kullanıcıların neden e-posta listesinden çıktığını anlamalarına yardımcı olmak için iş ortaklarına Analytics'e genel bakış bölümünde abonelikten çıkma nedenleri gösterilir.
Kullanıcı, görüşmeye yeniden abone olur.
Bu etkinlik, kullanıcının temsilcinizden tekrar mesaj almak istediğini gösterir. Bu mesajlara promosyon gibi gerekli olmayan içerikler de dahildir. Kullanıcılar, Google Mesajlar'da daha önce aboneliklerini iptal ettikleri bir ileti dizisine yeniden abone olarak bu etkinliği tetikleyebilir.
JSON yükü örneğini aşağıda bulabilirsiniz:
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "SUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Yeniden abone olmanın işleyiş şekli
- Hem sohbet menüsünden hem de sohbet içi bağlantıdan erişilebilen Abone ol seçeneği, kullanıcıların abonelikten çıktıkları bir sohbete yeniden abone olmalarını sağlar.
Abone ol'u seçtiğinizde iki işlem aynı anda tetiklenir: Google Mesajlar, temsilcinize ülkeye özgü bir anahtar kelime (ör. "BAŞLAT") gönderir ve RBM platformu, webhook'unuza bir SUBSCRIBE etkinliği gönderir. Belirli anahtar kelime, kullanıcının telefon numarasının iki harfli ülke koduna göre belirlenir. Aşağıdaki tabloda, desteklenen her ülke için anahtar kelimeler listelenmektedir.
Ülke (ülke kodu) Abone olma anahtar kelimesi ABD (US), Hindistan (IN), Birleşik Krallık (GB), Almanya (DE) BAŞLAT İspanya (ES), Meksika (MX) ALTA Fransa (FR) Démarrer Brezilya (BR) começar
İş kuralları
- Bu görüşmeyi yöneten RBM iş ortağı olarak, kullanıcının yeniden abone olma isteğine uymak sizin sorumluluğunuzdadır.
- Yeniden abonelik, promosyonlar gibi zorunlu olmayan içerikler de dahil olmak üzere tüm mesaj türleri için geçerlidir.
- Bir kullanıcı, e-posta listesinden çıktıktan sonra işletmenize mesaj gönderirse bu, yeniden abone olma isteği olarak değerlendirilebilir.
- Bir kullanıcı mesajlaşma kanalı dışında (örneğin, web sitenizde) yeniden abone olursa durumunu güncellemek ve buna göre mesaj göndermeye devam etmek RBM iş ortağı olarak sizin sorumluluğunuzdadır.
Platform etkinlikleri
RBM platformu, temsilcinizi temsilcinin başlatma durumu veya mesajların süresinin dolması ile ilgili değişiklikler hakkında bilgilendirmek için platform etkinlikleri gönderir.
Ajan başlatma durumu değişti
RBM platformu, temsilcinizin kullanıma sunma durumuyla ilgili her değişiklik için bir AgentLaunchEvent gönderir. Örneğin, temsilcinizin durumu PENDING iken LAUNCHED olarak değiştiğinde. Etkinlik, Pub/Sub mesajı olarak teslim edilir. Bunu diğer etkinliklerden ayırt etmek için message.attributes.type değerinin agent_launch_event yolunu kontrol edin.
Webhook yapılandırması
Bu bildirimleri almak için iş ortağı düzeyinde veya temsilci düzeyinde webhook'unuzu kullanabilirsiniz.
Ön koşullar
- RBM mesajlaşması için webhook'unuzu yapılandırın (bu, kullanıcı mesajlarını ve kullanıcı etkinliklerini almak için gereklidir).
- Kullanıcı etkinlikleri ile aracı başlatma durumu etkinliklerini ayırt etmek için
message.attributes.typeyolundaagent_launch_eventdeğerini kontrol edin.
Etkinlik yükü yapısı
AgentLaunchEvent, Pub/Sub mesajı olarak iletilir. Aşağıda bununla ilgili bir örnek verilmiştir:
{
"message": {
"attributes": {
"business_id": "rbm-chatbot-id@rbm.goog",
"event_type": "REJECTED",
"product": "RBM",
"project_number": "3338881441851",
"type": "agent_launch_event"
},
"data": "....BASE64-encoded-JSON-with-notification...",
"messageId": "14150481888479752",
"message_id": "14150481888479752",
"publishTime": "2025-03-05T18:50:21.88Z",
"publish_time": "2025-03-05T18:50:21.88Z"
},
"subscription": "projects/rbm-partner-gcp/subscriptions/rbm-sub"
}
Etkinlik yükündeki AgentLaunchEvent.LaunchState alanı, aracının yeni başlatma durumunu gösterir. Olası değerler şunlardır:
| Değer | Ajan başlatma durumu | Ayrıntılar |
|---|---|---|
PENDING |
Beklemede | İstek, incelenmek üzere bir operatöre gönderildi. |
LAUNCHED |
Başlatıldı | Belirli bir operatörde iletilere izin verilir. |
REJECTED |
Belirli bir kargo şirketi tarafından reddedildi | Ret nedeni yorumda belirtilir. |
SUSPENDED |
Belirli bir operatörde askıya alınmış | Askıya alınma nedeni yorumda belirtilir. |
UNLAUNCHED |
Başlatılmamış | Tüm operatörlerde kullanıma sunulmamış olan temsilciler düzenlenebilir. |
Veri alanı, lansman durumu ayrıntılarını içeren Base64 kodlu bir JSON nesnesi içerir. Aşağıda, kodu çözülmüş JSON örneği verilmiştir:
{
"eventId": "rbm-chatbot-id/0a7ed168-676e-4a56-b422-b23434",
"agentId": "rbm-chatbot-id@rbm.goog",
"botDisplayName": "RBM Welcome Bot 7 - RBM Chatbot name",
"brandId": "bd38fbff-392a-437b-a6f2-7f2e43745b56",
"brandDisplayName": "Chatbots brand",
"regionId": "/v1/regions/fi-rcs",
"oldLaunchState": "PENDING",
"newLaunchState": "REJECTED",
"actingParty": "rbm-support@google.com",
"comment": "Carrier has rejected the launch: policy violation",
"sendTime": "2025-03-05T18:50:19.386436Z"
}
Operatör tarafından başlatılan lansman durumu değişiklikleri
Bunlar, inceleme ve yaptırım süreci sırasında genellikle operatörler tarafından ele alınan izin verilen geçişlerdir:
| Eski başlatma durumu | Yeni başlatma durumu | Tetikleyici işlemi |
|---|---|---|
PENDING |
LAUNCHED |
Yayınlama isteğini onaylayın. |
PENDING |
REJECTED |
Lansman isteğini reddetme |
LAUNCHED |
SUSPENDED |
Yaptırım/yönetici nedenleriyle askıya alma |
SUSPENDED |
LAUNCHED |
Bir aracı etkin duruma geri yükleme |
SUSPENDED |
UNLAUNCHED |
Bir temsilciyi sonlandırın. |
İş ortağı tarafından başlatılan lansman durumu değişiklikleri
İş ortakları tarafından genellikle işlenen ve izin verilen geçişler şunlardır:
| Eski başlatma durumu | Yeni başlatma durumu | Tetikleyici işlemi |
|---|---|---|
UNSPECIFIED |
PENDING |
İncelemeye gönderin. |
UNLAUNCHED |
PENDING |
İncelemeye gönderin. |
REJECTED |
PENDING |
İnceleme için yeniden gönderin. |
Mesajın süresi doldu; iptal işlemi başarılı oldu
Bu etkinlik, iletinin geçerlilik süresinin (TTL) sona erdiğini ve iletinin başarıyla iptal edildiğini gösterir. Bu, yedek mesajlaşma stratejiniz için iyi bir tetikleyicidir.
Biçimlendirme ve değer seçeneklerinin tam listesi için ServerEvent referansına bakın.
{ "phoneNumber": "[phone number]" , "messageId": "[RCS message ID]", "agentId": [bot ID], "eventType": "TTL_EXPIRATION_REVOKED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
Mesajın süresi doldu; iptal işlemi başarısız oldu
Bu etkinlik, iletinin TTL'sinin süresinin dolduğunu ancak iletinin başarıyla iptal edilmediğini gösterir.
Biçimlendirme ve değer seçeneklerinin tam listesi için ServerEvent referansına bakın.
{ "phoneNumber": "[phone number]", "messageId": "[RCS message ID]", "agentId": "[bot ID]", "eventType": "TTL_EXPIRATION_REVOKE_FAILED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
İletinin teslim edileceği garanti edilmez.
- İleti teslim edildiyse webhook'unuza
DELIVEREDetkinliği gönderilir. - İleti teslim edilmediyse iptal isteği göndermek için iptal API'sini kullanın.
Mesaj zamana duyarlıysa (ör. OTP veya sahtekarlık uyarısı) kullanıcıya yinelenen mesajlar gönderilse bile mesajı SMS gibi alternatif bir kanal üzerinden göndermek en iyisidir.