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 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 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), 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.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 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 DELIVERED etkinliğ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.