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ı cihazı tarafından temsilcinize gönderilir
- Temsilci tarafından oluşturulan: Temsilciniz tarafından kullanıcıya gönderilir
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ı.