عوامل RBM با ارسال و دریافت پیام با کاربران ارتباط برقرار می کنند. برای ارسال پیام به کاربران، نماینده شما درخواستهای پیام را به RCS Business Messaging API ارسال میکند. یک درخواست میتواند شامل متن، کارت غنی، تصویر یا ویدیو و همچنین پاسخهای پیشنهادی و اقدامات پیشنهادی باشد.
اگر به کاربری که دستگاهش از RCS پشتیبانی نمیکند یا RCS را فعال نمیکند پیامی ارسال کنید، پلتفرم RBM خطای 404 را برمیگرداند. در این صورت میتوانید از طریق روشهای بازگشتی تعریفشده در زیرساخت خود، سعی کنید به کاربر دسترسی پیدا کنید.
اگر به یک کاربر RCS در شبکهای که عامل شما هنوز راهاندازی نشده است، یا در شبکهای که ترافیک RCS را فعال نکرده است، پیام ارسال کنید، پلتفرم RBM خطای 403 را برمیگرداند.
اگر پیامی با ویژگیهایی ارسال کنید که دستگاه کاربر از آن پشتیبانی نمیکند، پلتفرم RBM خطایی را برمیگرداند و پیام شما را تحویل نمیدهد.
به عنوان بخشی از استراتژی پیامرسانی چند کاناله، بهتر است پیامهایی را که پس از مدت زمانی معقول تحویل داده نشدهاند لغو کنید و از طریق کانال دیگری ارسال کنید. برای لغو خودکار پیام ها در یک زمان از پیش تعریف شده، انقضای پیام را تنظیم کنید.
گیرنده آفلاین است
اگر گیرنده آفلاین باشد، پلتفرم RBM همچنان پیامی را برای تحویل میپذیرد. شما یک پاسخ 200 OK دریافت میکنید و پلتفرم RBM پیام را نگه میدارد و به مدت 30 روز برای تحویل مجدد تلاش میکند. نیازی به درخواست RBM برای ارسال مجدد پیام نیست.
RBM 30 روز پس از ارسال پیامهای تحویلنگرفته را حذف میکند.
بسته به مورد استفاده نماینده خود، ممکن است بخواهید قبل از این مهلت زمانی 30 روزه، پیام تحویلنشده را لغو کنید . لغو میتواند از دریافت پیام قدیمی توسط کاربران آفلاین هنگام بازگشت به اینترنت جلوگیری کند. چندین راه برای لغو یک پیام وجود دارد:
- یک درخواست ابطال برای شروع ابطال ارسال کنید .
- انقضای پیام را تنظیم کنید تا به طور خودکار پیام در زمان مناسب لغو شود.
انقضای پیام را تنظیم کنید
آیا زمان پیام نماینده شما حساس است؟ به عنوان مثال، OTP ها فقط برای یک دوره کوتاه معتبر هستند. پیشنهادات با زمان محدود منقضی می شود. و یادآوریهای قرار بعد از تاریخ قرار دیگر مرتبط نیستند. برای کمک به اطمینان از ارسال به موقع و مرتبط، انقضای پیام را تنظیم کنید. این می تواند از دریافت محتوای قدیمی کاربران آفلاین در هنگام بازگشت به اینترنت جلوگیری کند. انقضا همچنین نشانه خوبی برای استفاده از استراتژی پیامرسانی مجدد است تا کاربران اطلاعات مورد نیاز خود را به موقع دریافت کنند.
برای تنظیم انقضای پیام، یکی از فیلدهای زیر را در پیام عامل مشخص کنید:
-
expireTime
: زمان دقیق در UTC زمانی که پیام منقضی می شود. -
ttl
(زمان برای زندگی): مدت زمان قبل از انقضای پیام.
برای گزینههای قالببندی و مقدار، AgentMessage
ببینید.
هنگامی که پیام منقضی می شود، پلت فرم RBM تلاش برای ارائه پیام را متوقف می کند و به طور خودکار لغو می شود. با این حال، این ممکن است در موارد نادر شکست بخورد. برای مثال، API میتواند لغو را در زمانی که پلتفرم RBM در حال تحویل پیام است، راهاندازی کند. برای تأیید اینکه آیا پیام منقضی شده با موفقیت ابطال شده است یا خیر، RBM یک رویداد اعلان به وب هوک شما ارسال می کند.
حداکثر مقدار ttl
و expireTime
15 روز پس از ارسال پیام است.
محدودیت اندازه پیام
حداکثر اندازه کل AgentMessage رشته ای 250 کیلوبایت است. کارت های غنی و سایر رسانه ها به این محدودیت اندازه کمک می کنند. بخش متنی پیام دارای محدودیت خاص خود 3072 کاراکتر است.
حداکثر حجم فایل قابل ارسال از طریق RBM 100 مگابایت است. یک پیام RBM منفرد می تواند تنها یک فایل PDF یا فایل رسانه ای ضمیمه داشته باشد. برای اطلاعات بیشتر به فایل های رسانه و PDF مراجعه کنید.
متن
ساده ترین پیام ها از متن ساخته شده اند. پیامهای متنی برای انتقال اطلاعات بدون نیاز به تصاویر بصری، تعامل پیچیده یا پاسخ مناسب هستند.
مثال
کد زیر یک پیام متنی ساده ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", );این کد گزیده ای از یک عامل نمونه RBM است.
محتوای پیام اصلی - تبدیل پیامک
اپراتورها مدل های صورتحساب را برای پشتیبانی از انتقال پیامک به RBM معرفی کرده اند. پیام RBM حاوی حداکثر 160 کاراکتر UTF-8، پیام اصلی نامیده می شود.
هنگام ساخت یک درخواست برای ارسال یک پیام اصلی، به یاد داشته باشید که کاراکترها به عنوان 1 بایت (UTF-8) شمارش می شوند. اگر پیامی حاوی کاراکترهای خاص مانند ایموجی یا مجموعه کاراکترهای چند بایتی ارسال کنید، هر کاراکتر به عنوان 2 کاراکتر UTF-8 محاسبه می شود.
مقداری متن را در کادر وارد کنید تا طول آن را بررسی کنید:
رمزهای عبور یکبار مصرف برای تأیید کاربر
میتوانید از RBM برای ارسال رمزهای عبور یکبار مصرف (OTP) برای تأیید خودکار کاربر با SMS Retriever API استفاده کنید. برای کسب اطلاعات بیشتر در مورد SMS Retriever و APIهای مرتبط، به مستندات SMS Retriever مراجعه کنید. برای جزئیات درباره تأیید خودکار کاربر در برنامههایی که با SMS Retriever API ثبتنام کردهاند، این نمودار جریان را ببینید.
در طول فرآیند تأیید، API SMS Retriever به پیام RBM گوش می دهد. این پیام باید حاوی یک OTP و یک هش باشد که برنامه را شناسایی کند. پس از تطبیق هش با برنامه، OTP استخراج شده و برای تأیید خودکار کاربر به برنامه ارسال می شود.
در اینجا یک نمونه پیام متنی RBM برای تأیید کاربر آمده است: کد شما <OTP> <app hash> است.
به عنوان مثال، Your code is 123456 M8tue43FGT.
فایل های رسانه ای و پی دی اف
وقتی پیامی با تصویر، ویدیو، فایل صوتی یا PDF ارسال میکنید، نماینده شما باید یک URL در دسترس عموم برای محتوا ارائه کند یا فایل را مستقیماً آپلود کند. برای فایلهای رسانهای، میتوانید یک تصویر کوچک نیز مشخص کنید که به کاربران اجازه میدهد پیشنمایش محتوا را قبل از کلیک بر روی آن مشاهده کنند. برای فایلهای صوتی، ویجت صوتی پیشفرض بهعنوان مکاننما استفاده میشود.
پلتفرم RBM فایلها را به مدت 60 روز در حافظه پنهان نگه میدارد و API شناسه فایلی را که نماینده شما میتواند در پیامها به کاربران اضافه کند، برمیگرداند. پس از 60 روز، RBM فایل ها را از حافظه پنهان حذف می کند.
هنگام تعیین فایلها بر اساس URL، بهترین کار این است که contentMessage.forceRefresh
را روی false
تنظیم کنید. تنظیم contentMessage.forceRefresh
روی true
RBM را مجبور میکند تا محتوای جدید را از URL مشخص شده دریافت کند، حتی اگر محتوای URL در حافظه پنهان باشد، که زمان تحویل پیام را برای کاربران افزایش میدهد.
بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل مشاهده کنید.
نمونه URL فایل
کد زیر یک تصویر را ارسال می کند. برای گزینه های قالب بندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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");این کد گزیده ای از یک عامل نمونه RBM است.
از طرف دیگر، میتوانید قبل از ارسال رسانه در پیامی با files.create
، آن را آپلود کنید.
نمونه آپلود فایل
کد زیر یک فایل ویدئویی و یک فایل تصویر کوچک را آپلود می کند، سپس هر دو فایل را در یک پیام ارسال می کند. برای گزینههای قالببندی و مقدار، به files.create
و 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' } } }"
انواع رسانه های پشتیبانی شده
RBM انواع رسانه های زیر را پشتیبانی می کند:
نوع رسانه | نوع سند | پسوند | با کارت های غنی کار می کند |
---|---|---|---|
برنامه/ogg | صدای OGG | ogx | خیر |
اپلیکیشن/pdf | خیر | ||
صوتی/aac | صوتی AAC | .aac | خیر |
صوتی/mp3 | صوتی MP3 | mp3 | خیر |
صوتی/MPEG | صدای MPEG | mpeg | خیر |
صدا/mpg | صدای MPG | mp3 | خیر |
صوتی/mp4 | صوتی MP4 | mp4 | خیر |
صوتی/mp4-latm | صدای MP4-latm | mp4 | خیر |
صدا/3gpp | صدای 3GPP | .3gp | خیر |
تصویر/jpeg | JPEG | jpeg، .jpg | بله |
تصویر/گیف | GIF | .gif | بله |
تصویر/png | PNG | .png | بله |
ویدیو/h263 | ویدیوی H263 | h263 | بله |
ویدئو/m4v | ویدئوی M4V | m4v | بله |
ویدئو/mp4 | ویدیو MP4 | mp4 | بله |
ویدئو/mpeg4 | ویدئو MPEG-4 | mp4، .m4p | بله |
ویدئو/MPEG | ویدئو MPEG | mpeg | بله |
ویدئو/وب | ویدئو WEBM | .webm | بله |
پاسخ های پیشنهادی
پاسخهای پیشنهادی با ارائه پاسخهایی که نماینده شما میداند چگونه به آنها واکنش نشان دهد، کاربران را در گفتگوها راهنمایی میکند. نماینده شما پاسخهای پیشنهادی را در فهرستهای تراشه پیشنهادی یا کارتهای غنی ارسال میکند.
هنگامی که کاربر روی یک پاسخ پیشنهادی ضربه میزند، نماینده شما رویدادی را دریافت میکند که حاوی متن پاسخ و دادههای بازپسگیری است.
پاسخ های پیشنهادی حداکثر 25 کاراکتر دارند.
مثال
کد زیر متنی را با دو پاسخ پیشنهادی ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
اقدامات پیشنهادی
کنشهای پیشنهادی با کنار گذاشتن عملکرد داخلی دستگاههایشان، کاربران را از طریق مکالمات راهنمایی میکند. نماینده شما میتواند به کاربران پیشنهاد کند شمارهای را شمارهگیری کنند، یک مکان را روی نقشه باز کنند، یک مکان را به اشتراک بگذارند، یک URL باز کنند یا یک رویداد تقویم ایجاد کنند. نماینده شما اقدامات پیشنهادی را در لیست های تراشه پیشنهادی یا کارت های غنی ارسال می کند.
وقتی کاربر روی یک کنش پیشنهادی ضربه میزند، نماینده شما رویدادی را دریافت میکند که حاوی دادههای پسبازگشت کنش است.
اقدامات پیشنهادی حداکثر 25 کاراکتر دارند.
برای گزینههای قالببندی و مقدار، به SuggestedAction
مراجعه کنید.
یک شماره بگیرید
عمل شماره گیری کاربر را راهنمایی می کند تا شماره تلفن مشخص شده توسط نماینده شما را شماره گیری کند. شماره تلفنها فقط میتوانند شامل ارقام ( 0-9
)، علامت مثبت ( +
)، ستاره ( *
) و علامت عدد ( #
) باشند. فرمت بین المللی E.164 (به عنوان مثال +14155555555
) پشتیبانی می شود اما لازم نیست. یعنی هر دو +14155555555
و 1011
ورودی معتبر هستند.
مثال
کد زیر یک عمل شماره گیری را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک مکان را مشاهده کنید
عملکرد View location یک مکان را در برنامه نقشه پیش فرض کاربر نشان می دهد. شما می توانید مکان را بر اساس طول و عرض جغرافیایی یا با پرس و جو بر اساس مکان فعلی کاربر مشخص کنید. همچنین می توانید یک برچسب سفارشی برای پینی که در برنامه نقشه نمایش داده می شود تنظیم کنید.
مثال
کد زیر یک عملکرد مکان نمایش را ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
مکان را به اشتراک بگذارید
عملکرد اشتراکگذاری موقعیت مکانی به کاربر امکان میدهد موقعیت مکانی را برای نماینده شما ارسال کند. مکانی که کاربر مشخص می کند لزوماً موقعیت مکانی کاربر نیست.
مثال
کد زیر یک اقدام مکان اشتراک گذاری را ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک URL باز کنید
عمل باز کردن URL به شما امکان می دهد کاربران را به صفحه وب مشخص شده توسط نماینده خود راهنمایی کنید. به طور پیش فرض، صفحه وب در مرورگر کاربر باز می شود. اگر کاربر یک برنامه پیشفرض برای صفحه وب پیکربندی کرده باشد، آن برنامه به جای آن باز میشود. در این صورت، نماد روی دکمه اقدام پیشنهادی، نماد برنامه خواهد بود.
عمل باز URL همچنین از نمای وب یکپارچه پشتیبانی می کند. باز کردن URL با مشاهده وب را ببینید.
مثال
کد زیر یک اقدام URL باز ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک URL با نمایش وب باز کنید
عمل باز کردن URL با مشاهده وب، صفحه وب مشخص شده را در داخل برنامه پیام رسانی با موتور رندر مرورگر پیش فرض شما بارگیری می کند. این به کاربر اجازه می دهد تا بدون ترک مکالمه RBM با صفحه وب ارتباط برقرار کند. برای فعال کردن نمای وب، به OpenURLApplication
مراجعه کنید.
نمای وب دارای سه حالت نمایش است. برای گزینههای قالببندی و مقدار، به WebviewViewMode
مراجعه کنید.
- کامل: صفحه وب تمام صفحه را اشغال می کند
- نیمه: صفحه وب نیمی از صفحه را اشغال می کند
- بلند: صفحه وب سه چهارم صفحه را اشغال می کند
مثال
کد زیر یک URL باز با عمل مشاهده وب ارسال می کند. برای گزینههای قالببندی و مقدار، به 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" } } } ] } }'
جاوا
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; }
یک رویداد تقویم ایجاد کنید
عمل ایجاد رویداد تقویم، برنامه تقویم کاربر را باز می کند و شروع به ایجاد یک رویداد جدید با اطلاعات مشخص شده می کند.
مثال
کد زیر یک اقدام رویداد ایجاد تقویم را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
پیام ها را بنویسید
عملکرد نوشتن، برنامه پیامرسانی کاربر را باز میکند تا آنها بتوانند به یک شماره تلفن از پیش تعریفشده، مانند شماره پشتیبانی مشتری، پیام ارسال کنند.
سه نوع اکشن Compose وجود دارد. برای مثالهای تصویری، به نوشتن پیام نوشتاری، صوتی یا ویدیویی مراجعه کنید.
- نوشتن پیام نوشتاری : برنامه پیام رسانی را با متن از پیش پر شده برای ارسال توسط کاربر باز می کند.
- نوشتن پیام صوتی : برنامه پیامرسانی را باز میکند و میکروفون را راهاندازی میکند تا کاربر بتواند صدا را ضبط کند.
- نوشتن پیام ویدیویی : برنامه پیامرسانی را باز میکند و دوربین را راهاندازی میکند تا کاربر بتواند ویدیو ضبط کند.
مثال
کد زیر یک اقدام نوشتن ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });
جاوا
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; }
پایتون
# 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')
سی شارپ
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 );
لیست تراشه های پیشنهادی
نماینده شما لیست های تراشه های پیشنهادی را با پیام هایی برای هدایت اقدامات بعدی کاربران ارسال می کند. لیست تراشه فقط زمانی نمایش داده می شود که پیام مرتبط در پایین مکالمه باشد. هر پیام بعدی در مکالمه (از طرف کاربر یا نماینده شما) فهرست تراشه ها را بازنویسی می کند.
تراشه های موجود در لیست پاسخ های پیشنهادی و اقدامات پیشنهادی هستند.
لیست تراشه ها حداکثر شامل 11 تراشه پیشنهادی است و هر برچسب تراشه می تواند حداکثر 25 کاراکتر داشته باشد.
برای گزینه های قالب بندی و مقدار، AgentContentMessage
ببینید.
کارت های غنی
هنگامی که نیاز به ارسال تکه ای از اطلاعات، رسانه یا پیشنهادات مرتبط دارید، باید یک کارت غنی ارسال کنید. کارت های غنی به نماینده شما اجازه می دهند چندین واحد اطلاعات را در یک پیام ارسال کند.
کارت های غنی می توانند شامل موارد زیر باشند:
- یک تصویر یا ویدیو
- متن عنوان
- متن توضیحات
- فهرستی از پاسخهای پیشنهادی و اقدامات پیشنهادی (حداکثر 4)
یک کارت غنی میتواند شامل همه موارد فهرست شده باشد، اما یک کارت باید حداقل دارای یک تصویر، ویدیو یا عنوان باشد تا معتبر باشد. یک کارت غنی میتواند حداکثر شامل چهار اقدام پیشنهادی یا پاسخ پیشنهادی باشد. نمیتواند شامل ترکیبی از اقدامات پیشنهادی و پاسخهای پیشنهادی روی یک کارت باشد.
نماینده شما می تواند چندین کارت غنی را با هم در یک چرخ فلک کارت غنی ارسال کند.
حداکثر اندازه یک بار کارت غنی 250 کیلوبایت است. بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل رسانه مشاهده کنید.
ارتفاع کارت
کارت ها به صورت عمودی گسترش می یابند تا با محتویاتشان مطابقت داشته باشند. کارت های ریچ دارای حداقل ارتفاع 112 DP و حداکثر ارتفاع 344 DP هستند. اگر محتویات کارت به اندازه کافی بزرگ نباشد که حداقل ارتفاع کارت را پر کند، کارت گسترش می یابد و ارتفاع اضافی را با فضای خالی پر می کند.
رسانه موجود در کارت های غنی باید یکی از سه ارتفاع را داشته باشد:
- کوتاه: 112 DP
- متوسط: 168 DP
- قد: 264 DP
اگر رسانه با ابعاد درون کارت با توجه به ارتفاع انتخاب شده مطابقت نداشته باشد، پیش نمایش رسانه با بزرگنمایی و برش رسانه انتخاب می شود.
مثال
کد زیر یک کارت غنی با یک تصویر و پاسخ های پیشنهادی ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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");این کد گزیده ای از یک عامل نمونه RBM است.
چرخ و فلک کارت غنی
هنگامی که نیاز به ارائه چندین گزینه برای کاربر دارید، از یک چرخ فلک کارت غنی استفاده کنید. چرخ فلکها چندین کارت غنی را به هم متصل میکنند و به کاربران امکان میدهند آیتمها را با هم مقایسه کنند و به هر کدام به صورت جداگانه واکنش نشان دهند.
چرخ فلک ها ممکن است حاوی حداقل دو و حداکثر ده کارت غنی باشند. کارت های غنی در چرخ و فلک باید با الزامات کلی کارت غنی برای محتوا و ارتفاع مطابقت داشته باشند.
حداکثر اندازه یک بار کاروسل کارت غنی 250 کیلوبایت است. بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل رسانه مشاهده کنید.
کوتاه کردن
مانند کارتهای غنی ، بسیاری از عوامل (مانند وضوح صفحه، تراکم پیکسل و ترجیحات کاربر) بر نحوه ظاهر کارتها برای کاربران نهایی تأثیر میگذارند. با این حال، در یک چرخ فلک، ارتفاع چند کارت اول ارتفاع همه کارتهای چرخ و فلک را مشخص میکند و ارتفاع کارت بر عنوان، توضیحات و برش پیشنهاد تأثیر میگذارد.
اگر دستگاهی به دلیل محدودیتهای نمایشگر یا ارتفاع کارت نتواند همه عناصر کارت را نمایش دهد، RBM کارت را تا زمانی که بتواند روی دستگاه نمایش داده شود، با استفاده از منطق زیر کوتاه میکند:
- توضیحات را به یک خط کاهش دهید.
- عنوان را به یک خط کاهش دهید.
- از انتهای لیست تعریف شده، پیشنهادهایی را که در کارت نمی گنجند حذف کنید.
- توضیحات را حذف کنید
- عنوان را حذف کنید
برای جلوگیری از کوتاه شدن، عناوین و توضیحات را تا حد امکان کوتاه نگه دارید. برای رسانه های بلند، از عنوان و توضیحات یا یک پیشنهاد استفاده کنید. برای رسانه های متوسط، حداکثر از دو پیشنهاد استفاده کنید. برای رسانه های کوتاه، حداکثر از سه پیشنهاد استفاده کنید. برای قرار دادن چهار پیشنهاد، رسانه را در کارت وارد نکنید.
کارتها را از نظر اندازه و طول محتوا تقریباً برابر نگه دارید، و در صورت لزوم، کارتهای بزرگتر را در چرخ و فلک قرار دهید تا از کوتاه شدن کارتهای بعدی جلوگیری شود.
مثال
کد زیر یک چرخ فلک کارت غنی را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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);این کد گزیده ای از یک عامل نمونه RBM است.
عوامل RBM با ارسال و دریافت پیام با کاربران ارتباط برقرار می کنند. برای ارسال پیام به کاربران، نماینده شما درخواستهای پیام را به RCS Business Messaging API ارسال میکند. یک درخواست میتواند شامل متن، کارت غنی، تصویر یا ویدیو و همچنین پاسخهای پیشنهادی و اقدامات پیشنهادی باشد.
اگر به کاربری که دستگاهش از RCS پشتیبانی نمیکند یا RCS را فعال نمیکند پیامی ارسال کنید، پلتفرم RBM خطای 404 را برمیگرداند. در این صورت میتوانید از طریق روشهای بازگشتی تعریفشده در زیرساخت خود، سعی کنید به کاربر دسترسی پیدا کنید.
اگر به یک کاربر RCS در شبکهای که عامل شما هنوز راهاندازی نشده است، یا در شبکهای که ترافیک RCS را فعال نکرده است، پیام ارسال کنید، پلتفرم RBM خطای 403 را برمیگرداند.
اگر پیامی با ویژگیهایی ارسال کنید که دستگاه کاربر از آن پشتیبانی نمیکند، پلتفرم RBM خطایی را برمیگرداند و پیام شما را تحویل نمیدهد.
به عنوان بخشی از استراتژی پیامرسانی چند کاناله، بهتر است پیامهایی را که پس از مدت زمانی معقول تحویل داده نشدهاند لغو کنید و از طریق کانال دیگری ارسال کنید. برای لغو خودکار پیام ها در یک زمان از پیش تعریف شده، انقضای پیام را تنظیم کنید.
گیرنده آفلاین است
اگر گیرنده آفلاین باشد، پلتفرم RBM همچنان پیامی را برای تحویل میپذیرد. شما یک پاسخ 200 OK دریافت میکنید و پلتفرم RBM پیام را نگه میدارد و به مدت 30 روز برای تحویل مجدد تلاش میکند. نیازی به درخواست RBM برای ارسال مجدد پیام نیست.
RBM 30 روز پس از ارسال پیامهای تحویلنگرفته را حذف میکند.
بسته به مورد استفاده نماینده خود، ممکن است بخواهید قبل از این مهلت زمانی 30 روزه، پیام تحویلنشده را لغو کنید . لغو میتواند از دریافت پیام قدیمی توسط کاربران آفلاین هنگام بازگشت به اینترنت جلوگیری کند. چندین راه برای لغو یک پیام وجود دارد:
- یک درخواست ابطال برای شروع ابطال ارسال کنید .
- انقضای پیام را تنظیم کنید تا به طور خودکار پیام در زمان مناسب لغو شود.
انقضای پیام را تنظیم کنید
آیا زمان پیام نماینده شما حساس است؟ به عنوان مثال، OTP ها فقط برای یک دوره کوتاه معتبر هستند. پیشنهادات با زمان محدود منقضی می شود. و یادآوریهای قرار بعد از تاریخ قرار دیگر مرتبط نیستند. برای کمک به اطمینان از ارسال به موقع و مرتبط، انقضای پیام را تنظیم کنید. این می تواند از دریافت محتوای قدیمی کاربران آفلاین در هنگام بازگشت به اینترنت جلوگیری کند. انقضا همچنین نشانه خوبی برای استفاده از استراتژی پیامرسانی مجدد است تا کاربران اطلاعات مورد نیاز خود را به موقع دریافت کنند.
برای تنظیم انقضای پیام، یکی از فیلدهای زیر را در پیام عامل مشخص کنید:
-
expireTime
: زمان دقیق در UTC زمانی که پیام منقضی می شود. -
ttl
(زمان برای زندگی): مدت زمان قبل از انقضای پیام.
برای گزینههای قالببندی و مقدار، AgentMessage
ببینید.
هنگامی که پیام منقضی می شود، پلت فرم RBM تلاش برای ارائه پیام را متوقف می کند و به طور خودکار لغو می شود. با این حال، این ممکن است در موارد نادر شکست بخورد. برای مثال، API میتواند لغو را در زمانی که پلتفرم RBM در حال تحویل پیام است، راهاندازی کند. برای تأیید اینکه آیا پیام منقضی شده با موفقیت ابطال شده است یا خیر، RBM یک رویداد اعلان به وب هوک شما ارسال می کند.
حداکثر مقدار ttl
و expireTime
15 روز پس از ارسال پیام است.
محدودیت اندازه پیام
حداکثر اندازه کل AgentMessage رشته ای 250 کیلوبایت است. کارت های غنی و سایر رسانه ها به این محدودیت اندازه کمک می کنند. بخش متنی پیام دارای محدودیت خاص خود 3072 کاراکتر است.
حداکثر حجم فایل قابل ارسال از طریق RBM 100 مگابایت است. یک پیام RBM منفرد می تواند تنها یک فایل PDF یا فایل رسانه ای ضمیمه داشته باشد. برای اطلاعات بیشتر به فایل های رسانه و PDF مراجعه کنید.
متن
ساده ترین پیام ها از متن ساخته شده اند. پیامهای متنی برای انتقال اطلاعات بدون نیاز به تصاویر بصری، تعامل پیچیده یا پاسخ مناسب هستند.
مثال
کد زیر یک پیام متنی ساده ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", );این کد گزیده ای از یک عامل نمونه RBM است.
محتوای پیام اصلی - تبدیل پیامک
اپراتورها مدل های صورتحساب را برای پشتیبانی از انتقال پیامک به RBM معرفی کرده اند. پیام RBM حاوی حداکثر 160 کاراکتر UTF-8، پیام اصلی نامیده می شود.
هنگام ساخت یک درخواست برای ارسال یک پیام اصلی، به یاد داشته باشید که کاراکترها به عنوان 1 بایت (UTF-8) شمارش می شوند. اگر پیامی حاوی کاراکترهای خاص مانند ایموجی یا مجموعه کاراکترهای چند بایتی ارسال کنید، هر کاراکتر به عنوان 2 کاراکتر UTF-8 محاسبه می شود.
مقداری متن را در کادر وارد کنید تا طول آن را بررسی کنید:
رمزهای عبور یکبار مصرف برای تأیید کاربر
میتوانید از RBM برای ارسال رمزهای عبور یکبار مصرف (OTP) برای تأیید خودکار کاربر با SMS Retriever API استفاده کنید. برای کسب اطلاعات بیشتر در مورد SMS Retriever و APIهای مرتبط، به مستندات SMS Retriever مراجعه کنید. برای جزئیات درباره تأیید خودکار کاربر در برنامههایی که با SMS Retriever API ثبتنام کردهاند، این نمودار جریان را ببینید.
در طول فرآیند تأیید، API SMS Retriever به پیام RBM گوش می دهد. این پیام باید حاوی یک OTP و یک هش باشد که برنامه را شناسایی کند. پس از تطبیق هش با برنامه، OTP استخراج شده و برای تأیید خودکار کاربر به برنامه ارسال می شود.
در اینجا یک نمونه پیام متنی RBM برای تأیید کاربر آمده است: کد شما <OTP> <app hash> است.
به عنوان مثال، Your code is 123456 M8tue43FGT.
فایل های رسانه ای و پی دی اف
وقتی پیامی با تصویر، ویدیو، فایل صوتی یا PDF ارسال میکنید، نماینده شما باید یک URL در دسترس عموم برای محتوا ارائه کند یا فایل را مستقیماً آپلود کند. برای فایلهای رسانهای، میتوانید یک تصویر کوچک نیز مشخص کنید که به کاربران اجازه میدهد پیشنمایش محتوا را قبل از کلیک بر روی آن مشاهده کنند. برای فایلهای صوتی، ویجت صوتی پیشفرض بهعنوان مکاننما استفاده میشود.
پلتفرم RBM فایلها را به مدت 60 روز در حافظه پنهان نگه میدارد و API شناسه فایلی را که نماینده شما میتواند در پیامها به کاربران اضافه کند، برمیگرداند. پس از 60 روز، RBM فایل ها را از حافظه پنهان حذف می کند.
هنگام تعیین فایلها بر اساس URL، بهترین کار این است که contentMessage.forceRefresh
را روی false
تنظیم کنید. تنظیم contentMessage.forceRefresh
روی true
RBM را مجبور میکند تا محتوای جدید را از URL مشخص شده دریافت کند، حتی اگر محتوای URL در حافظه پنهان باشد، که زمان تحویل پیام را برای کاربران افزایش میدهد.
بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل مشاهده کنید.
نمونه URL فایل
کد زیر یک تصویر را ارسال می کند. برای گزینه های قالب بندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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");این کد گزیده ای از یک عامل نمونه RBM است.
از طرف دیگر، میتوانید قبل از ارسال رسانه در پیامی با files.create
، آن را آپلود کنید.
نمونه آپلود فایل
کد زیر یک فایل ویدئویی و یک فایل تصویر کوچک را آپلود می کند، سپس هر دو فایل را در یک پیام ارسال می کند. برای گزینههای قالببندی و مقدار، به files.create
و 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' } } }"
انواع رسانه های پشتیبانی شده
RBM انواع رسانه های زیر را پشتیبانی می کند:
نوع رسانه | نوع سند | پسوند | با کارت های غنی کار می کند |
---|---|---|---|
برنامه/ogg | صدای OGG | ogx | خیر |
اپلیکیشن/pdf | خیر | ||
صوتی/aac | صوتی AAC | .aac | خیر |
صوتی / mp3 | صوتی MP3 | mp3 | خیر |
صوتی/MPEG | صدای MPEG | mpeg | خیر |
صدا/mpg | صدای MPG | mp3 | خیر |
صوتی/mp4 | صوتی MP4 | mp4 | خیر |
صوتی/mp4-latm | صدای MP4-latm | mp4 | خیر |
صدا/3gpp | صدای 3GPP | .3gp | خیر |
تصویر/jpeg | JPEG | jpeg، .jpg | بله |
تصویر/گیف | GIF | .gif | بله |
تصویر/png | PNG | .png | بله |
ویدیو/h263 | ویدیوی H263 | h263 | بله |
ویدئو/m4v | ویدئوی M4V | m4v | بله |
ویدئو/mp4 | ویدیو MP4 | mp4 | بله |
ویدئو/mpeg4 | ویدئو MPEG-4 | mp4، .m4p | بله |
ویدئو/MPEG | ویدئو MPEG | mpeg | بله |
ویدئو/وب | ویدئو WEBM | .webm | بله |
پاسخ های پیشنهادی
پاسخهای پیشنهادی با ارائه پاسخهایی که نماینده شما میداند چگونه به آنها واکنش نشان دهد، کاربران را در گفتگوها راهنمایی میکند. نماینده شما پاسخهای پیشنهادی را در فهرستهای تراشه پیشنهادی یا کارتهای غنی ارسال میکند.
هنگامی که کاربر روی یک پاسخ پیشنهادی ضربه میزند، نماینده شما رویدادی را دریافت میکند که حاوی متن پاسخ و دادههای بازپسگیری است.
پاسخ های پیشنهادی حداکثر 25 کاراکتر دارند.
مثال
کد زیر متنی را با دو پاسخ پیشنهادی ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
اقدامات پیشنهادی
کنشهای پیشنهادی با کنار گذاشتن عملکرد داخلی دستگاههایشان، کاربران را از طریق مکالمات راهنمایی میکند. نماینده شما میتواند به کاربران پیشنهاد کند شمارهای را شمارهگیری کنند، یک مکان را روی نقشه باز کنند، یک مکان را به اشتراک بگذارند، یک URL باز کنند یا یک رویداد تقویم ایجاد کنند. نماینده شما اقدامات پیشنهادی را در لیست های تراشه پیشنهادی یا کارت های غنی ارسال می کند.
وقتی کاربر روی یک کنش پیشنهادی ضربه میزند، نماینده شما رویدادی را دریافت میکند که حاوی دادههای پسبازگشت کنش است.
اقدامات پیشنهادی حداکثر 25 کاراکتر دارند.
برای گزینههای قالببندی و مقدار، به SuggestedAction
مراجعه کنید.
یک شماره بگیرید
عمل شماره گیری کاربر را راهنمایی می کند تا شماره تلفن مشخص شده توسط نماینده شما را شماره گیری کند. شماره تلفنها فقط میتوانند شامل ارقام ( 0-9
)، علامت مثبت ( +
)، ستاره ( *
) و علامت عدد ( #
) باشند. فرمت بین المللی E.164 (به عنوان مثال +14155555555
) پشتیبانی می شود اما لازم نیست. یعنی هر دو +14155555555
و 1011
ورودی معتبر هستند.
مثال
کد زیر یک عمل شماره گیری را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک مکان را مشاهده کنید
عملکرد View location یک مکان را در برنامه نقشه پیش فرض کاربر نشان می دهد. شما می توانید مکان را بر اساس طول و عرض جغرافیایی یا با پرس و جو بر اساس مکان فعلی کاربر مشخص کنید. همچنین می توانید یک برچسب سفارشی برای پینی که در برنامه نقشه نمایش داده می شود تنظیم کنید.
مثال
کد زیر یک عملکرد مکان نمایش را ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
مکان را به اشتراک بگذارید
عملکرد اشتراکگذاری موقعیت مکانی به کاربر امکان میدهد موقعیت مکانی را برای نماینده شما ارسال کند. مکانی که کاربر مشخص می کند لزوماً موقعیت مکانی کاربر نیست.
مثال
کد زیر یک اقدام مکان اشتراک گذاری را ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک URL باز کنید
عمل باز کردن URL به شما امکان می دهد کاربران را به صفحه وب مشخص شده توسط نماینده خود راهنمایی کنید. به طور پیش فرض، صفحه وب در مرورگر کاربر باز می شود. اگر کاربر یک برنامه پیشفرض برای صفحه وب پیکربندی کرده باشد، آن برنامه به جای آن باز میشود. در این صورت، نماد روی دکمه اقدام پیشنهادی، نماد برنامه خواهد بود.
عمل باز URL همچنین از نمای وب یکپارچه پشتیبانی می کند. باز کردن URL با مشاهده وب را ببینید.
مثال
کد زیر یک اقدام URL باز ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
یک URL با نمایش وب باز کنید
عمل باز کردن URL با مشاهده وب، صفحه وب مشخص شده را در داخل برنامه پیام رسانی با موتور رندر مرورگر پیش فرض شما بارگیری می کند. این به کاربر اجازه می دهد تا بدون ترک مکالمه RBM با صفحه وب ارتباط برقرار کند. برای فعال کردن نمای وب، به OpenURLApplication
مراجعه کنید.
نمای وب دارای سه حالت نمایش است. برای گزینههای قالببندی و مقدار، به WebviewViewMode
مراجعه کنید.
- کامل: صفحه وب تمام صفحه را اشغال می کند
- نیمه: صفحه وب نیمی از صفحه را اشغال می کند
- بلند: صفحه وب سه چهارم صفحه را اشغال می کند
مثال
کد زیر یک URL باز با عمل مشاهده وب ارسال می کند. برای گزینههای قالببندی و مقدار، به 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" } } } ] } }'
جاوا
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; }
یک رویداد تقویم ایجاد کنید
عمل ایجاد رویداد تقویم، برنامه تقویم کاربر را باز می کند و شروع به ایجاد یک رویداد جدید با اطلاعات مشخص شده می کند.
مثال
کد زیر یک اقدام رویداد ایجاد تقویم را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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 );این کد گزیده ای از یک عامل نمونه RBM است.
پیام ها را بنویسید
عملکرد نوشتن، برنامه پیامرسانی کاربر را باز میکند تا آنها بتوانند به یک شماره تلفن از پیش تعریفشده، مانند شماره پشتیبانی مشتری، پیام ارسال کنند.
سه نوع اکشن Compose وجود دارد. برای مثالهای تصویری، به نوشتن پیام نوشتاری، صوتی یا ویدیویی مراجعه کنید.
- نوشتن پیام نوشتاری : برنامه پیام رسانی را با متن از پیش پر شده برای ارسال توسط کاربر باز می کند.
- نوشتن پیام صوتی : برنامه پیامرسانی را باز میکند و میکروفون را راهاندازی میکند تا کاربر بتواند صدا را ضبط کند.
- نوشتن پیام ویدیویی : برنامه پیامرسانی را باز میکند و دوربین را راهاندازی میکند تا کاربر بتواند ویدیو ضبط کند.
مثال
کد زیر یک اقدام نوشتن ارسال می کند. برای گزینههای قالببندی و مقدار، 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); });
جاوا
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; }
پایتون
# 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')
سی شارپ
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 );
لیست تراشه های پیشنهادی
نماینده شما لیست های تراشه های پیشنهادی را با پیام هایی برای هدایت اقدامات بعدی کاربران ارسال می کند. لیست تراشه فقط زمانی نمایش داده می شود که پیام مرتبط در پایین مکالمه باشد. هر پیام بعدی در مکالمه (از طرف کاربر یا نماینده شما) فهرست تراشه ها را بازنویسی می کند.
تراشه های موجود در لیست پاسخ های پیشنهادی و اقدامات پیشنهادی هستند.
لیست تراشه ها حداکثر شامل 11 تراشه پیشنهادی است و هر برچسب تراشه می تواند حداکثر 25 کاراکتر داشته باشد.
برای گزینه های قالب بندی و مقدار، AgentContentMessage
ببینید.
کارت های غنی
هنگامی که نیاز به ارسال تکه ای از اطلاعات، رسانه یا پیشنهادات مرتبط دارید، باید یک کارت غنی ارسال کنید. کارت های غنی به نماینده شما اجازه می دهند چندین واحد اطلاعات را در یک پیام ارسال کند.
کارت های غنی می توانند شامل موارد زیر باشند:
- یک تصویر یا ویدیو
- متن عنوان
- متن توضیحات
- فهرستی از پاسخهای پیشنهادی و اقدامات پیشنهادی (حداکثر 4)
یک کارت غنی میتواند شامل همه موارد فهرست شده باشد، اما یک کارت باید حداقل دارای یک تصویر، ویدیو یا عنوان باشد تا معتبر باشد. یک کارت غنی میتواند حداکثر شامل چهار اقدام پیشنهادی یا پاسخ پیشنهادی باشد. نمیتواند شامل ترکیبی از اقدامات پیشنهادی و پاسخهای پیشنهادی روی یک کارت باشد.
نماینده شما می تواند چندین کارت غنی را با هم در یک چرخ فلک کارت غنی ارسال کند.
حداکثر اندازه یک بار کارت غنی 250 کیلوبایت است. بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل رسانه مشاهده کنید.
ارتفاع کارت
کارت ها به صورت عمودی گسترش می یابند تا با محتویاتشان مطابقت داشته باشند. کارت های ریچ دارای حداقل ارتفاع 112 DP و حداکثر ارتفاع 344 DP هستند. اگر محتویات کارت به اندازه کافی بزرگ نباشد که حداقل ارتفاع کارت را پر کند، کارت گسترش می یابد و ارتفاع اضافی را با فضای خالی پر می کند.
رسانه موجود در کارت های غنی باید یکی از سه ارتفاع را داشته باشد:
- کوتاه: 112 DP
- متوسط: 168 DP
- قد: 264 DP
اگر رسانه با ابعاد درون کارت با توجه به ارتفاع انتخاب شده مطابقت نداشته باشد، پیش نمایش رسانه با بزرگنمایی و برش رسانه انتخاب می شود.
مثال
کد زیر یک کارت غنی با یک تصویر و پاسخ های پیشنهادی ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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");این کد گزیده ای از یک عامل نمونه RBM است.
چرخ و فلک کارت غنی
هنگامی که نیاز به ارائه چندین گزینه برای کاربر دارید، از یک چرخ فلک کارت غنی استفاده کنید. چرخ فلکها چندین کارت غنی را به هم متصل میکنند و به کاربران امکان میدهند آیتمها را با هم مقایسه کنند و به هر کدام به صورت جداگانه واکنش نشان دهند.
چرخ فلک ها ممکن است حاوی حداقل دو و حداکثر ده کارت غنی باشند. کارت های غنی در چرخ و فلک باید با الزامات کلی کارت غنی برای محتوا و ارتفاع مطابقت داشته باشند.
حداکثر اندازه یک بار کاروسل کارت غنی 250 کیلوبایت است. بهترین روشها را برای توصیهها و محدودیتهای اندازه فایل رسانه مشاهده کنید.
کوتاه کردن
مانند کارتهای غنی ، بسیاری از عوامل (مانند وضوح صفحه، تراکم پیکسل و ترجیحات کاربر) بر نحوه ظاهر کارتها برای کاربران نهایی تأثیر میگذارند. با این حال، در یک چرخ فلک، ارتفاع چند کارت اول ارتفاع همه کارتهای چرخ و فلک را مشخص میکند و ارتفاع کارت بر عنوان، توضیحات و برش پیشنهاد تأثیر میگذارد.
اگر دستگاهی به دلیل محدودیتهای نمایشگر یا ارتفاع کارت نتواند همه عناصر کارت را نمایش دهد، RBM کارت را تا زمانی که بتواند روی دستگاه نمایش داده شود، با استفاده از منطق زیر کوتاه میکند:
- توضیحات را به یک خط کاهش دهید.
- عنوان را به یک خط کاهش دهید.
- از انتهای لیست تعریف شده، پیشنهادهایی را که در کارت نمی گنجند حذف کنید.
- توضیحات را حذف کنید
- عنوان را حذف کنید
برای جلوگیری از کوتاه شدن، عناوین و توضیحات را تا حد امکان کوتاه نگه دارید. برای رسانه های بلند، از عنوان و توضیحات یا یک پیشنهاد استفاده کنید. برای رسانه های متوسط، حداکثر از دو پیشنهاد استفاده کنید. برای رسانه های کوتاه، حداکثر از سه پیشنهاد استفاده کنید. برای قرار دادن چهار پیشنهاد، رسانه را در کارت وارد نکنید.
کارتها را از نظر اندازه و طول محتوا تقریباً برابر نگه دارید، و در صورت لزوم، کارتهای بزرگتر را در چرخ و فلک قرار دهید تا از کوتاه شدن کارتهای بعدی جلوگیری شود.
مثال
کد زیر یک چرخ فلک کارت غنی را ارسال می کند. برای گزینههای قالببندی و مقدار، به 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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(); }این کد گزیده ای از یک عامل نمونه RBM است.
پایتون
# 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')این کد گزیده ای از یک عامل نمونه RBM است.
سی شارپ
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);این کد گزیده ای از یک عامل نمونه RBM است.