Etkinlik alma

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 abonelikten ayrılması 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 işleme dokunur.

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 dizisinin 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ı durdurduğunu 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 işleminin 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 UNSUBSCRIBE etkinliğ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), Almanya (DE), Birleşik Krallık (GB), Hindistan (IN) DURDUR
    İspanya (ES), Meksika (MX) BAJA
    Fransa (FR) DURDUR
    Brezilya (BR) parar
  • Kullanıcı e-posta listesinden çıktıktan sonra, ileti dizisi spam olarak bildirilmediği sürece gelen kutusunda kalır. Spam olarak bildirilirse Spam ve engellenen 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.

İşletme 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 onaylandığına dair mesaj ve iletişim tercihlerini daha ayrıntılı yönetebileceği bilgiler

Örnek

Bir kullanıcı, kullanım alanı çoklu kullanım olan bir hava yolu temsilcisinin e-posta listesinden çıkarsa pazarlama iletileri göndermeyi durdurmanız gerekir. Ancak, kullanıcı söz konusu uçuşla ilgili güncellemeleri almak için açık rıza verdiyse 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ŞLA") 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), Almanya (DE), Birleşik Krallık (GB), Hindistan (IN) BAŞLAT
    İspanya (ES), Meksika (MX) ALTA
    Fransa (FR) Démarrer
    Brezilya (BR) começar

İşletme 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 (ör. web sitenizde) yeniden abone olursa durumunu güncellemek ve mesaj göndermeye buna göre 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.

Temsilci 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 olarak değiştiğinde.LAUNCHED 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şma 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.type yolunda agent_launch_event değ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 Temsilci başlatma durumu Ayrıntılar
UNLAUNCHED Başlatılmamış Düzenlemeye izin verilir.
PENDING Beklemede İstek, incelenmek üzere bir operatöre gönderildi.
LAUNCHED Başlatıldı İletilere belirli bir operatörde 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.

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"
    }

Aşağıdaki tabloda, aracı başlatma durumları ve bunları tetikleyen işlemler gösterilmektedir:

Eski başlatma durumu Yeni başlatma durumu Değişiklik tetikleyicisi
PENDING LAUNCHED Temsilci onayı bekleniyor.
PENDING REJECTED Beklemedeki temsilci reddedildi.
LAUNCHED SUSPENDED Başlatılan temsilci askıya alındı.
SUSPENDED LAUNCHED Askıya alınmış temsilci yeniden etkinleştirildi.
SUSPENDED TERMINATED Askıya alınmış temsilci sonlandırıldı.
TERMINATED LAUNCHED Sonlandırılan temsilci başlatıldı.

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'unuzda DELIVERED etkinliği alırsınız.
  • İleti teslim edilmediyse iptal isteği göndermek için iptal API'sini kullanın.

Mesaj zamana duyarlıysa (ör. tek kullanımlık şifre veya sahtekarlık uyarısı) kullanıcıya yinelenen mesajlar gönderilse bile mesajı SMS gibi alternatif bir kanal üzerinden göndermek en iyisidir.