Etkinlikler, temsilcinizin gönderip alabileceği bildirimlerdir. Üç tür etkinlik vardır:
- Sunucu tarafından oluşturulan: RBM platformu tarafından temsilcinize gönderilir
- Kullanıcı tarafından oluşturulan: Kullanıcının cihazı tarafından temsilcinize gönderilir
- Temsilci tarafından oluşturuldu: Temsilciniz tarafından kullanıcıya gönderilir
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.