Etkinlikler

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

Sunucu tarafından oluşturulan etkinlikler

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

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

Mesajın süresi doldu; iptal işlemi başarılı

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

{
  "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 edilemedi

İletinin süresi dolmuş, ancak iptal edilmemiştir.

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

Mesajın teslim edilmesi 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ın zamana duyarlı olması (ör. tek kullanımlık şifre veya sahtekarlık uyarısı) durumunda, kullanıcıya yinelenen mesajlar gönderilmesine neden olsa bile mesajı SMS gibi alternatif bir kanal üzerinden göndermek en iyi seçenektir.

Kullanıcı tarafından oluşturulan etkinlikler

Temsilciniz, kullanıcı mesajları ve özellik kontrollerinde olduğu gibi kullanıcı etkinliklerini de JSON olarak alır.

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

Kullanıcı, temsilci mesajı 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ı, temsilci mesajını okur

Bu etkinlik bir mesajın 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, kullanıcının yazdığını 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

Bir 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

Bir 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, gerçek kişilerle etkileşimi simüle etmek ve kullanıcıya temsilcinizin mesajlarıyla etkileşime geçtiğinden emin olmak için etkinlikler gönderir. Kullanıcılar için etkinlikler, görüşmelerinde bildirim olarak gösterilir.

Biçimlendirme ve değer seçenekleri için phones.agentEvents konusuna bakın.

Temsilci bir READ etkinliği gönderir

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

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

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_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('@google/rcsbusinessmessaging');

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

Java

import com.google.rbm.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, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.

Temsilci bir IS_TYPING etkinliği gönderir

Bu etkinlik, kullanıcılara yazma göstergesi olarak görünür ve temsilcinizin mesaj oluşturduğunu bildirir. Yazma göstergesinin süresi kısa bir süre (yaklaşık 20 saniye) sonra veya kullanıcının cihazı temsilcinizden yeni bir mesaj aldığında dolar. 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&agentId=AGENT_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('@google/rcsbusinessmessaging');

// 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.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, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.