Etkinlikler

Etkinlikler, temsilcinizin gönderip alabileceği bildirimlerdir. Üç tür etkinlik vardır:

Sunucu tarafından oluşturulan etkinlikler

RBM platformu, temsilcinizi mesaj geçerlilik süreleri gibi sunucu düzeyindeki güncellemeler hakkında bilgilendirmek için etkinlikler gönderir.

Biçimlendirme ve değer seçenekleri için ServerEvent bölümüne bakın.

İletinin süresi doldu; iptal işlemi başarılı oldu

İletinin süresi doldu ve başarıyla iptal edildi. Bu etkinlik, yedek mesaj stratejiniz için iyi bir tetikleyici olur.

{
  "phoneNumber": [phone number of recipient that the original message was intended for] ,
  "messageId": [RCS message ID of the message],
  "agentId": [bot ID],
  "eventType": "TTL_EXPIRATION_REVOKED",
  "eventId": [unique ID generated by the RBM platform],
  "sendTime": [time at which the server sent this event]
}

İletinin süresi doldu; iptal işlemi başarısız oldu

İletinin süresi doldu ancak ileti iptal edilemedi.

{
  "phoneNumber": [phone number of recipient that the original message was intended for] ,
  "messageId": [RCS message ID of the message],
  "agentId": [bot ID],
  "eventType": "TTL_EXPIRATION_REVOKE_FAILED",
  "eventId": [unique ID generated by the RBM platform],
  "sendTime": [time at which the server sent this event]
}

İleti teslimi garanti edilmez.

  • İleti teslim edildiyse webhook'unuzda bir DELIVERED etkinliği alırsınız.
  • İleti teslim edilmediyse iptal isteği göndermek için iptal API'sini kullanın.

Mesaj OTP veya sahtekarlık uyarısı gibi zamana duyarlıysa kullanıcıya yinelenen mesajlarla sonuçlansa bile mesajı SMS gibi alternatif bir kanal üzerinden göndermek en iyisidir.

Kullanıcı tarafından oluşturulan etkinlikler

Kullanıcı mesajları ve özellik kontrollerinde olduğu gibi, aracınız kullanıcı etkinliklerini JSON olarak alır.

Biçimlendirme ve değer seçenekleri için UserEvent bölümüne bakın.

Kullanıcı, temsilci mesajını alır

Bu etkinlik bir iletinin teslim edildiğini gösterir.

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "DELIVERED",
  "eventId": "EVENT_ID",
  "messageId": "MESSAGE_ID",
  "agentId": "AGENT_ID"
}

Kullanıcı, aracı 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şlar

Bu etkinlik, bir kullanıcının yazmakta olduğunu gösterir.

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",,
  "agentId": "AGENT_ID"
}

Kullanıcı bir kısa mesaj gönderir

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "text": "Hi",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

Kullanıcı bir 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 verilerini ve metnini içeren 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 temsilciniz, 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"
  }
}

Temsilci tarafından oluşturulan etkinlikler

Temsilciniz, insan etkileşimlerini simüle etmek ve kullanıcıyı aracınızın mesajlarıyla etkileşimde bulunduğuna dair bilgilendirmek için etkinlikler gönderir. Kullanıcılar açısından etkinlikler, görüşmelerinde bildirim olarak görüntülenir.

Biçimlendirme ve değer seçenekleri için phones.agentEvents bölümüne bakın.

Temsilci bir READ etkinliği gönderir

Bu etkinlik, kullanıcılara belirli bir ileti için okundu bilgisi olarak görünür. Kullanıcıya, mesajını RBM platformunun ilettiğini ve temsilcinin mesajı işlediğini bildirir.

Aşağıdaki kod, messageId eşleşen mesaj için READ etkinliği gönderir.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'READ',
  'messageId': 'MESSAGE_ID'
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('../libs/rbm_api_helper');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
Bu kod, bir RBM örnek aracısından alıntıdır.

Java

import com.google.rbm.samples.lib.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage(messageId, "+12223334444");
Bu kod, bir RBM örnek aracısından alıntıdır.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that message_id was read
rbm_service.send_read_event('+12223334444', message_id)
Bu kod, bir RBM örnek aracısından alıntıdır.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that messageId has been read
rbmApiHelper.SendReadMessage(messageId, "+12223334444");
Bu kod, bir RBM örnek aracısından alıntıdır.

Temsilci bir IS_TYPING etkinliği gönderir

Bu etkinlik, kullanıcılara bir yazma göstergesi olarak gösterilir ve aracınızın bir mesaj oluşturmakta olduğunu belirtir. Yazma göstergesi kısa bir süre sonra (yaklaşık 20 saniye) veya kullanıcının cihazı temsilcinizden yeni bir mesaj aldığında sona erer. Temsilciniz, yazma göstergesinin süre sonu zamanlayıcısını sıfırlamak için birden fazla IS_TYPING etkinliği gönderebilir.

Aşağıdaki kod bir IS_TYPING etkinliği gönderir.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'IS_TYPING',
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('../libs/rbm_api_helper');

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage('+12223334444', function() {
    console.log('Typing event sent!');
});
Bu kod, bir RBM örnek aracısından alıntıdır.

Java

import com.google.rbm.samples.lib.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage("+12223334444");
Bu kod, bir RBM örnek aracısından alıntıdır.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that the agent is typing
rbm_service.send_is_typing_event('+12223334444')
Bu kod, bir RBM örnek aracısından alıntıdır.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that the agent is typing
rbmApiHelper.SendIsTypingMessage(messageId, "+12223334444");
Bu kod, bir RBM örnek aracısından alıntıdır.