Nhân viên hỗ trợ RBM giao tiếp với người dùng bằng cách gửi và nhận tin nhắn. Để gửi tin nhắn cho người dùng, nhân viên hỗ trợ của bạn sẽ gửi yêu cầu gửi tin nhắn đến API Tin nhắn từ doanh nghiệp RCS. Một yêu cầu có thể bao gồm văn bản, thẻ đa dạng thức, hình ảnh hoặc video cũng như các câu trả lời và hành động được đề xuất.
Nếu bạn gửi tin nhắn cho một người dùng có thiết bị không hỗ trợ RCS hoặc chưa bật RCS, thì nền tảng RBM sẽ trả về lỗi 404. Trong trường hợp này, bạn có thể cố gắng liên hệ với người dùng thông qua các phương thức dự phòng được xác định trong cơ sở hạ tầng của mình.
Nếu bạn gửi tin nhắn đến một người dùng RCS trên một mạng chưa khởi chạy nhân viên hỗ trợ hoặc trên một mạng chưa bật lưu lượng truy cập RCS, thì nền tảng RBM sẽ trả về lỗi 403.
Nếu bạn gửi một tin nhắn có các tính năng mà thiết bị của người dùng không hỗ trợ, thì nền tảng RBM sẽ trả về lỗi và không phân phối tin nhắn của bạn.
Trong chiến lược gửi tin nhắn trên nhiều kênh, tốt nhất bạn nên thu hồi các tin nhắn không được phân phối sau một khoảng thời gian hợp lý và gửi lại qua một kênh khác. Để tự động thu hồi tin nhắn vào một thời điểm đã xác định trước, hãy đặt thời gian hết hạn của tin nhắn.
Người nhận đang ngoại tuyến
Nền tảng RBM vẫn chấp nhận tin nhắn để phân phối nếu người nhận đang ngoại tuyến. Bạn sẽ nhận được phản hồi 200 OK, đồng thời nền tảng RBM sẽ giữ lại thông báo và cố gắng phân phối lại trong 30 ngày. Bạn không cần yêu cầu RBM gửi lại thông báo.
RBM sẽ xoá mọi thông báo không được phân phối sau 30 ngày kể từ khi gửi.
Tuỳ thuộc vào trường hợp sử dụng của ứng dụng, bạn có thể muốn thu hồi một thư chưa được gửi trước khi hết thời gian chờ 30 ngày này. Việc thu hồi có thể ngăn người dùng ngoại tuyến nhận được thông báo đã lỗi thời khi họ quay lại trực tuyến. Có nhiều cách để thu hồi thư:
- Gửi yêu cầu thu hồi để kích hoạt việc thu hồi.
- Đặt thời gian hết hạn cho thông báo để tự động thu hồi thông báo vào thời điểm thích hợp.
Đặt thời gian hết hạn cho tin nhắn
Tin nhắn của nhân viên hỗ trợ có tính thời gian không? Ví dụ: OTP chỉ có hiệu lực trong một khoảng thời gian ngắn. Ưu đãi trong thời gian có hạn sẽ hết hạn. Ngoài ra, lời nhắc về cuộc hẹn sẽ không liên quan sau ngày hẹn. Để đảm bảo tin nhắn kịp thời và phù hợp, hãy đặt thời gian hết hạn cho tin nhắn. Điều này có thể ngăn người dùng ngoại tuyến nhận nội dung cũ khi họ quay lại mạng. Thời gian hết hạn cũng là một tín hiệu tốt để gọi chiến lược nhắn tin dự phòng để người dùng nhận được thông tin họ cần đúng giờ.
Để đặt thời gian hết hạn cho thông báo, hãy chỉ định một trong các trường sau trong thông báo của tác nhân:
expireTime
: thời gian chính xác theo giờ UTC khi thông báo hết hạn.ttl
(thời gian tồn tại): khoảng thời gian trước khi thông báo hết hạn.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem AgentMessage
.
Sau khi thông báo hết hạn, nền tảng RBM sẽ ngừng cố gắng phân phối thông báo và thông báo đó sẽ tự động bị thu hồi. Tuy nhiên, điều này có thể không thành công trong một số trường hợp hiếm hoi. Ví dụ: API có thể kích hoạt việc thu hồi trong khi nền tảng RBM đang trong quá trình phân phối thông báo. Để xác nhận xem thông báo đã hết hạn có được thu hồi thành công hay không, RBM sẽ gửi một sự kiện thông báo đến webhook của bạn.
Giá trị tối đa cho ttl
và expireTime
là 15 ngày sau khi gửi thông báo.
Giới hạn kích thước thư
Kích thước tối đa của toàn bộ AgentMessage đã chuyển đổi thành chuỗi là 250 KB. Thẻ đa dạng thức và nội dung nghe nhìn khác cũng đóng góp vào giới hạn kích thước này. Phần văn bản của thông báo có giới hạn riêng là 3072 ký tự.
Kích thước tối đa của tệp có thể gửi qua RBM là 100 MB. Một thông báo RBM chỉ có thể đính kèm một tệp PDF hoặc tệp phương tiện. Hãy tham khảo phần Tệp phương tiện và PDF để biết thêm thông tin.
Văn bản
Thông báo đơn giản nhất được tạo bằng văn bản. Tin nhắn văn bản phù hợp nhất để truyền đạt thông tin mà không cần hình ảnh, tương tác phức tạp hoặc phản hồi.
Ví dụ:
Mã sau đây sẽ gửi một tin nhắn văn bản thuần tuý. Để biết các tuỳ chọn định dạng và giá trị, hãy xem phones.agentMessages.create
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!' } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); let params = { messageText: 'Hello, world!', msisdn: '+12223334444', }; // Send a simple message to the device rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Send simple text message to user rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444" ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a simple RBM text message message_text = messages.TextMessage('Hello, world!') # Send text message to the device messages.MessageCluster().append_message(message_text).send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Nội dung thông báo cơ bản – chuyển đổi SMS
Các nhà mạng đã ra mắt mô hình thanh toán để hỗ trợ việc chuyển tin nhắn SMS sang RBM. Thông báo RBM chứa tối đa 160 ký tự UTF-8 được gọi là Thông báo cơ bản.
Khi tạo yêu cầu gửi Thông báo cơ bản, hãy nhớ rằng các ký tự được tính là 1 byte (UTF-8). Nếu bạn gửi một tin nhắn chứa các ký tự đặc biệt như biểu tượng cảm xúc hoặc bộ ký tự nhiều byte, thì mỗi ký tự sẽ được tính là 2 ký tự UTF-8.
Nhập một đoạn văn bản vào hộp để kiểm tra độ dài của đoạn văn bản đó:
Mật khẩu một lần để xác minh người dùng
Bạn có thể sử dụng RBM để gửi mật khẩu một lần (OTP) nhằm xác minh người dùng tự động bằng SMS Retriever API. Để tìm hiểu thêm về Trình truy xuất tin nhắn SMS và các API liên quan, hãy xem tài liệu về Trình truy xuất tin nhắn SMS. Để biết thông tin chi tiết về quy trình xác minh người dùng tự động trong các ứng dụng đã đăng ký với SMS Retriever API, hãy xem sơ đồ quy trình này.
Trong quá trình xác minh, SMS Retriever API sẽ theo dõi thông báo RBM. Thông báo này phải chứa mã OTP và hàm băm nhận dạng ứng dụng. Sau khi hàm băm được so khớp với ứng dụng, mã OTP sẽ được trích xuất và chuyển tiếp đến ứng dụng để tự động xác minh người dùng.
Dưới đây là tin nhắn văn bản RBM mẫu để xác minh người dùng: Mã của bạn là <OTP> <hash ứng dụng>.
Ví dụ: Your code is 123456 M8tue43FGT.
Tệp phương tiện và PDF
Khi bạn gửi một thư có hình ảnh, video, âm thanh hoặc tệp PDF, nhân viên hỗ trợ của bạn phải cung cấp URL có thể truy cập công khai cho nội dung đó hoặc trực tiếp tải tệp lên. Đối với tệp phương tiện, bạn cũng có thể chỉ định hình thu nhỏ để cho phép người dùng xem trước nội dung trước khi nhấp vào. Đối với tệp âm thanh, tiện ích âm thanh mặc định được dùng làm phần giữ chỗ.
Nền tảng RBM lưu các tệp vào bộ nhớ đệm trong 60 ngày và API sẽ trả về mã tệp mà nhân viên hỗ trợ của bạn có thể đưa vào tin nhắn cho người dùng. Sau 60 ngày, RBM sẽ xoá các tệp khỏi bộ nhớ đệm.
Khi chỉ định tệp theo URL, tốt nhất bạn nên đặt contentMessage.forceRefresh
thành false
. Việc đặt contentMessage.forceRefresh
thành true
sẽ buộc RBM tìm nạp nội dung mới từ URL đã chỉ định, ngay cả khi nội dung URL được lưu vào bộ nhớ đệm, điều này làm tăng thời gian phân phối tin nhắn cho người dùng.
Xem các phương pháp hay nhất về giới hạn và đề xuất về kích thước tệp.
Ví dụ về URL tệp
Mã sau đây sẽ gửi một hình ảnh. Để biết các tuỳ chọn định dạng và giá trị, hãy xem AgentContentMessage
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'contentInfo': { 'fileUrl': 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif', 'forceRefresh': 'false' } } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); let params = { fileUrl: 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif', msisdn: '+12223334444', }; // Send an image/video to a device rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.AgentContentMessage; import com.google.api.services.rcsbusinessmessaging.v1.model.AgentMessage; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); String fileUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // create media only message AgentContentMessage agentContentMessage = new AgentContentMessage(); agentContentMessage.setContentInfo(new ContentInfo().setFileUrl(fileUrl)); // attach content to message AgentMessage agentMessage = new AgentMessage(); agentMessage.setContentMessage(agentContentMessage); rbmApiHelper.sendAgentMessage(agentMessage, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create media file attachment file_message = messages.FileMessage('http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif') messages.MessageCluster().append_message(file_message).send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); string fileUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create content info with the file url ContentInfo contentInfo = new ContentInfo { FileUrl = fileUrl }; // Attach content info to a message AgentContentMessage agentContentMessage = new AgentContentMessage { ContentInfo = contentInfo, }; // Attach content to message AgentMessage agentMessage = new AgentMessage { ContentMessage = agentContentMessage }; rbmApiHelper.SendAgentMessage(agentMessage, "+12223334444");Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Ngoài ra, bạn có thể tải nội dung nghe nhìn lên trước khi gửi trong tin nhắn bằng files.create
.
Ví dụ về cách tải tệp lên
Mã sau đây sẽ tải một tệp video và một tệp hình thu nhỏ lên, sau đó gửi cả hai tệp trong một thông báo. Để biết các tuỳ chọn định dạng và giá trị, hãy xem files.create
và AgentContentMessage
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/upload/v1/files?agentId=AGENT_ID" \ -H "Content-Type: video/mp4" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ --upload-file "FULL_PATH_TO_VIDEO_MEDIA_FILE"
# Capture server-specified video file name from response body JSON
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/upload/v1/files?agentId=AGENT_ID" \ -H "Content-Type: image/jpeg" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ --upload-file "FULL_PATH_TO_THUMBNAIL_MEDIA_FILE"
# Capture server-specified image file name from response body JSON
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'uploadedRbmFile': { 'fileName': 'SERVER-SPECIFIED_VIDEO_FILE_NAME' 'thumbnailName': 'SERVER-SPECIFIED_THUMBNAIL_FILE_NAME' } } }"
Các loại nội dung nghe nhìn được hỗ trợ
RBM hỗ trợ các loại nội dung nghe nhìn sau:
Loại nội dung nghe nhìn | Loại tài liệu | Phần mở rộng | Hoạt động với thẻ thông tin đa dạng thức |
---|---|---|---|
application/ogg | Âm thanh OGG | .ogx | Không |
application/pdf | Không | ||
âm thanh/aac | Âm thanh AAC | .aac | Không |
audio/mp3 | Âm thanh MP3 | .mp3 | Không |
audio/mpeg | Âm thanh MPEG | .mpeg | Không |
audio/mpg | Âm thanh MPG | .mp3 | Không |
audio/mp4 | Âm thanh MP4 | .mp4 | Không |
audio/mp4-latm | Âm thanh MP4-latm | .mp4 | Không |
audio/3gpp | Âm thanh 3GPP | .3gp | Không |
image/jpeg | JPEG | .jpeg, .jpg | Có |
hình ảnh/gif | GIF | .gif | Có |
hình ảnh/png | PNG | .png | Có |
video/h263 | Video H263 | .h263 | Có |
video/m4v | Video M4V | .m4v | Có |
video/mp4 | Video MP4 | .mp4 | Có |
video/mpeg4 | Video MPEG-4 | .mp4, .m4p | Có |
video/mpeg | Video MPEG | .mpeg | Có |
video/webm | Video WEBM | .webm | Có |
Câu trả lời đề xuất
Câu trả lời đề xuất hướng dẫn người dùng trong các cuộc trò chuyện bằng cách cung cấp câu trả lời mà nhân viên hỗ trợ của bạn biết cách phản hồi. Nhân viên hỗ trợ sẽ gửi câu trả lời đề xuất trong danh sách khối đề xuất hoặc trong thẻ đa dạng thức.
Khi người dùng nhấn vào một tin nhắn trả lời được đề xuất, trợ lý của bạn sẽ nhận được một sự kiện chứa văn bản của tin nhắn trả lời và dữ liệu đăng lại.
Câu trả lời đề xuất có tối đa 25 ký tự.
Ví dụ:
Mã sau đây gửi văn bản kèm theo hai câu trả lời đề xuất. Để biết các tuỳ chọn định dạng và giá trị, hãy xem SuggestedReply
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'reply': { 'text': 'Suggestion #1', 'postbackData': 'suggestion_1' } }, { 'reply': { 'text': 'Suggestion #2', 'postbackData': 'suggestion_2' } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); let suggestions = [ { reply: { 'text': 'Suggestion #1', 'postbackData': 'suggestion_1', }, }, { reply: { 'text': 'Suggestion #2', 'postbackData': 'suggestion_2', }, }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with suggestion chips to the device rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); suggestions.add( new SuggestionHelper("Suggestion #1", "suggestion_1").getSuggestedReply()); suggestions.add( new SuggestionHelper("Suggestion #2", "suggestion_2").getSuggestedReply()); // Send simple text message to user rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggested replies for the message to send to the user cluster.append_suggestion_chip(messages.SuggestedReply('Suggestion #1', 'reply:suggestion_1')) cluster.append_suggestion_chip(messages.SuggestedReply('Suggestion #2', 'reply:suggestion_2')) # Send a simple message with suggestion chips to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); List<Suggestion> suggestions = new List<Suggestion> { // Create suggestion chips new SuggestionHelper("Suggestion #1", "suggestion_1").SuggestedReply(), new SuggestionHelper("Suggestion #2", "suggestion_2").SuggestedReply() }; // Send simple text message with suggestions to user rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Hành động đề xuất
Hành động được đề xuất hướng dẫn người dùng trong các cuộc trò chuyện bằng cách tận dụng chức năng tích hợp sẵn của thiết bị. Nhân viên hỗ trợ của bạn có thể đề xuất người dùng quay số, mở một vị trí trên bản đồ, chia sẻ vị trí, mở URL hoặc tạo sự kiện trên lịch. Trợ lý sẽ gửi các hành động được đề xuất trong danh sách khối đề xuất hoặc trong thẻ đa dạng thức.
Khi người dùng nhấn vào một hành động được đề xuất, tác nhân của bạn sẽ nhận được một sự kiện chứa dữ liệu đăng lại của hành động đó.
Hành động được đề xuất có tối đa 25 ký tự.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem SuggestedAction
.
Quay số
Thao tác Quay số hướng dẫn người dùng quay số một số điện thoại do nhân viên hỗ trợ của bạn chỉ định.
Số điện thoại chỉ có thể chứa chữ số (0-9
), dấu cộng (+
), dấu hoa thị (*
) và dấu số (#
). Định dạng quốc tế E.164 (ví dụ: +14155555555
) được hỗ trợ nhưng không bắt buộc. Tức là cả +14155555555
và 1011
đều là các mục hợp lệ.
Ví dụ:
Mã sau đây sẽ gửi một thao tác quay số. Để biết các tuỳ chọn định dạng và giá trị, hãy xem DialAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'Call', 'postbackData': 'postback_data_1234', 'fallbackUrl': 'https://www.google.com/contact/', 'dialAction': { 'phoneNumber': '+15556667777' } } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define a dial suggested action let suggestions = [ { action: { text: 'Call', postbackData: 'postback_data_1234', dialAction: { phoneNumber: '+15556667777' } } }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with a dial suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.DialAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a dial suggested action DialAction dialAction = new DialAction(); dialAction.setPhoneNumber("+15556667777"); // creating a suggested action based on a dial action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Call"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setDialAction(dialAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a dial suggested action suggestions = [ messages.DialAction('Call', 'reply:postback_data_1234', '+15556667777') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a dial an agent suggested action DialAction dialAction = new DialAction { PhoneNumber = "+15556667777" }; // Creating a suggested action based on a dial action SuggestedAction suggestedAction = new SuggestedAction { Text = "Call", PostbackData = "postback_data_1234", DialAction = dialAction }; // Attach action to a suggestion Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Xem một vị trí
Thao tác Xem vị trí hiển thị một vị trí trong ứng dụng bản đồ mặc định của người dùng. Bạn có thể chỉ định vị trí theo vĩ độ và kinh độ hoặc bằng truy vấn dựa trên vị trí hiện tại của người dùng. Bạn cũng có thể đặt nhãn tuỳ chỉnh cho ghim xuất hiện trong ứng dụng bản đồ.
Ví dụ:
Mã sau đây sẽ gửi một thao tác xem vị trí. Để biết các tuỳ chọn định dạng và giá trị, hãy xem ViewLocationAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'View map', 'postbackData': 'postback_data_1234', 'fallbackUrl': 'https://www.google.com/maps/@37.4220188,-122.0844786,15z', 'viewLocationAction': { 'latLong': { 'latitude': "37.4220188', 'longitude': "-122.0844786' }, 'label': 'Googleplex' } } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define a view location suggested action let suggestions = [ { action: { text: 'View map', postbackData: 'postback_data_1234', viewLocationAction: { latLong: { latitude: 37.4220188, longitude: -122.0844786 }, label: 'Googleplex' } } }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with a view location suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.ViewLocationAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a view location suggested action ViewLocationAction viewLocationAction = new ViewLocationAction(); viewLocationAction.setQuery("Googleplex, Mountain View, CA"); // creating a suggested action based on a view location action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("View map"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setViewLocationAction(viewLocationAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a view location suggested action suggestions = [ messages.ViewLocationAction('View map', 'reply:postback_data_1234', query='Googleplex, Mountain View, CA') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // create an view location action ViewLocationAction viewLocationAction = new ViewLocationAction { Query = "Googleplex Mountain View, CA" }; // Attach the view location action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { ViewLocationAction = viewLocationAction, Text = "View map", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Chia sẻ vị trí
Thao tác Chia sẻ vị trí cho phép người dùng gửi vị trí đến nhân viên hỗ trợ của bạn. Vị trí mà người dùng chỉ định không nhất thiết phải là vị trí của người dùng.
Ví dụ:
Mã sau đây sẽ gửi một thao tác chia sẻ vị trí. Để biết các tuỳ chọn định dạng và giá trị, hãy xem ShareLocationAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'Share your location', 'postbackData': 'postback_data_1234', 'shareLocationAction': {} } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define a share location suggested action let suggestions = [ { action: { text: 'Share your location', postbackData: 'postback_data_1234', shareLocationAction: { } } }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with a share location suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.ShareLocationAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a share location suggested action ShareLocationAction shareLocationAction = new ShareLocationAction(); // creating a suggested action based on a share location action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Share location"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setShareLocationAction(shareLocationAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a share location suggested action suggestions = [ messages.ShareLocationAction('Share location', 'reply:postback_data_1234') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a share location action ShareLocationAction shareLocationAction = new ShareLocationAction(); // Attach the share location action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { ShareLocationAction = shareLocationAction, Text = "Share location", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Mở URL
Thao tác Mở URL cho phép bạn hướng dẫn người dùng đến một trang web do nhân viên hỗ trợ của bạn chỉ định. Theo mặc định, trang web sẽ mở trong trình duyệt của người dùng. Nếu người dùng đã định cấu hình một ứng dụng mặc định cho trang web, thì ứng dụng đó sẽ mở ra. Trong trường hợp đó, biểu tượng trên nút hành động được đề xuất sẽ là biểu tượng của ứng dụng.
Thao tác Mở URL cũng hỗ trợ các thành phần hiển thị web tích hợp; hãy xem phần Mở URL bằng webview.
Ví dụ:
Mã sau đây gửi một thao tác mở URL. Để biết các tuỳ chọn định dạng và giá trị, hãy xem OpenUrlAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'Open Google', 'postbackData': 'postback_data_1234', 'openUrlAction': { 'url': 'https://www.google.com' } } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define an open URL suggested action let suggestions = [ { action: { text: 'Open Google', postbackData: 'postback_data_1234', openUrlAction: { url: 'https://www.google.com' } } }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with an open URL suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.OpenUrlAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating an open url suggested action OpenUrlAction openUrlAction = new OpenUrlAction(); openUrlAction.setUrl("https://www.google.com"); // creating a suggested action based on an open url action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Open Google"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setOpenUrlAction(openUrlAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create an open url suggested action suggestions = [ messages.OpenUrlAction('Open Google', 'reply:postback_data_1234', 'https://www.google.com') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create an open url action OpenUrlAction openUrlAction = new OpenUrlAction { Url = "https://www.google.com" }; // Attach the open url action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { OpenUrlAction = openUrlAction, Text = "Open Google", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Mở URL bằng webview
Thao tác Mở URL bằng webview sẽ tải trang web được chỉ định trong ứng dụng nhắn tin bằng công cụ kết xuất của trình duyệt mặc định. Điều này cho phép người dùng tương tác với trang web mà không cần rời khỏi cuộc trò chuyện RBM. Để bật chế độ xem web, hãy xem OpenURLApplication
.
Khung hiển thị web có 3 chế độ hiển thị. Để biết các tuỳ chọn định dạng và giá trị, hãy xem WebviewViewMode
.
- Toàn màn hình: Trang web chiếm toàn bộ màn hình
- Nửa màn hình: Trang web chiếm một nửa màn hình
- Cao: Trang web chiếm 3/4 màn hình
Ví dụ:
Mã sau đây gửi một URL Mở bằng thao tác webview. Để biết các tuỳ chọn định dạng và giá trị, hãy xem OpenURLAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 '{ "contentMessage": { "text": "Hello, world!", "suggestions": [ { "action": { "text": "Open Google", "postbackData": "postback_data_1234", "openUrlAction": { "url": "https://www.google.com", "application": "WEBVIEW", "webviewViewMode": "FULL", "description": "Accessibility description" } } } ] } }'
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.OpenUrlAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { String URL = "https://www.google.com"; // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // Create suggestion to view webpage in full mode Suggestion viewInFullMode = getUrlActionInWebview(URL, "FULL") suggestions.add(viewInFullMode); // create suggestion to view webpage in half mode Suggestion viewInHalfMode = getUrlActionInWebview(URL, "HALF") suggestions.add(viewInHalfMode); // create suggestion to view webpage in tall mode Suggestion viewInTallMode = getUrlActionInWebview(URL, "TALL") suggestions.add(viewInTallMode); // Send simple text message with the suggested action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); } /** * Creates a suggested action to open URL in webview. * * @return a suggestion object for an open URL in webview action . */ private Suggestion getUrlActionInWebview(String url, String viewMode) { // create an open url action OpenUrlAction openUrlAction = new OpenUrlAction(); openUrlAction.setUrl(url); openUrlAction.setApplication("WEBVIEW"); openUrlAction.setWebviewViewMode(viewMode); openUrlAction.setDescription("Accessibility description"); // attach the open url action to a suggested action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setOpenUrlAction(openUrlAction); suggestedAction.setText('display_text'); suggestedAction.setPostbackData('postback_data_123'); // attach the action to a suggestion object Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); return suggestion; }
Tạo sự kiện lịch
Thao tác Tạo sự kiện trên lịch sẽ mở ứng dụng lịch của người dùng và bắt đầu tạo một sự kiện mới bằng thông tin đã chỉ định.
Ví dụ:
Mã sau đây sẽ gửi một hành động tạo sự kiện trên lịch. Để biết các tuỳ chọn định dạng và giá trị, hãy xem CreateCalendarEventAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'Save to calendar', 'postbackData': 'postback_data_1234', 'fallbackUrl': 'https://www.google.com/calendar', 'createCalendarEventAction': { 'startTime': '2020-06-30T19:00:00Z', 'endTime': '2020-06-30T20:00:00Z', 'title': 'My calendar event', 'description': 'Description of the calendar event' } } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define a create calendar event suggested action let suggestions = [ { action: { text: 'Save to calendar', postbackData: 'postback_data_1234', createCalendarEventAction: { startTime: '2020-06-30T19:00:00Z', endTime: '2020-06-30T20:00:00Z', title: 'My calendar event', description: 'Description of the calendar event', }, } }, ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with a create calendar event suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.CreateCalendarEventAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a create calendar event suggested action CreateCalendarEventAction createCalendarEventAction = new CreateCalendarEventAction(); calendarEventAction.setTitle("My calendar event"); calendarEventAction.setDescription("Description of the calendar event"); calendarEventAction.setStartTime("2020-06-30T19:00:00Z"); calendarEventAction.setEndTime("2020-06-30T20:00:00Z"); // creating a suggested action based on a create calendar event action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Save to calendar"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setCreateCalendarEventAction(createCalendarEventAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a calendar event suggested action suggestions = [ messages.CreateCalendarEventAction('Save to Calendar', 'reply:postback_data_1234', '2020-06-30T19:00:00Z', '2020-06-30T20:00:00Z', 'My calendar event', 'Description of the calendar event') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a calendar event action CreateCalendarEventAction calendarEventAction = new CreateCalendarEventAction { Title = "My calendar event", Description = "Description of the calendar event", StartTime = "2020-06-30T19:00:00Z", EndTime = "2020-06-30T20:00:00Z" }; // Attach the calendar event action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { CreateCalendarEventAction = calendarEventAction, Text = "Save to calendar", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Soạn thư
Thao tác Soạn thư sẽ mở ứng dụng nhắn tin của người dùng để họ có thể gửi thư đến một số điện thoại được xác định trước, chẳng hạn như số điện thoại của Nhóm hỗ trợ khách hàng.
Có 3 loại thao tác trong Compose. Để xem ví dụ trực quan, hãy xem phần Soạn tin nhắn văn bản, tin nhắn thoại hoặc tin nhắn video.
- Soạn tin nhắn văn bản: Mở ứng dụng nhắn tin có văn bản được điền sẵn để người dùng gửi.
- Soạn tin nhắn âm thanh: Mở ứng dụng nhắn tin và chạy micrô để người dùng có thể ghi âm.
- Soạn tin nhắn video: Mở ứng dụng nhắn tin và chạy máy ảnh để người dùng có thể quay video.
Ví dụ:
Mã sau đây sẽ gửi một thao tác soạn thư. Để biết các tuỳ chọn định dạng và giá trị, hãy xem ComposeAction
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'text': 'Hello, world!', 'suggestions': [ { 'action': { 'text': 'Compose a text message', 'postbackData': 'postback_data_123', 'composeAction': { 'composeTextMessage': { 'phoneNumber': '+15556667777' 'text': 'Draft to go into the send message text field.' } } } },{ 'action': { 'text': 'Compose an audio message', 'postbackData': 'postback_data_456', 'composeAction': { 'composeRecordingMessage': { 'phoneNumber': '+15556667777' 'type': 'ACTION_TYPE_AUDIO' } } } },{ 'action': { 'text': 'Compose a video message', 'postbackData': 'postback_data_789', 'composeAction': { 'composeRecordingMessage': { 'phoneNumber': '+15556667777' 'type': 'ACTION_TYPE_VIDEO' } } } } ] } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Define a compose suggested action let suggestions = [ { action: { text: 'Compose a text message', postbackData: 'postback_data_123', 'composeAction': { 'composeTextMessage': { 'phoneNumber': '+15556667777' 'text': 'Draft to go into the send message text field.' } } } },{ action: { text: 'Compose an audio message', postbackData: 'postback_data_456', 'composeAction': { 'composeRecordingMessage': { 'phoneNumber': '+15556667777' 'type': 'ACTION_TYPE_AUDIO' } } } },{ action: { text: 'Compose a video message', postbackData: 'postback_data_789', 'composeAction': { 'composeRecordingMessage': { 'phoneNumber': '+15556667777' 'type': 'ACTION_TYPE_VIDEO' } } } } ]; let params = { messageText: 'Hello, world!', msisdn: '+12223334444', suggestions: suggestions, }; // Send a simple message with a dial suggested action rbmApiHelper.sendMessage(params, function(response) { console.log(response); });
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.ComposeAction; import com.google.api.services.rcsbusinessmessaging.v1.model.ComposeRecordingMessage; import com.google.api.services.rcsbusinessmessaging.v1.model.ComposeTextMessage; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating compose text suggested action Suggestion composeTextSuggestion = getComposeTextAction() suggestions.add(composeTextSuggestion); // creating compose audio suggested action Suggestion composeAudioSuggestion = getComposeAudioAction() suggestions.add(composeAudioSuggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); } /** * Creates a compose text suggested action. * @return A suggestion object for a compose text action. */ private Suggestion getComposeTextAction() { // creating a compose text suggested action ComposeTextMessage message = new ComposeTextMessage(); message.setPhoneNumber("+12223334444"); message.setText("Draft to go into the send message text field."); ComposeAction composeAction = new ComposeAction(); composeAction.setComposeTextMessage(message); // creating a suggested action based on a compose text action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Send a text message"); suggestedAction.setPostbackData("postback_data_123"); suggestedAction.setComposeAction(composeAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); return suggestion; } /** * Creates a compose audio suggested action. * @return A suggestion object for a compose audio action. */ private Suggestion getComposeAudioAction() { // creating a compose audio suggested action ComposeRecordingMessage message = new ComposeRecordingMessage(); message.setPhoneNumber("+12223334444"); message.setType("ACTION_TYPE_AUDIO"); ComposeAction composeAction = new ComposeAction(); composeAction.setComposeRecordingMessage(message); // creating a suggested action based on a compose text action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Send an audio message"); suggestedAction.setPostbackData("postback_data_456"); suggestedAction.setComposeAction(composeAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); return suggestion; }
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a dial suggested action suggestions = [ messages.ComposeTextMessageAction( 'Send a text message', 'postback_data_123', '+15556667777', '') messages.ComposeRecordingMessageAction( 'Send an audio message', 'postback_data_456', '+15556667777', 'ACTION_TYPE_AUDIO') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a compose text suggested action ComposeTextMessage composeTextMessage = new ComposeTextMessage{ PhoneNumber = "+15556667777" Text = "Draft to go into the send message text field." }; ComposeAction composeAction = new ComposeAction { ComposeTextMessage = composeTextMessage }; // Creating a suggested action based on a compose action SuggestedAction suggestedAction = new SuggestedAction { Text = "Send a text message", PostbackData = "postback_data_123", ComposeAction = composeAction }; // Attach action to a suggestion Suggestion suggestion = new Suggestion { Action = suggestedAction }; Listsuggestions = new List { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );
Danh sách khối đề xuất
Nhân viên hỗ trợ của bạn sẽ gửi danh sách khối đề xuất kèm theo thông báo để hướng dẫn các hành động tiếp theo của người dùng. Danh sách khối chỉ hiển thị khi tin nhắn liên quan nằm ở cuối cuộc trò chuyện. Mọi tin nhắn tiếp theo trong cuộc trò chuyện (từ người dùng hoặc nhân viên hỗ trợ của bạn) sẽ ghi đè danh sách khối.
Các khối trong danh sách là câu trả lời đề xuất và hành động đề xuất.
Danh sách khối chứa tối đa 11 khối đề xuất và mỗi nhãn khối có thể có tối đa 25 ký tự.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem AgentContentMessage
.
Thẻ thông tin
Khi cần gửi một lượng lớn thông tin, nội dung nghe nhìn hoặc đề xuất có liên quan, bạn nên gửi thẻ thông tin chi tiết. Thẻ đa dạng thức cho phép nhân viên hỗ trợ gửi nhiều đơn vị thông tin trong một thông báo.
Thẻ đa dạng thức có thể chứa các mục sau:
- Hình ảnh hoặc video
- Văn bản tiêu đề
- Văn bản mô tả
- Danh sách câu trả lời và hành động được đề xuất (tối đa 4)
Thẻ đa dạng thức có thể chứa tất cả các mục được liệt kê, nhưng thẻ phải chứa ít nhất một hình ảnh, video hoặc tiêu đề thì mới hợp lệ. Một thẻ đa dạng thức có thể chứa tối đa bốn hành động được đề xuất hoặc câu trả lời được đề xuất. Không được chứa tổ hợp hành động đề xuất và câu trả lời đề xuất trên một thẻ.
Nhân viên hỗ trợ của bạn có thể gửi nhiều thẻ thông tin chi tiết cùng nhau trong một băng chuyền thẻ thông tin chi tiết.
Kích thước tối đa của tải trọng thẻ đa dạng thức là 250 KB. Xem các phương pháp hay nhất về giới hạn và đề xuất về kích thước tệp nội dung đa phương tiện.
Chiều cao thẻ
Thẻ mở rộng theo chiều dọc để phù hợp với nội dung. Thẻ đa dạng thức có chiều cao tối thiểu là 112 DP và chiều cao tối đa là 344 DP. Nếu nội dung của một thẻ không đủ lớn để lấp đầy chiều cao tối thiểu của thẻ, thì thẻ sẽ mở rộng và lấp đầy khoảng trắng cho chiều cao còn lại.
Nội dung nghe nhìn trong thẻ đa dạng thức phải phù hợp với một trong ba chiều cao sau:
- Ngắn: 112 DP
- Trung bình: 168 DP
- Cao: 264 DP
Nếu nội dung nghe nhìn không vừa với kích thước trong thẻ theo chiều cao đã chọn, thì bản xem trước nội dung nghe nhìn sẽ được chọn bằng cách thu phóng và cắt nội dung nghe nhìn.
Ví dụ:
Mã sau đây sẽ gửi một thẻ thông tin chi tiết có hình ảnh và nội dung trả lời đề xuất. Để biết các tuỳ chọn định dạng và giá trị, hãy xem RichCard
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'richCard': { 'standaloneCard': { 'thumbnailImageAlignment': 'RIGHT', 'cardOrientation': 'VERTICAL', 'cardContent': { 'title': 'Hello, world!', 'description': 'RBM is awesome!', 'media': { 'height': 'TALL', 'contentInfo':{ 'fileUrl': 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif', 'forceRefresh': 'false' } }, 'suggestions': [ { 'reply': { 'text': 'Suggestion #1', 'postbackData': 'suggestion_1' } }, { 'reply': { 'text': 'Suggestion #2', 'postbackData': 'suggestion_2' } } ] } } } } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Suggested replies to be used in the card let suggestions = [ { reply: { 'text': 'Suggestion #1', 'postbackData': 'suggestion_1', }, }, { reply: { 'text': 'Suggestion #2', 'postbackData': 'suggestion_2', }, }, ]; // Image to be displayed by the card let imageUrl = 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif'; // Definition of the card parameters let params = { messageText: 'Hello, world!', messageDescription: 'RBM is awesome!', msisdn: '+12223334444', suggestions: suggestions, imageUrl: imageUrl, height: 'TALL', }; // Send rich card to device rbmApiHelper.sendRichCard(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.StandaloneCard; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.cards.CardOrientation; import com.google.rbm.cards.MediaHeight; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); suggestions.add( new SuggestionHelper("Suggestion #1", "suggestion_1").getSuggestedReply()); suggestions.add( new SuggestionHelper("Suggestion #2", "suggestion_2").getSuggestedReply()); String imageUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create a standalone rich card to send to the user StandaloneCard standaloneCard = rbmApiHelper.createStandaloneCard( "Hello, world!", "RBM is awesome!", imageUrl, MediaHeight.MEDIUM, CardOrientation.VERTICAL, suggestions ); rbmApiHelper.sendStandaloneCard(standaloneCard, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Suggested replies to be used in the card suggestions = [ messages.SuggestedReply('Suggestion #1', 'reply:suggestion_1'), messages.SuggestedReply('Suggestion #2', 'reply:suggestion_2') ] # Image to be displayed by the card image_url = 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif'; # Define rich card structure rich_card = messages.StandaloneCard('VERTICAL', 'Hello, world!', 'RBM is awesome!', suggestions, image_url, None, None, 'MEDIUM') # Append rich card and send to the user cluster = messages.MessageCluster().append_message(rich_card) cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; using RCSBusinessMessaging.Cards; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); List<Suggestion> suggestions = new List<Suggestion> { // Create suggestion chips new SuggestionHelper("Suggestion #1", "suggestion_1").SuggestedReply(), new SuggestionHelper("Suggestion #2", "suggestion_2").SuggestedReply() }; string imageUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create rich card with suggestions StandaloneCard standaloneCard = rbmApiHelper.CreateStandaloneCard( "Hello, world!", "RBM is awesome", imageUrl, MediaHeight.TALL, CardOrientation.VERTICAL, suggestions ); // Send rich card to user rbmApiHelper.SendStandaloneCard(standaloneCard, "+12223334444");Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Băng chuyền thẻ thông tin chi tiết
Khi bạn cần trình bày cho người dùng nhiều lựa chọn, hãy sử dụng băng chuyền thẻ thông tin chi tiết. Băng chuyền nối nhiều thẻ đa dạng thức với nhau, cho phép người dùng so sánh các mục và phản ứng với từng mục.
Băng chuyền có thể chứa tối thiểu 2 và tối đa 10 thẻ đa dạng thức. Thẻ đa dạng thức trong băng chuyền phải tuân thủ các yêu cầu chung về nội dung và chiều cao của thẻ đa dạng thức.
Kích thước tối đa của tải trọng băng chuyền thẻ đa dạng thức là 250 KB. Xem các phương pháp hay nhất về giới hạn và đề xuất về kích thước tệp nội dung đa phương tiện.
Cắt bớt
Tương tự như thẻ đa dạng thức, nhiều yếu tố (chẳng hạn như độ phân giải màn hình, mật độ điểm ảnh và lựa chọn ưu tiên của người dùng) ảnh hưởng đến cách thẻ xuất hiện trước người dùng cuối. Tuy nhiên, trong băng chuyền, chiều cao của một vài thẻ đầu tiên xác định chiều cao của tất cả thẻ trong băng chuyền, đồng thời chiều cao của thẻ ảnh hưởng đến việc cắt bớt tiêu đề, nội dung mô tả và đề xuất.
Nếu một thiết bị không thể hiển thị tất cả các phần tử của thẻ do các quy tắc ràng buộc về màn hình hoặc chiều cao thẻ, thì RBM sẽ cắt bớt thẻ cho đến khi thẻ có thể hiển thị trên thiết bị, bằng cách sử dụng logic sau:
- Rút ngắn phần mô tả xuống còn một dòng.
- Rút gọn tiêu đề thành một dòng.
- Bỏ qua các đề xuất không vừa với thẻ, bắt đầu từ cuối danh sách đã xác định.
- Bỏ qua nội dung mô tả.
- Bỏ qua tiêu đề.
Để tránh bị cắt bớt, hãy viết tiêu đề và nội dung mô tả càng ngắn càng tốt. Đối với nội dung nghe nhìn dạng dọc, hãy sử dụng tiêu đề và nội dung mô tả hoặc một nội dung đề xuất. Đối với nội dung nghe nhìn trung bình, hãy sử dụng tối đa 2 đề xuất. Đối với nội dung nghe nhìn ngắn, hãy sử dụng tối đa 3 đề xuất. Để vừa với 4 đề xuất, đừng thêm nội dung nghe nhìn vào thẻ.
Giữ cho các thẻ gần tương đương về kích thước và độ dài nội dung. Nếu cần, hãy tải trước băng chuyền bằng các thẻ lớn hơn để tránh bị cắt bớt trong các thẻ tiếp theo.
Ví dụ:
Mã sau đây sẽ gửi một băng chuyền thẻ thông tin chi tiết. Để biết các tuỳ chọn định dạng và giá trị, hãy xem RichCard
.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages?messageId=MESSAGE_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 "{ 'contentMessage': { 'richCard': { 'carouselCard': { 'cardWidth':'MEDIUM', 'cardContents': [ { 'title':'Card #1', 'description':'The description for card #1', 'suggestions': [ { 'reply': { 'text':'Card #1', 'postbackData':'card_1' } } ], 'media': { 'height':'MEDIUM', 'contentInfo': { 'fileUrl':'https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg', 'forceRefresh':'false' } } }, { 'title':'Card #2', 'description':'The description for card #2', 'suggestions': [ { 'reply': { 'text':'Card #2', 'postbackData':'card_2' } } ], 'media': { 'height':'MEDIUM', 'contentInfo': { 'fileUrl':'https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg', 'forceRefresh': 'false' } } } ] } } } }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Images for the carousel cards let card1Image = 'https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg'; let card2Image = 'https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg'; // Define the card contents for a carousel with two cards, each with one suggested reply let cardContents = [ { title: 'Card #1', description: 'The description for card #1', suggestions: [ { reply: { text: 'Card #1', postbackData: 'card_1', } } ], media: { height: 'MEDIUM', contentInfo: { fileUrl: card1Image, forceRefresh: false, }, }, }, { title: 'Card #2', description: 'The description for card #2', suggestions: [ { reply: { text: 'Card #2', postbackData: 'card_2', } } ], media: { height: 'MEDIUM', contentInfo: { fileUrl: card2Image, forceRefresh: false, }, }, }, ]; // Definition of carousel card let params = { msisdn: '+12223334444', cardContents: cardContents, }; // Send the device the carousel card defined above rbmApiHelper.sendCarouselCard(params, function(response) { console.log(response); });Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.CardContent; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.cards.CardOrientation; import com.google.rbm.cards.CardWidth; import com.google.rbm.cards.MediaHeight; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); List cardContents = new ArrayList(); // Images for the carousel cards String card1Image = "https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg"; // Create suggestions for first carousel card List card1Suggestions = new ArrayList(); card1Suggestions.add( new SuggestionHelper("Card #1", "card_1")); cardContents.add( new StandaloneCardHelper( "Card #1", "The description for card #1", card1Image, card1Suggestions) .getCardContent(MediaHeight.SHORT) ); // Images for the carousel cards String card2Image = "https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg"; // Create suggestions for second carousel card List card2Suggestions = new ArrayList(); card2Suggestions.add( new SuggestionHelper("Card #2", "card_2")); cardContents.add( new StandaloneCardHelper( "Card #2", "The description for card #2", card2Image, card2Suggestions) .getCardContent(MediaHeight.SHORT) ); // Send the carousel to the user rbmApiHelper.sendCarouselCards(cardContents, CardWidth.MEDIUM, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Images for the carousel cards card_image_1 = 'https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg'; card_image_2 = 'https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg'; # Suggested replies to be used in the cards suggestions1 = [ messages.SuggestedReply('Card #1', 'reply:card_1') ] suggestions2 = [ messages.SuggestedReply('Card #2', 'reply:card_2') ] # Define the card contents for a carousel with two cards, # each with one suggested reply card_contents = [] card_contents.append(messages.CardContent('Card #1', 'The description for card #1', card_image_1, 'MEDIUM', suggestions1)) card_contents.append(messages.CardContent('Card #2', 'The description for card #2', card_image_2, 'MEDIUM', suggestions2)) # Send the device the carousel card defined above carousel_card = messages.CarouselCard('MEDIUM', card_contents) cluster = messages.MessageCluster().append_message(carousel_card) cluster.send_to_msisdn('+12223334444')Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; using RCSBusinessMessaging.Cards; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Image references to be used in the carousel cards string card1Image = "https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg"; string card2Image = "https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg"; // Suggestion chip lists to be used in carousel cards List<Suggestion> suggestions1 = new List<Suggestion> { new SuggestionHelper("Card #1", "card_1").SuggestedReply() }; List<Suggestion> suggestions2 = new List<Suggestion> { new SuggestionHelper("Card #2", "card_2").SuggestedReply() }; // Create the card content for the carousel List<CardContent> cardContents = new List<CardContent> { // Add items as card content new StandaloneCardHelper( "Card #1", "The description for card #1", card1Image, suggestions1).GetCardContent(), new StandaloneCardHelper( "Card #2", "The description for card #2", card2Image, suggestions2).GetCardContent() }; // Send the carousel to the user rbmApiHelper.SendCarouselCards(cardContents, CardWidth.MEDIUM, msisdn);Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.